wiki:technical:openvz:migrate
Миграция OVZ контейнеров на другую ноду
Ноды OpenVZ поддерживают миграцию контейнеров между собой. При миграции большого количества контейнеров требуется вводить последовательно ряд команд, что затруднительно и не дает администраторам спокойно расслабиться.
Для автоматизации процесса был накорябан простенький скрипт, который удобно делает клоны с одной ноды на другую, выключает на исходной ноде сервер и делает попытку включить контейнер на целевой ноде. Скрипт выполняется на исходной ноде, следует заменить IP 192.168.50.2 на IP целевой ноды и разрулить ключи перез запуском скрипта. Обратите внимание, что копируются только включенные в настоящий момент серверы.
- migrate.sh
#/bin/bash destIP=192.168.50.2 ct_to copy=$(vzlist |grep 'running' |awk '{print $5}') ct_list=$(echo $ct_to copy |xargs ) ct_count=$(echo $ct_to copy |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!"
wiki/technical/openvz/migrate.txt · Последнее изменение: 2024/06/02 19:46 — Diman