2020-10 upd: we reached the first fundraising goal and rented a server in Hetzner for development! Thank you for donating !
Внимание! Данные страницы описывают CBSD версии 13.0.x. Если вы используете более раннюю версию, рекомендуется сначала обновиться.
Холодная миграция jail
Команда jcoldmigrate
% cbsd jcoldmigrateОписание:
cbsd jcoldmigrate выполняет холодную (с отстановкой) миграцию клетки с одной ноды на другую. Параметр node указывает, на какую ноду следует мигрировать клетку. Предварительно, RSA/DSA ключ удаленной ноды должнен быть добавлен через команду cbsd node mode=add, а также, на удаленной ноде должен работать сервис rsyncd cbsdrsync.
По-умолчанию, статус клетки на новой ноде наследуется — если клетка работала, она также будет автоматически запущена на новой ноде. Если клетка не работала — останется в статусе Off. Управлять, какой статус должен быть на удаленной клетке не зависимо от состояния на оригинале, можно через параметр start.
Клетка на первоисточние, после успешного выполнения jcoldmigrate останавливается и переводится в статус Slave. В rc.conf файле клетки на новой ноде остается запись, с какой именно ноды этот jail был мигрирован.
Примечание: миграция происходит в следующие этапы (в процессе выполния, они проходят автоматически и не видны)
- перенос конфигурационных файлов на удаленную ноду, статус клетки — Slave (cbsd j2prepare)
- запуск rsync, которая делает полную копию каталога с данными на удаленной ноду (cbsd j2slave)
- останов клетки (cbsd j2slave)
- повторный запус rsync, которая должна отработать быстрее первого раза за счет того, меньшее кол-во файлов успело модифицироваться
- перевод клетки на локальной ноде в статус Slave (cbsd jswmode)
- перевод клетки на удаленной ноде в статус Master (cbsd rexe + jswmode)
- если клетка была запущена — запуск клетки на удаленной ноде (cbsd rexe + cbsd jstart)
Пример (выполнить холодную миграцию на ноду netsnap):
% cbsd jcoldmigrate node=netsnap jname=amp123
на сервере netsnap ничего нет:
с сервера cbuilder64 мигрируем клетку amp123 на netsnap:
клетка amp123 на netsnap запущена автоматически: