Идея моего домашнего self-hosted окружения - хочу критику и советы

у меня truenas тоже крутится в виде виртуалки внутри PVE

То есть Вы просто игнорируете служебные папки Proxmox?

Какие служебные папки? Я скинул пример fstab файла с монтирования и NFS шары

Я просто принял это за то, что Вы через GUI Proxmox добавляете NFS)

Попробую с вашим fstab.

Через /etc/fstab никак не хочет подниматься автоматом…

Jan 17 11:24:34 pve systemd[1]: Mounting mnt-backup.mount - /mnt/backup...
Jan 17 11:24:34 pve systemd[1]: Mounting mnt-data.mount - /mnt/data...
Jan 17 11:26:04 pve systemd[1]: mnt-data.mount: Mounting timed out. Terminating.
Jan 17 11:26:04 pve systemd[1]: mnt-data.mount: Mount process exited, code=killed, status=15/TERM

Рабочих решений я нашел только 2.

  1. Оставь в /etc/fstab шары, а при запуске делать cron @reboot и скрипт, который делает mount -a
  2. Удалить из /etc/fstab шары и запускать как сервис
[Unit]
Description=Mount NFS shares after VM100 is running and NFS is reachable
After=network-online.target pve-guests.service
Wants=network-online.target
# pve-guests отвечает за автозапуск гостевых VM/CT
# (даже если VM стартует вручную — сервис можно запустить руками)

[Service]
Type=oneshot

# Ждём, пока VM 100 станет RUNNING (до 5 минут)
ExecStartPre=/usr/bin/bash -c 'for i in {1..150}; do qm status 100 2>/dev/null | grep -q "status: running" && exit 0; sleep 2; done; echo "VM100 did not reach running"; exit 1'

# Ждём, пока NFS на сервере реально ответит (до 2 минут)
ExecStartPre=/usr/bin/bash -c 'for i in {1..60}; do showmount -e 192.168.2.100 >/dev/null 2>&1 && exit 0; sleep 2; done; echo "NFS not reachable on 192.168.2.100"; exit 1'

# Монтируем /mnt/data
ExecStart=/usr/bin/mount -t nfs -o vers=4.1,tcp,rw,hard,noatime,rsize=1048576,wsize=1048576 192.168.2.100:/mnt/data/pve /mnt/data

# Монтируем /mnt/backup
ExecStart=/usr/bin/mount -t nfs -o vers=4.1,tcp,rw,hard,noatime,actimeo=1800 192.168.2.100:/mnt/backup/pbs /mnt/backup

RemainAfterExit=yes

# Если сервис упал (VM не успела стартануть) — можно автоматически повторить
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

с сервисом работает как надо
может кому-то будет полезно)

Прямо 1 в 1 мой fstab с опцией bg (которая нужна для того, чтобы монтирование производилось в фоне) не работает?

Ну тоже вариант, наверное…
Добавлю лишь то, что если используется проброс каталогов в виртуалки/контейнеры, то при старте они либо не запустятся, либо могут иметь старые точки подключения, поэтому, для финального варианта тогда я бы уже добавил в самый низ запуск зависимых контейнеров. Тогда сначала запустится TrueNAS, потом подключатся сетевые диски, а потом уже запустятся пользователи этих дисков, у меня, например, qbt красным светится при старте, если запускается раньше TrueNAS и надо его перезапустить, чтобы он увидел файлы и запустил раздачу

пробовал. опция bg , судя по документации, просто отключает бесконечные попытки монтирования и разрешает загрузку. проблемы в самой загрузке нет, есть проблема в монтировании. в идеале, при первом обращении к шаре она должна монтироваться, но не выходит каменный цветок.

пока решение проблемы через последовательность запуска и timeout этого запуска.
TrueNAS запускается первым с timeout 120.

Ну так правильно, вместо ожидания монтирования система продолжает загрузку и после того, как proxmox запустился и NFS шара стала доступна монтирование производится автоматически

Чтобы монтирование было при первом обращении это надо добавить опцию x-systemd.automount, почитать можно тут

1 лайк