A.11. 正常なシャットダウンに向けたオプションの方法

libvirt-guests サービスには、ゲストの適切なシャットダウンを確実に実行するために使用できるパラメーター設定が含まれます。これは libvirt インストールの一部をなすパッケージであり、デフォルトでインストールされます。このサービスは、ホストがシャットダウンされる際にゲストをディスクに自動的に保存し、ホストの再起動時にシャットダウン前の状態にゲストを復元します。デフォルトでは、この設定はゲストをサスペンドするように設定されます。ゲストを正常にシャットダウンする必要がある場合、libvirt-guests 設定ファイルのパラメーターのいずれかを変更する必要があります。

手順A.5 ゲストの正常なシャットダウンに向けた libvirt-guests サービスパラメーターの変更

以下で説明される手順により、ホスト物理マシンが停止しているか、電源がオフになっているか、または再起動が必要な場合に、ゲスト仮想マシンを正常にシャットダウンすることができます。
  1. 設定ファイルを開きます。

    設定ファイルは /etc/sysconfig/libvirt-guests にあります。ファイルを編集し、コメントマーク (#) を削除し、ON_SHUTDOWN=suspendON_SHUTDOWN=shutdown に変更します。変更は必ず保存してください。
    $ vi /etc/sysconfig/libvirt-guests
    
    # URIs to check for running guests
    # example: URIS='default xen:/// vbox+tcp://host/system lxc:///'                   1
    #URIS=default
    
    # action taken on host boot
    # - start   all guests which were running on shutdown are started on boot
    #           regardless on their autostart settings
    # - ignore  libvirt-guests init script won't start any guest on boot, however,
    #           guests marked as autostart will still be automatically started by
    #           libvirtd                                                               2
    #ON_BOOT=start
    
    # Number of seconds to wait between each guest start. Set to 0 to allow            3
    # parallel startup.
    #START_DELAY=0
    
    # action taken on host shutdown
    # - suspend   all running guests are suspended using virsh managedsave
    # - shutdown  all running guests are asked to shutdown. Please be careful with
    #             this settings since there is no way to distinguish between a
    #             guest which is stuck or ignores shutdown requests and a guest
    #             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.                                      4
    ON_SHUTDOWN=shutdown
    
    # 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.      5
    #PARALLEL_SHUTDOWN=0
    
    # Number of seconds we're willing to wait for a guest to shut down. If parallel
    # shutdown is enabled, this timeout applies as a timeout for shutting down all
    # guests on a single URI defined in the variable URIS. If this is 0, then there
    # is no time out (use with caution, as guests might not respond to a shutdown
    # request). The default value is 300 seconds (5 minutes).                          6
    #SHUTDOWN_TIMEOUT=300
    
    # If non-zero, try to bypass the file system cache when saving and
    # restoring guests, even though this may give slower operation for
    # some file systems.                                                               7
    #BYPASS_CACHE=0

    1

    URIS: 実行中のゲストの指定された接続をチェックします。Default 設定は、明示的な URI が設定されていない場合に virsh と同じように機能します。さらに、URI は /etc/libvirt/libvirt.conf から明示的に設定できます。libvirt 設定ファイルのデフォルト設定を使用する場合、プローブは使用されないことに注意してください。

    2

    ON_BOOT: ホストの起動時にゲストに対して実行されるか、またはゲスト上で実行されるアクションを指定します。 start オプションは、autostart の設定にかかわらずシャットダウンの前に実行されているすべてのゲストを起動します。ignore オプションは、起動時に正式に実行されているゲストを起動しませんが、autostart というマークが付けられたゲストは libvirtd によって自動的に起動されます。

    3

    START_DELAY: ゲストが起動する間の遅延期間を設定します。この期間は秒単位で設定されます。遅延がないようにし、かつすべてのゲストを同時に起動させるには時間設定を 0 にします。

    4

    ON_SHUTDOWN: ホストがシャットダウンする際に取られるアクションを指定します。設定できるオプションには、suspend を使用して実行中のすべてのゲストを一時停止する virsh managedsave と、実行中のすべてのゲストをシャットダウンする shutdown が含まれます。shutdown オプションの場合、停止した状態のゲストか、またはシャットダウン要求を無視するゲストか、またはシャットダウンにより長い時間がかかっているだけのゲストを区別する方法がないため、注意して使用してください。ON_SHUTDOWN=shutdown を設定する際には、SHUTDOWN_TIMEOUT をゲストに適した値に設定する必要もあります。

    5

    PARALLEL_SHUTDOWN: 任意に実行されるシャットダウン時のゲスト数がこの変数で設定される数を超えないようにし、かつゲストが同時にサスペンドするように指定します。0 に設定される場合、ゲストは同時にシャットダウンしません。

    6

    ゲストがシャットダウンするのを待機する秒数です。SHUTDOWN_TIMEOUT が有効な場合、このタイムアウトが、変数 URIS で定義される単一 URI 上のすべてのゲストをシャットダウンするタイムアウトとして適用されます。SHUTDOWN_TIMEOUT0 に設定される場合、タイムアウトはありません (ゲストがシャットダウン要求に応答しない可能性があるため注意して使用してください)。デフォルトの値は 300 秒 (5 分) です。

    7

    BYPASS_CACHE には無効にするためには 0、有効にするには 1 とする 2 つの値を使用することができます。有効にされている場合、ゲストが復元するとファイルシステムのキャッシュをバイパスします。この設定はパフォーマンスに影響を与え、一部のファイルシステムの操作の速度を低下させる可能性があることに注意してください。
  2. libvirt-guests サービスを起動します。

    サービスをまだ起動していない場合は、libvirt-guests サービスを起動します。サービスの再起動により、実行中のすべてのゲスト仮想マシンがシャットダウンする可能性があるので実行しないでください。