Загрузить файлы в «/»

This commit is contained in:
2026-04-04 15:12:56 +03:00
parent c002acba59
commit 48f9a2b970
+100
View File
@@ -0,0 +1,100 @@
# Монтирование NFS-шары из TrueNAS в VM
> Краткая и практичная инструкция для подключения NFS-шары из **TrueNAS** к Linux‑виртуальной машине.
---
## 1. Подготовка на TrueNAS
1. Создать **отдельные dataset'ы** под хранение данных и конфигов сервиса
```
MainPool/apps/config/<service>
```
2. Настроить права доступа
- Создай пользователя и группу и запомни `uid` и `gid`
- Назначь владельца dataset:
- User: `nebaryshev`, UID: `3000`
- Group: `apps`, GID: `568`
2. Создать две 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. Установить клиент
```bash
sudo apt update
sudo apt install -y nfs-common
```
2. Создать точку монтирования
```bash
sudo mkdir -p /srv/<service>/config
sudo mkdir -p /srv/<service>/data
```
3. Примонтировать шару вручную
```bash
sudo mount -t nfs4 <truenas_ip>:/path/to/config /srv/<service>/config
sudo mount -t nfs4 <truenas_ip>:/path/to/data /srv/<service>/data
```
4. Проверить права
```bash
ls -l /srv/<service>/config
```
> Должны отображаться **uid/gid пользователя из TrueNAS (mapall)**.
> UID, GID=3000,568 в моем случае
5. Проверка записи **без sudo**:
```bash
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 временно недоступен
---
После редактирования выполни:
```bash
sudo mount -a
```
Если ошибок нет — конфигурация корректна.