# Монтирование NFS-шары из TrueNAS в VM > Краткая и практичная инструкция для подключения NFS-шары из **TrueNAS** к Linux‑виртуальной машине. --- ## 1. Подготовка на TrueNAS 1. Создать **отдельные dataset'ы** под хранение данных и конфигов сервиса ``` MainPool/apps/config/ ``` 2. Настроить права доступа - Создай пользователя и группу и запомни `uid` и `gid` - Назначь владельца dataset: - User: `nebaryshev`, UID: `3000` - Group: `apps`, GID: `568` 2. Создать две NFS Share ``` /mnt/MainPool/apps/config/ /mnt/MainPool/apps/data/ ``` - **Mapall User**: `nebaryshev` - **Mapall Group**: `apps` `mapall` — все подключения к этой шаре будут `мапится` на `nebaryshev` и группу `apps` и любой сможет писать в датасет от лица `nebaryshev` ### ⚠️ Важно NFS-шара **должна указывать прямо на dataset**. Нельзя экспортировать `/apps` и монтировать `/apps/config/` на клиенте. --- ## 2. Подключение на виртуальной машине 1. Установить клиент ```bash sudo apt update sudo apt install -y nfs-common ``` 2. Создать точку монтирования ```bash sudo mkdir -p /srv//config sudo mkdir -p /srv//data ``` 3. Примонтировать шару вручную ```bash sudo mount -t nfs4 :/path/to/config /srv//config sudo mount -t nfs4 :/path/to/data /srv//data ``` 4. Проверить права ```bash ls -l /srv//config ``` > Должны отображаться **uid/gid пользователя из TrueNAS (mapall)**. > UID, GID=3000,568 в моем случае 5. Проверка записи **без sudo**: ```bash touch /srv//config/test.txt touch /srv//data/test.txt ``` > Если файл создался — права настроены корректно. --- ## 3. Настройка автоматического монтирования Для настройки автоматического монтирования необходимо дописать строки конфигурации в конец файла `/etc/fstab` (**file system table**) - Простой вариант ``` :/path/to/dataset /mount/point nfs4 defaults 0 0 ``` - Рекомендуемый вариант ``` :/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 временно недоступен --- После редактирования выполни: ```bash sudo mount -a ``` Если ошибок нет — конфигурация корректна.