Ручная миграция инстанса на другой гипервизор

Иногда ВМ с большим размером root-диска невозможно мигрировать на другую ноду штатными средствами - через horizon или командой API. В данной статье рассмотрен вариант ручного переноса.

Рассмотрим конкретный пример: перенос (миграция) инстанса 2f602dd3-6cc1-4187-b091-3c466514488b с ноды dc-comp-01 на dc-comp-03.

Для начала посмотрим подробную информацию по uuid инстанса.

instance_details.jpg

1) Копируем все данные из папки инстанса на ноду dc-comp-03:

root@dc-comp-01:/var/lib/nova/instances# scp -rp  2f602dd3-6cc1-4187-b091-3c466514488b root@dc-comp-03:/var/lib/nova/instances/

2) Копируем файл описания ВМ:

scp -rp /etc/libvirt/qemu/instance-00000131.xml root@10.0.10.53:/etc/libvirt/qemu/

3) Отключаем инстанс на исходном гипервизоре:

root@dc-comp01:# virsh undefine instance-00000131

4) Определим инстанс на целевом гипервизоре:

root@dc-comp03:# virsh define /etc/libvirt/qemu/instance-00000131.xml

5) Меняем дислокацию инстанса запросом в БД:

mysql> select id,host,hostname,launched_on,node from instances where uuid="2376c854-62f7-4171-9aab-3b278f334829";

| id   | host       | hostname     | launched_on | node       |
| ---- | ---------- | ------------ | ----------- | ---------- |
| 1059 | dc-comp-01 | int-deb1c-01 | dc-comp-01  | dc-comp-01 |

mysql> update instances set launched_on="dc-comp-02", host="dc-comp-02", node="dc-comp-02" where uuid="554950ed-42e0-4d3b-982a-25d26cafc924" and id=2274;

6) Делаем пробный запуск на новой локации