FreeBSD virtual environment management and repository

Внимание! Данные страницы описывают CBSD версии 12.0.x. Если вы используете более раннюю версию, рекомендуется сначала обновиться.

Живая миграция виртуальной машины bhyve

Команда bmigrate

Реализацией данной особенности в bhyve мы благодарны Политехническому университету Бухареста и в частности: Elena Mihailescu and Mihai Carabaș.

На момент опубликовании этой страницы, данный функционал отсутствовал в кодовой базе FreeBSD и получен со страницы проекта на GitHub (FreeBSD-UPB)

Данный функционал является продолжением функционала checkpoints


Основные требования:


Необходимым условием является наличие DFS, что в случае с CBSD не должно являться проблемой (подробнее: отсутствие привязки к ZFS). В данный момент протестирована работа на NFSv3,v4 и GlusterFS ( Ceph в процессе тестирования )

Для успешной процедуры живой миграции, вам также необходимо иметь максимально близкие по техническим характеристикам сервера (архитектура, CPU). В текущий момент bhyve гипервизор не поддерживает выравнивание инструкций CPU (редактирование и кастомизация CPUID) при наличии разных процессоров (разных поколений, моделей)

Кроме этого CBSD ноды, которые обмениваются между собой виртуальными машинами, должны быть добавлены в кластер через команду node

В процессе живой миграции, нода-источник задействует функционал по созданию отложенной задачи на ноде-приемнике через cbsd task, поэтому убедитесь, что вы имеете запущенным процесс 'cbsdd' ( регулируется параметром cbsdd_enable=YES в файле /etc/rc.conf)


Для миграции служит команда bmigrate, имеющая два аргумента - непосредственно имя (jname) переезжаемой виртуальной машины и имя ноды приемника (node)

В процессе миграции скрипт выполняет предварительную проверку на совместимость нод, в том числе на наличие общих каталогов ( это каталоги jails-data, jails-rcconf, jails-system в рабочем окружении CBSD)


Небольшое демо на ранней стадии разработки: Youtube::FreeBSD bhyve live migration, first overview

Небольшое демо на ранней стадии разработки: Youtube::FreeBSD bhyve live migration: FreeBSD guest + networking (no sound)

Небольшое демо на ранней стадии разработки: Youtube::FreeBSD bhyve live migration: Linux Debian guest + networking (no sound)

Смотрите также: checkpoints, taskd, CPU topology