Чи може KVM призупинити чи закрити гостей автоматично при відключенні хоста?


16

У нас є хост CentOS 5.5 KVM, який запускає гостей з різними версіями CentOS і, можливо, пізніше іншими ОС.

Ми хотіли б мати можливість (а) автоматично надіслати відключення ACPI всім гостям або (b) призупинити всіх гостей на диску при відключенні хоста.

Чи є стандартний метод для виконання будь-якого з цих ситуацій, або це ситуація, яка є власною? Спасибі!

Відповіді:


5

Так.

virsh shutdownКоманда (або інші реалізації "виключення" з використанням Libvirt, як і в virt-manager) інструктує гостьову ОС закрити чисто. На чоловіковій сторінці:

   shutdown domain-id

   Gracefully shuts down a domain.  This coordinates with the domain
   OS to perform graceful shutdown, so there is no guarantee that it
   will succeed, and may take a variable length of time depending on
   what services must be shutdown in the domain.

   The exact behavior of a domain when it shuts down is set by the
   on_shutdown parameter in the domain’s XML definition.

У KVM це повинно надіслати подію ACPI system_powerdown.

У Fedora та RHEL 6 libvirt-guestsіз скриньки init виходить сценарій init, налаштований для призупинення всіх гостей при відключенні системи. Це не особливо магія, тому можна скопіювати це в CentOS 5 з невеликими модифікаціями.


Це гарна ідея, у мене є машина Fedora, я маю намір підтримати її в CentOS5. Спасибі.
Ендрю Клегг

Я не можу побачити on_shutdown в doco: libvirt.org/formatdomain.html#elementsLifecycle
Thiago Figueiro

Гмммм. Так, це також підозріло відсутнє в коді . Те, що насправді робить libvirt-guestsсценарій , працює . (Схоже, можливо, лише драйвер UML підтримує system_powerdown.) Дякую за улов! Я оновлю свою відповідь та подати помилку щодо документації. virsh managedsave
mattdm


0

Наскільки я знаю, немає такого стандартного сценарію для CentOS. Можна зашифрувати, але трохи небезпечно, так як вам потрібно поводитися з гостями, які потребують тривалого часу, щоб вимкнутись. Просто вбивство їх після тайм-ауту може знищити дані, в той час, як чекати, вони можуть залишити вимкнення.

Натомість краще закрити гостей вручну перед перезавантаженням. Якийсь час у мене був сценарій, який замінив відключення та перезавантаження. Цей скрипт попередив мене, якщо в списку віртуальних машин є якісь запущені гості (простий lc) та заблокував команду, якщо там працювали гості.


-2

Гості KVM - це лише процеси в просторі користувачів. у вас повинен бути якийсь моніторинг процесу. найпоширенішим з них, здається, є libvirt (він розроблений RedHat, тому я думаю, він повинен бути доступний на CentOS).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.