====== Как штатно выключить виртуальную машину при выключении основного сервера ====== [[http://wiki.mihanik.net/doku.php?id=операционные_системы:linux:kvm:как_штатно_выключить_виртуальную_машину_при_выключении_основного_сервера&do=export_pdf|Экспорт в PDF ]] ~~ODT~~ Дата создания: 2022/08/15 19:36 (C) mihanik ===== Дано. ===== * ОС Linux CentOS/Fedora * Гипервизор KVM * При **штатном** выключении сервера виртуальные машины "рубятся по питанию", т.е. завершают работу "**аварийно**". ===== Надо. ===== * При **штатном** выключении основного сервера **штатно** завершать работу виртуальных машин. ===== Решение. ===== ==== Шаг 1. ==== На всех виртуальных машинах устанавливаем **guest-tools**, т.е. пакет инструментов для гостевой машины. В Windows эти инструменты устанавливаются при помощи программы "[[https://www.spice-space.org/download/windows/spice-guest-tools/spice-guest-tools-latest.exe | Virtio-win-guest-tools]]". Для установки **guest-tools** в ОС Linux следует обратиться к документации. ==== Шаг 2. ==== На основном сервере редактируем файл **libvirt-guests.sh**, предварительно сделав резервную копию. В этом файле строку ON_SHUTDOWN=suspend заменяем на ON_SHUTDOWN=shutdown Описанные действия можно выполнить командами cp /usr/libexec/libvirt-guests.sh /usr/libexec/libvirt-guests.sh.old sed -i 's/ON_SHUTDOWN=suspend/ON_SHUTDOWN=shutdown/' /usr/libexec/libvirt-guests.sh ==== Шаг 3. ==== Включаем и запускаем демона **libvirt-guests** systemctl enable libvirt-guests systemctl start libvirt-guests ==== Шаг 4. ==== * Вручную штатно выключаем все виртуальные машины. * Перезагружаем основной сервер После перезагрузки сервера изменения вступают в силу, и вы можете перезагружать ваш основной сервер сколько угодно, - виртуальные машины будут выключаться штатно. Всё это не относится к сбою "по питанию". Если у основного сервера внезапно пропадёт питание, то тут уже ничто не поможет. [[#top|Наверх ]]