Вопрос или проблема
Источник: iocage
толстая тюрьма, работающая на FreeBSD-12.0p12.
Назначение: FreeBSD-12.1p1.
Оба хоста используют ZFS.
Какой рекомендованный метод для переноса существующей iocage
толстой тюрьмы из источника в назначение? Это так же просто, как:
rsync -aqz -e "ssh -o LogLevel=error" /zroot/iocage/jails/testjail \
destination:/zroot/iocage/jails
Предполагая, что iocage
установлен на обоих хостах, что точки монтирования ZFS указаны выше, что исходная тюрьма остановлена, и что testjail
не существует на хосте назначения.
iocage имеет отличную функцию экспорта/импорта.
$ man iocage
...
export Экспортирует указанную тюрьму. В каталоге
/iocage/images создается архивный файл с контрольной суммой SHA256. Тюрьма должна быть
остановлена перед экспортом.
Пример:
# iocage export examplejail_2
Затем перенесите файл на ваш новый хост, импортируйте его там, и вуаля!
Ответ или решение
Рекомендованный способ переноса jail iocage с одного хоста на другой
Перенос jail, созданного с помощью iocage, между двумя хостами под управлением FreeBSD может показаться простым процессом, однако использование специальных инструментов, доступных в iocage, существенно упростит задачу и минимизирует риск ошибок. В данном ответе мы рассмотрим оптимальный способ передачи jail, основываясь на вашем описании.
Шаги для переноса jail с использованием возможностей iocage
-
Подготовка к экспорту:
Убедитесь, что целевой jail (testjail
) остановлен на исходном хосте. Для этого выполните команду:iocage stop testjail
-
Экспорт jail:
Используйте встроенную командуexport
для создания архива jail на исходном хосте. Это даст вам возможность переноса jail вместе со всеми его данными и конфигурацией. Выполните следующую команду:iocage export testjail
После выполнения этой команды файл архива будет создан в каталоге
/iocage/images
. Обратите внимание на имя файла, так как оно будет иметь формат, содержащий имя jail и контрольную сумму SHA256. -
Передача архива на целевой хост:
После успешного экспорта архива необходимо передать его на целевой хост. Это можно сделать с использованиемscp
илиrsync
. Например, с помощьюscp
команда может выглядеть так:scp /iocage/images/testjail_*.tar.gz user@destination_host:/iocage/images/
-
Импорт jail на новом хосте:
После того как архив будет полностью перенесен, выполните команду импорта на новом хосте:iocage import testjail_имя_архива
Замените
testjail_имя_архива
на имя вашего файла. Эта команда восстановит jail с сохранением всех его настроек. -
Запуск jail на целевом хосте:
После успешного импорта поместите jail в активное состояние с использованием следующей команды:iocage start testjail
Заключение
Перенос jail с одного хоста на другой при помощи инструментов iocage гораздо эффективнее и безопаснее, нежели ручной перенос файлов через rsync
или другие методы. Использование команд export
и import
помогает избежать возможных проблем с целостностью данных и совместимостью конфигураций при переносе. Этот метод также экономит время, позволяя автоматизировать большинство этапов. Убедитесь, что у вас установлены необходимые версии iocage и FreeBSD на обоих хостах, чтобы гарантировать совместимость.
Используя данный подход, вы сможете с легкостью перенести ваш jail на новый сервер, минимизируя возможные риски и обеспечивая сохранность данных.