Инструменты пользователя

Инструменты сайта


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

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki