пятница, 9 мая 2014 г.

KVM сохраняем состояние гостевых машин при выключении хоста

Имеется сервер Ubuntu 12.04 с настроенной kvm. В виртуальной среде  работают несколько машин. Необходимо сохранять состояние виртуальных машин при выключении сервера. Когда-то давно я делал такую задачу и все отличненько работало, но, к сожадению , не записал - приходится вновь изобретать велосипед. Сразу скажу - в прошлый раз схема была намного изящней, но не могу вспомнить как было настроено. Если кто подскажет более правильное решение - буду благодарен.
Итак есть тфкой файлик на сервере /etc/init/libvirt-bin.conf 
В нём необходимо найти такие строки :

 for domain in $(run_virsh -c "$uri" list | awk '$3 == "running" {print $2}'); do
            log_msg "libvirt-bin: attempting clean shutdown of $domain at $(date)"
            run_virsh -c "$uri" shutdown "$domain" >/dev/null
        done


где указывается, чтобы все запущенные виртуальные машины выключить.
Вот и заменим команду выключения на команду сохранения:

for domain in $(run_virsh -c "$uri" list | awk '$3 == "running" {print $2}'); do
            log_msg "libvirt-bin: attempting clean shutdown of $domain at $(date)"
            run_virsh -c "$uri" save "$domain" "/kvm-state/$domain.save">/dev/null
        done

Таким образом в каталоге /kvm-state/ сохранятся файлы имя_виртуалки.save

Восстановить состояние машин можно командой

virsh restore /kvm-state/domain_name.save

 При этом не забыть предварительно убрать автостартующие виртуалки из каталога /etc/libvirt/qemu/autostart



1 комментарий:

  1. Сохранение состояния виртуальных машин при выключении/ребуте гипервизора.
    Настройки в файле

    Centos
    /etc/sysconfig/libvirt-guests

    Ubuntu
    /etc/default/libvirt-guests

    Меняем поведение при выключении:
    ON_SHUTDOWN=suspend

    ОтветитьУдалить