====== Миграция OVZ контейнеров на другую ноду ====== Ноды OpenVZ поддерживают миграцию контейнеров между собой. При миграции большого количества контейнеров требуется вводить последовательно ряд команд, что затруднительно и не дает администраторам спокойно расслабиться. Для автоматизации процесса был накорябан простенький скрипт, который удобно делает клоны с одной ноды на другую, выключает на исходной ноде сервер и делает попытку включить контейнер на целевой ноде. Скрипт выполняется на **исходной ноде**, следует заменить IP 192.168.50.2 на IP целевой ноды и разрулить ключи перез запуском скрипта. Обратите внимание, что копируются **только включенные** в настоящий момент серверы. #/bin/bash destIP=192.168.50.2 ct_list=$(vzlist |grep 'running' |awk '{print $5}' |xargs) ct_count=$(vzlist |grep 'running' |awk '{print $5}' |wc -l) i=0 echo "START MIGRATE..." for ct in $ct_list; do let "i++" echo "$i из $ct_count CT_NAME $ct" prlctl migrate $ct $destIP --clone --no-compression prlctl stop $ct --kill prlctl set $ct --onboot no ssh $destIP "prlctl start $ct" ssh $destIP "prlctl set $ct --onboot yes" echo "$ct is migrate." # exit 0 done echo "MIGRATE DONE!"