Context: [2025-all-in-one-home-server-project—prologue]
- I need to configure the backup properly.
我现在已经有不少 VM 依赖 TrueNAS 暴露出来的 share 了。
所以首先,我需要关机:
- Immich
- Jellyfin
- Frigate
- PBS
- qBittorrent
- gpubox (models are stored on nfs backed vmdisk)
然后在TrueNAS 里面 system → services 里面,直接关闭所有的 iscsi, samba, nfs 服务。
然后可以通过 UI 创建 tank/critical dataset
然后 in the shell of truenas
sudo zfs rename tank/vm-disks tank/critical/vm-disks
sudo zfs rename tank/shared tank/critical/shared
sudo zfs rename tank/nvr tank/critical/nvr
sudo zfs rename tank/backups tank/critical/backups
然后修改所有已经存在的 samba, nfs, iscsi shares。所有的 share 的 source/device 都需要更改。
更改一个之后先不要启动服务。都更改完了,统一启动服务。
然后我们需要回到 PVE 上面,使用了之前的share路径的挂载进行更改。jellyfin 和 qBittorrent 是在 LXC 里面做的 samba 挂载,反而是不需要做什么的。所以我们需要改:nfs mounts
(ISCSI 有唯一标识符 iqn,这个其实移动了之后,只要不是重建创建的 target,就不变。(移动之后,在TrueNAS 里面我们只需要改 extent 里面的 device地址。)
NFS也很好改,直接改 /etc/pve/storage.cfg
里面 nfs.export 的值就可以。改完之后PVE会直接更新,几乎无感。
反而有点麻烦的是 Frigate。因为Frigate 直接用的 NFS 挂载,而且是在 LXC 里面。所以需要启动 LXC 再更改,然后肯定会遇到之前的NFS挂不上的问题。唯一的办法就是快速登录进去赶紧改,改完赶紧 systemctl daemon-reload
然后赶紧重启。
然后也就结束了。折腾起来也没有说特别麻烦。
IMPORTANT
然后在最后我发现,其实 TrueNAS replicate job 还真的支持 多个 source! 所以其实根本就不是真的需要这个 ‘move’…