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’…