第13章 スナップショットを使用した仮想マシンの状態の保存と復元

仮想マシン (VM) の現在の状態を保存するには、仮想マシンの スナップショット を作成します。その後、スナップショットに戻すことで、仮想マシンを保存した状態に戻すことができます。

仮想マシンのスナップショットには、仮想マシンのディスクイメージが含まれます。実行中の仮想マシンからスナップショット (ライブスナップショット とも呼ばれます) を作成すると、そのスナップショットには、実行中のプロセスやアプリケーションを含む仮想マシンのメモリー状態も含まれます。

スナップショットを作成すると、たとえば次のタスクに役立ちます。

  • ゲストオペレーティングシステムのクリーンな状態を保存する
  • 仮想マシン上で破壊的な影響を与える可能性のある操作を実行する前に復元ポイントを確保する

13.1. 仮想マシンのスナップショットのサポート制限

Red Hat は、お客様が 外部 スナップショットを使用する場合にのみ、RHEL 上の仮想マシン (VM) のスナップショット機能をサポートします。現在、外部スナップショットは、次の要件をすべて満たしている場合にのみ RHEL で作成されます。

  • ホストが RHEL 9.4 以降を使用している。
  • 仮想マシンがファイルベースのストレージを使用している。
  • 次のいずれかの条件の下で仮想マシンのスナップショットを作成する。

    • 仮想マシンがシャットダウンされている。
    • 仮想マシンが実行中の場合は、--disk-only --quiesce オプションまたは --live --memspec オプションを使用する。

他のほとんどの設定では、内部 スナップショットが作成されます。これは RHEL 9 では非推奨です。内部スナップショットはお客様のユースケースに適している可能性がありますが、Red Hat は内部スナップショットの完全なテストとサポートを提供していません。

警告

実稼働環境では内部スナップショットを使用しないでください。

スナップショットがサポートされていることを確認するには、スナップショットの XML 設定を表示し、スナップショットの種類とストレージを確認します。

# virsh snapshot-dumpxml <vm-name> <snapshot-name>
  • サポートされているスナップショットの出力例:

    <domainsnapshot>
      <name>sample-snapshot-name-1<name>
      <state>shutoff</state>
      <creationTime>1706658764</creationTime>
      <memory snapshot='no'/>
      <disks>
        <disk name='vda' snapshot='external' type='file'>
          <driver type='qcow2'/>
          <source file='/var/lib/libvirt/images/vm-name.sample-snapshot-name-1'/>
        </disk>
      </disks>
      <domain type='kvm'>
      [...]
  • サポートされていないスナップショットの出力例:

    <domainsnapshot>
      <name>sample-snapshot-name-2</name>
      <state>running</state>
      <creationTime>1653396424</creationTime>
      <memory snapshot='internal'/>
      <disks>
        <disk name='vda' snapshot='internal'/>
        <disk name='sda' snapshot='no'/>
      </disks>
      <domain type='kvm'>
      [...]