Files
Ubuntu/03_NFS_MOUNTING.md
T

3.7 KiB

Монтирование NFS-шары из TrueNAS в VM

Краткая и практичная инструкция для подключения NFS-шары из TrueNAS к Linux‑виртуальной машине.


1. Подготовка на TrueNAS

  1. Создать отдельные dataset'ы под хранение данных и конфигов сервиса
MainPool/apps/config/<service>
  1. Настроить права доступа
  • Создай пользователя и группу и запомни uid и gid
  • Назначь владельца dataset:
    • User: nebaryshev, UID: 3000
    • Group: apps, GID: 568
  1. Создать две NFS Share
/mnt/MainPool/apps/config/<service>
/mnt/MainPool/apps/data/<service>
  • Mapall User: nebaryshev
  • Mapall Group: apps

mapall — все подключения к этой шаре будут мапится на nebaryshev и группу apps и любой сможет писать в датасет от лица nebaryshev

⚠️ Важно

NFS-шара должна указывать прямо на dataset.
Нельзя экспортировать /apps и монтировать /apps/config/<service> на клиенте.


2. Подключение на виртуальной машине

  1. Установить клиент
sudo apt update 
sudo apt install -y nfs-common
  1. Создать точку монтирования
sudo mkdir -p /srv/<service>/config
sudo mkdir -p /srv/<service>/data
  1. Примонтировать шару вручную
sudo mount -t nfs4 <truenas_ip>:/path/to/config /srv/<service>/config
sudo mount -t nfs4 <truenas_ip>:/path/to/data /srv/<service>/data
  1. Проверить права
ls -l /srv/<service>/config

Должны отображаться uid/gid пользователя из TrueNAS (mapall). UID, GID=3000,568 в моем случае

  1. Проверка записи без sudo:
touch /srv/<service>/config/test.txt
touch /srv/<service>/data/test.txt

Если файл создался — права настроены корректно.


3. Настройка автоматического монтирования

Для настройки автоматического монтирования необходимо дописать строки конфигурации в конец файла /etc/fstab (file system table)

  • Простой вариант
<truenas_ip>:/path/to/dataset  /mount/point  nfs4  defaults  0  0
  • Рекомендуемый вариант
<truenas_ip>:/path/to/dataset  /mount/point  nfs4  rw,hard,noatime,_netdev,x-systemd.automount  0  0

Что здесь важно:

  • rw — монтирование в режиме чтения и записи
  • hard — гарантирует целостность данных. Сервер ждет только успешную транзацкию
  • noatime — не обновлять access time при чтении файлов. Меньше нагрузка на сеть
  • _netdev — предотвращает попытки монтирования до поднятия сети при загрузке ВМ
  • x-systemd.automount — монтирование только при обращении. ВМ загружается быстро и не зависает, если NAS временно недоступен

После редактирования выполни:

sudo mount -a

Если ошибок нет — конфигурация корректна.