CentOS 7: ホストマシン再起動時にKVMゲストマシンを自動的にサスペンド・リジュームする

この記事ではホストマシンがシャットダウンした際にKVM上で動作しているゲストマシンを自動的にサスペンドし、その後のホストマシン起動時にゲストマシンを自動的にリジュームする方法について記載します。

1 libvirt-clientのインストール

libvirt-guestsを含むlibvirt-clientsパッケージをインストールします。

$ sudo yum install -y libvirt-client

2 /etc/sysconfig/libvirt-guestsの編集

/etc/sysconfig/libvirt-guestsを以下のように編集します。

$ diff -uprN /etc/sysconfig/libvirt-guests{.org,}
--- /etc/sysconfig/libvirt-guests.org   2016-10-18 19:39:11.046386785 +0900
+++ /etc/sysconfig/libvirt-guests       2016-10-18 19:40:30.674745950 +0900
@@ -8,7 +8,7 @@
 # - ignore  libvirt-guests init script won't start any guest on boot, however,
 #           guests marked as autostart will still be automatically started by
 #           libvirtd
-#ON_BOOT=start
+ON_BOOT=start

 # Number of seconds to wait between each guest start. Set to 0 to allow
 # parallel startup.
@@ -22,7 +22,7 @@
 #             which just needs a long time to shutdown. When setting
 #             ON_SHUTDOWN=shutdown, you must also set SHUTDOWN_TIMEOUT to a
 #             value suitable for your guests.
-#ON_SHUTDOWN=suspend
+ON_SHUTDOWN=suspend

 # If set to non-zero, shutdown will suspend guests concurrently. Number of
 # guests on shutdown at any time will not exceed number set in this variable.

3 libvirt-guestsの有効化

libvirt-guestsを有効にして、ホストマシンを再起動します。

$ sudo systemctl enable libvirt-guests
$ sudo reboot

再起動後、ゲストマシンを動かしたままホストマシンを再起動すると、ゲストマシンがサスペンドされ、起動後に自動的にリジュームします。