Freebsd
如何將 iocage 監獄從一個 ZFS 池移動到另一個?
將 iocage 及其所有監獄從一個 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
要將 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。確保新啟動具有監獄使用的 iocage 版本。用於iocage fetch
安裝它們。查看每個監獄fstab
以查看它期望的版本。導入監獄
將導出的 jail .zip 複製到 iocage 查找它們的位置:
cp /mnt/OLD/iocage/images/* /mnt/NEW/iocage/images
進口:
iocage import JAILNAME
請注意,它是監獄名稱,而不是 zip 的文件名。
修復掛載點和 fstab
監獄中的任何掛載點,尤其是 iocage 提供的掛載點,都將指向
/mnt/OLD
並導致監獄無法以問題中的 VNET 錯誤啟動。這些必須手動修復。根據需要編輯
/mnt/NEW/iocage/jails/JAILNAME/fstab
和替換/mnt/OLD
with/mnt/NEW
的實例。:%s/OLD/NEW/g
因為vi 中的簡單監獄可以解決問題。例如,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