如何将 iocage jail 从一个 ZFS 池移动到另一个 ZFS 池?

如何将 iocage jail 从一个 ZFS 池移动到另一个 ZFS 池?

将 iocage 及其所有 jail 从一个 ZFS 池移动到另一个 ZFS 池的过程是什么?

我已尝试过此帖子中的过程:https://www.ixsystems.com/community/threads/how-to-move-jails-between-pools.72593/post-502840

iocage export每个监狱,激活新池,然后iocage import。这是不成功的:

$ iocage start syncthing
No default gateway found for ipv6.
* Starting syncthing
  + Started OK
  + Using devfs_ruleset: 6
  + Configuring VNET FAILED
  jexec: execvp: ifconfig: No such file or directory
  jexec: execvp: ifconfig: No such file or directory

Stopped syncthing due to VNET failure

FreeNAS 11.3

答案1

要将 iocage 从 移动/mnt/OLD/iocage/mnt/NEW/iocage

出口监狱

iocage stop JAILNAME
iocage export JAILNAME

这将创建一个日期.zip的监狱/mnt/OLD/iocage/images

设置新池

使用 FreeNAS jails GUI 或iocage activate /mnt/NEW在新池上激活 iocage。确保新激活具有 jail 使用的 iocage 版本。使用 iocage fetch安装它们。查看每个 jailfstab以了解其预期的版本。

进口监狱

将导出的 jail .zip 复制到 iocage 将查找它们的位置:

cp /mnt/OLD/iocage/images/* /mnt/NEW/iocage/images

进口:

iocage import JAILNAME

请注意,这是监狱名称,而不是 zip 的文件名。

修复挂载点和 fstab

jail 中的任何挂载点(尤其是 iocage 提供的挂载点)都将指向/mnt/OLD并导致 jail 无法启动,并出现问题中的 VNET 错误。这些必须手动修复。

根据需要编辑/mnt/NEW/iocage/jails/JAILNAME/fstab并替换 的实例。对于简单的 jails,vi 中的操作即可。/mnt/OLD/mnt/NEW:%s/OLD/NEW/g

例如,Syncthing 插件创建的前三行fstab如下所示:

/mnt/OLD/iocage/releases/11.3-RELEASE/root/bin  /mnt/OLD/iocage/jails/syncthing/root/bin    nullfs  ro  0   0 # Added by iocage on 2020-04-17 00:16:34
/mnt/OLD/iocage/releases/11.3-RELEASE/root/boot /mnt/OLD/iocage/jails/syncthing/root/boot   nullfs  ro  0   0 # Added by iocage on 2020-04-17 00:16:35
/mnt/OLD/iocage/releases/11.3-RELEASE/root/lib  /mnt/OLD/iocage/jails/syncthing/root/lib    nullfs  ro  0   0 # Added by iocage on 2020-04-17 00:16:35

每个都/mnt/OLD需要替换为/mnt/NEW

完毕

iocage start JAILNAME

相关内容