Как происходит перемещение 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 или iocage activate /mnt/NEW
для активации iocage в новом пуле. Убедитесь, что в новой активации есть версии iocage, используемые вашими тюрьмами. Использовать iocage fetch
установить их. Смотрите каждую тюрьму fstab
чтобы узнать, какой выпуск ожидается.
Скопируйте экспортированные файлы .zip-архивов тюрьмы туда, где iocage будет их искать:
cp /mnt/OLD/iocage/images/* /mnt/NEW/iocage/images
Импортировать:
iocage import JAILNAME
Обратите внимание, что это имя тюрьмы, а не имя файла zip-архива.
Любые точки монтирования в тюрьме, особенно те, которые предоставляет iocage, будут указывать на /mnt/OLD
и заставить тюрьму не запускаться из-за ошибки VNET в вопросе. Их нужно исправить вручную.
редактировать /mnt/NEW/iocage/jails/JAILNAME/fstab
и заменить экземпляры /mnt/OLD
с участием /mnt/NEW
по мере необходимости. Для простых тюрем :%s/OLD/NEW/g
в vi сделает свое дело.
Например, первые три строки fstab
созданный плагином Syncthing выглядит так:
/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