У меня есть кластер с 84 вычислительными узлами Openstack Essex, один из которых решил тосковать по фьордам около 2 часов назад, с 8 работающими экземплярами на нем.
Все экземпляры работают с дисков qcow2 в общей папке NFS, поэтому образы дисков по-прежнему доступны.
nova live-migration
только кажется способным перенести работающий экземпляр с одного работающего узла на другой.
Я хочу «перенести» мертвые экземпляры с мертвого вычислительного узла на любой из активных вычислительных узлов. Тот факт, что экземпляры будут перезагружены (и им придется выполнять fsck при загрузке), на самом деле не имеет значения - это лучше, чем их полностью потерять.
Прежде чем я начну действовать в соответствии с мыслями о том, чтобы возиться с virsh и напрямую взломать базу данных mysql nova, знает ли кто-нибудь о каком-либо инструменте или документированной процедуре для такого рода «мертвой миграции»?
Это старый вопрос, но да, вы можете с командой nova evacuate. Пример перемещения vm_name на узел nova_compute1:
nova evacuate vm_name nova_compute1
nova reboot --hard vm_name
Экземпляр будет загружен на новый узел.
Я никогда этого не делал. Надеюсь, эта ссылка поможет вам восстановить экземпляры.
http://docs.openstack.org/essex/openstack-compute/admin/content/nova-disaster-recovery-process.html
Миграция экземпляра Openstack прошла успешно только после следующих шагов.
обе хост-машины должны подключить ssh без пароля для пользователя nova.
Для этого нам нужно создать пару ключей с помощью ssh-keygen после запуска команды su nova
# usermod -s /bin/bash nova
# su nova
# ssh-keygen
пара ключей будет сгенерирована в /var/lib/nova/.ssh
#cat <pub_key> >> /var/lib/nova/.ssh/authorized_keys
#echo 'StrictHostKeyChecking no' >> /var/lib/nova/.ssh/config
Проделайте вышеуказанные шаги со вторым хостом.
скопируйте открытый ключ (id_rsa.pub) с первого хоста на второй и добавьте к авторизованным ключам, выполнив следующую команду
#cat <pub_key> >> /var/lib/nova/.ssh/authorized_keys
скопируйте открытый ключ (id_rsa.pub
) со Второго хоста на первый хост и добавить к авторизованным ключам файл авторизованных ключей в /var/lib/nova/.ssh/
должен содержать открытый ключ от обоих хостов. затем
# su nova
# ssh nova@otherhost should connect without password.
Тогда миграция Openstack будет работать.