OpenVZ часть 8. Миграция контейнеров между хостами

OpenVZ. Все статьи цикла

На мой взгляд, это одна из важнейших функций платформы виртуализации если используется более одного физического хоста. Перенос контейнеров с узла на узел для обеспечения балансировки нагрузки или для проведения обслуживания, периодически просто необходим.

OpenVZ предоставляет такую возможность, на мой взгляд, довольно удобную в использовании.

Главное требование, это настроенная между узлами SSH авторизация по ключам, не требующая ввода пароля.

Вторым пунктом, будет идентичная настройка узлов. Под идентичностью подразумевается наличие одинаковых версий пакетов, а так же единое расположение каталогов и конфигурационных файлов OpenVZ. В прочем, если установлена одна и та же версия дистрибутива и используются пути по умолчанию, то все пройдет гладко.

Стоит отметить, что идентичность оборудования не требуется. Модели процессоров (за исключением разрядности), объем памяти и конфигурация дисковой подсистемы значения не имеет.

Если все соблюдено, то перенести выключенную машину на другой узел можно следующим образом;

# vzmigrate <имяПринимающегоХоста> 101

Миграция остановленного контейнера хороша тем, что происходит максимально быстро. Но, если простой не желателен, то можно выполнить перенос «на живую» работающего экземпляра.

# vzmigrate —online <имяПринимающегоХоста> 101

В таком случае, переносится не только содержимое файловой системы, но и состояние процессов, сокетов, открытых файлов и прочего. Все это особым образом замораживается и передается на другой узел. Во время перемещения происходит кратковременный разрыв соединения с контейнером. Время разрыва зависит от конфигурации. Чем больше используется памяти, тем он будет