ホストレベルとゲストレベルのHyper-Vバックアップ
MicrosoftのHyper-V仮想化プラットフォームを使用する場合、仮想マシンのバックアップは極めて重要です。VMデータを安全に保つためには、Hyper-V VMバックアップのさまざまな方法と、どの方法が自身のニーズに最も適しているかを理解しておく必要があります。 Hyper-V VMのバックアップには、ゲストレベルとホストレベルの2つのアプローチがあります。
ゲストレベルの手法は物理マシンのバックアップに似ており、各VMにインストールされたエージェントを利用してVMレベルで動作します。一方、ホストレベルのバックアップは、ハイパーバイザーレベルで動作し、構成情報を含むVM全体をバックアップするため、復旧が容易になるなど、より多くの利点があります。本ブログ記事では、これらの両方の手法について、その機能とともに詳しく解説します。 NAKIVO Backup & Replication ホストレベルのバックアップ用。
ゲストレベルのHyper-Vバックアップ
ゲストレベルのVMバックアップは、物理ホストのバックアップと似ています。バックアップ処理を実行するために、ゲストOS(オペレーティングシステム)に専用のエージェントベースのソフトウェアがインストールされます。Windows向けのバックアップ製品のほとんどは、Microsoftのボリュームシャドウコピーサービス(VSS、別名ボリュームスナップショットサービス)を利用しています。VSSは、 アプリケーション対応バックアップ スナップショットによるデータのコピー。この処理には、VSSの特別なコンポーネントである"VSSライター"が使用されます。Linuxでは、LVM(論理ボリュームマネージャー)のスナップショットを同様の目的で使用できます。
エージェントの役割
エージェントとは、物理コンピュータや仮想マシンにインストールされ、ファイルシステムやアプリケーションと連携するバックアップソフトウェアの一種です。エージェントを使用すると、システム全体や個々のファイル、プログラムのコピーを作成できます。エージェントは通常、ゲストOS内でシステムプロセスとして実行され、バックアップを管理できるサーバーとネットワーク接続を確立します。エージェントを使用するバックアップソリューションは、しばしば 従来のバックアップソリューション.

仮想環境におけるゲストレベルバックアップのユースケース
ゲストレベルのバックアップは、次のような場合に利用できます:
- ゲストOSがハイパーバイザーによって公式にサポートされていない場合、ホストレベルの方法を使用してアプリケーションの一貫性を保ったバックアップを作成することはできません。
- 仮想マシンがゲストOSレベルで共有ストレージに接続されている場合、またはホストレベルのバックアップソフトウェアでサポートされていない直接接続された物理ディスク(パススルーディスクを含む)を使用している場合。 たとえば、VM が iSCSI プロトコル(ゲスト内の iSCSI イニシエーターを使用)を介して SAN(ストレージエリアネットワーク)LUN(論理ユニット番号)に接続されており、データベースサーバーやファイルサーバーなどのソフトウェアがそのボリュームを使用している場合を考えます。 この場合、Hyper-VのVSSライターは、VMが使用するすべてのディスク(VHD仮想ディスク内のボリュームおよび直接接続された物理ディスクのボリューム)に対して、完全に一貫性のあるバックアップを実行できません。これは、適切なバックアップを行うためには、スナップショットを取得する際に、アプリケーションと両方のディスクタイプをクワイエット状態にする必要があるためです。 パススルーディスクは、ホストレベルでのバックアップを実行するために、VHD仮想ディスクに変換することができます。なお、VMはNAS(ネットワーク接続ストレージ)デバイスやSANなどの共有ストレージ上に配置することも可能です。これらのソリューションは、クラスタリングを使用したホストレベルのバックアップを実行するために利用されます。

- 仮想化環境が小規模な組織の中には、コスト削減を目的としてゲストレベルのVMバックアップを採用しているところがあります。しかし、このアプローチは推奨されません。かつては、VMの数が少ない環境ではエージェントベースのレガシーソリューションの方が経済的であったため、この手法にも一理あったかもしれませんが、現在では小規模なHyper-V環境向けに、同程度(あるいはそれ以上)に手頃な価格のホストレベルのVMバックアップソリューションが存在するからです。
ゲストレベルでのバックアップのデメリット
- 各仮想マシンにエージェントをインストールする必要があり、これは手間がかかり、時間がかかります。
- 復旧プロセスはより複雑です。まず空のVMを作成し、そのVMの設定(仮想CPU、メモリ、ディスク、ネットワークなど)を行う必要があります。その後に初めてVMを復元することができ、再起動するには復元メディアが必要となります。
- コンピューティングリソースの消費量は、特に1台のHyper-Vホスト上に存在する複数の仮想マシンを同時にバックアップする場合、大幅に増加します。
- エージェント型バックアップソフトウェアでは、エージェントの設定にroot権限または管理者権限が必要となるため、セキュリティ上のリスクが生じる可能性があります。
- VMレベルのスナップショットはありません。
ホストレベルのHyper-Vバックアップ
Hyper-Vの仮想マシン(VM)のバックアップには、ホストレベルのバックアップ方法が推奨されます。ホストレベルのバックアップ方法は、ゲスト仮想マシンのレベルではなくハイパーバイザーのレベルで動作するため、VM内で実行されているオペレーティングシステムに関係なくバックアップを行うことができます。 仮想マシンは、仮想ディスクファイル(Hyper-V では VHD 形式で示される)や、CPU、メモリ、ネットワークなどの VM 設定が保存されている構成ファイルを含め、完全にバックアップできます。ホストレベルのバックアップ方法には、"保存状態(Saved State)方式"と"子 VM スナップショット方式"の 2 種類があります。

セーブ状態のメソッド
その セーブ状態の取得方法 これは、アプリケーションの状態を認識しないオフライン方式です。この方式を使用する場合、Hyper-Vのボリューム シャドウ コピー サービスがVSSライターを割り当て、バックアップ処理を実行します。その時点でVMが実行中の場合、VMは"保存状態"に移行します。これは、スナップショットの取得中にVMが短時間オフラインになることを意味します。 Hyper-VのVSSライターは、VMを休止状態(ハイバネーション)に移行させます。これにより、開いているファイルが保存され、実行中のアプリケーションの状態が仮想ハードディスクに記録されることが保証されます。
セーブ状態メソッドはどのように機能するのでしょうか?
詳細に見ると、このプロセスは以下の段階から構成されています:
- スナップショットの準備 イベント。この時点で、バックアップソフトウェアはバックアップに向けたVMの準備を開始し、ハイバネーションモードを使用してVMの状態を保存します。
- スナップショットの取得。このステップでは、VMMS.exe(Virtual Machine Management Service)プロセスとして実行されるHyper-VのVSSライターが使用されます。スナップショット(別名 VMチェックポイント (Hyper-V 環境内)でスナップショットが取得され、バックアップ ソフトウェアはそのスナップショットに基づいてバックアップを作成します。スナップショットを作成することで、コピー処理中にデータが変更されるのを防ぎつつ、VM のデータをバックアップすることができます。これが完了すると、PostSnapshot イベントが発生します。
- 投稿スナップショット イベント。VMは以前の状態に戻ります(つまり、休止状態から復帰します)。
子VMのスナップショット作成方法
子VMのスナップショット作成方法 これはアプリケーションを意識した方法であり、実行中のVMのバックアップに推奨されます。この方法は、高可用性を必要とする本番環境でも使用できます。 バックアップ操作中もVMはオンライン状態を維持しますが、作成されるバックアップはトランザクションの一貫性を保っています。"保存状態方式"が子VMの外側でHyper-V VSSを使用するのに対し、"子VMスナップショット方式"は子VM内部のVSSメカニズム( “child VM” は “guest VM”と同義)を使用してバックアップを作成します。
"子VMスナップショット"の手法はどのように機能するのでしょうか?
このイベントの進行は、"セーブ状態法"と一部類似しています。
- スナップショットの準備 イベント。子VM内のHyper-V VSSリクエスターサービスが、バックアップの作成を開始するためにPrepareForSnapshotイベントをトリガーします。
- スナップショットイベントの実行。VSS リクエスター サービスからの要求を受け取ると、スナップショットが作成されます。その後、制御は Hyper-V VSS リクエスター サービスから Hyper-V VSS ライターに戻ります。
- 投稿スナップショット イベント。VSSライターは、VMのスナップショット作成が完了したことをバックアップソフトウェアに通知するために、PostSnapshotイベントをトリガーします。これにより、バックアップソフトウェアはVMのバックアップ処理の一環として、そのスナップショットをコピーすることができます。
Hyper-V 統合サービスの役割
Hyper-V 統合サービス これらは"子VMスナップショット方式"によるバックアップに使用され、ハイパーバイザーと子VM間の特別な連携を実現します。これらのサービスは、必要に応じて個別に有効化または無効化できる一連のドライバーとサービスで構成されています。前述のVSSリクエスターサービスは、Integration Servicesスイートの一部であり、ホストレベルのバックアップを実行するには、仮想マシンにこれをインストールする必要があります。
Windows Server 2008 R2 および Windows 7 以降、Integration Services はオペレーティング システムに組み込まれています。VM 上で Integration Services を手動でインストールまたは更新する場合は、Hyper-V マネージャーを使用し、VM の仮想ドライブに vmguest.iso 仮想ディスク イメージをマウントすることで実行できます。 Hyper-V ホスト上で Integration Services を手動で更新するには、Microsoft のサイトからダウンロードし、PowerShell を通じてインストールします。Windows 10 および Windows Server 2016 では、Windows Update サービスを通じて、ゲストだけでなくホスト上の Integration Services も更新できます。
"子VMスナップショット"方式の利用要件
"子VMスナップショット方式"でバックアップを実行するには、以下の条件を満たす必要があります:
- Hyper-V VSS リクエスターを含む Hyper-V 統合サービスは、子仮想マシンにインストールする必要があります。
- VM内のすべてのボリュームは、ダイナミックディスクではなくベーシックディスクとして構成する必要があります。子VM内のディスクのファイルシステムは、スナップショットに対応している必要があります(たとえば、NTFSファイルシステムはこの要件を満たします)。
- VMのスナップショットファイルは、VHDファイルと同じボリュームに配置する必要があります。
- 子VMは実行中である必要があります。
上記の条件のいずれかが満たされない場合、"子VMスナップショット方式"は使用できません。その場合は、"保存状態方式"がデフォルトの方法として使用されます。
ホストレベルでのバックアップ手法のメリット
前述の通り、Hyper-V 仮想マシンのバックアップにはホストレベルの方法が推奨されており、ゲストレベルの方法に比べて多くの利点があります。これらの利点は、次のように要約できます。
- ハイパーバイザーレベルのバックアップは管理が容易です。エージェントは不要です。バックアップ製品は、Hyper-Vホスト全体およびそのホスト上に存在するすべてのVMを管理できます。バックアップが必要な特定のVMを選択することも可能です。
- バックアップ処理の際、仮想ディスク、スナップショット、VM設定を含むVMのすべてのコンテンツが取得されます。VMを復元する際は、ハイパーバイザーと保存先を選択するだけで済み、新しいVMを作成して手動で設定する必要はありません。
- "子VMスナップショット方式"を使用して、Hyper-V VMのオンライン・アプリケーション対応バックアップを実行できる機能。これは本番環境において極めて重要です。仮想マシンの稼働が中断されることはなく、バックアップはトランザクション一貫性を保ちます。
- リソースの消費量(プロセッサ、メモリ、ディスク容量)。
使用 NAKIVO Backup & Replication Hyper-Vのバックアップを改善する
NAKIVO Backup & Replication ホストレベルのメソッドを使用してHyper-V仮想マシンをバックアップし、バックアップジョブの設定プロセスを簡素化します。 NAKIVO Backup & Replication Hyper-V Server 2012 R2およびHyper-V Server 2016のネイティブバックアップ機能を提供し、稼働中の仮想マシンをダウンタイムなしでブロックレベルのイメージベースのバックアップを行うことができます。
また、本製品はいくつかの異なるストレージ節約技術を採用しています。Hyper-Vのバックアップは、以下の理由により増分バックアップとなります。 回復力のある変更追跡 (RCT)は、前回のバックアップ以降に変更されたデータブロックを追跡するものです。Hyper-Vのバックアップデータは、リポジトリに フル合成モード. Hyper-Vのバックアップ処理ではスワップファイルは除外され、データはグローバルに重複排除されるため、サイズがさらに縮小されます。
特徴 NAKIVO Backup & Replication Hyper-Vのバックアップを改善する
- アプリケーション対応バックアップモードを使用すると、Microsoft Exchange、SQL Server、Active Directory、およびその他のアプリケーションやデータベースを実行している仮想マシンの一貫性のあるバックアップを作成できます。
- Hyper-VのバックアップをAzureやAWSのクラウドにリモートで保存することで、災害に対するさらなる保護策となります。
- 組み込みのバックアップ検証機能により、バックアップの一貫性が確認され、リポジトリに保存されたバックアップデータがソースVMのデータと完全に一致していることを確認できます。スクリーンショット検証機能では、バックアップ実行直後に、復元テスト対象の子VMの起動済みOSのスクリーンショットが自動的にメールで送信されます。
- クラスター対応機能により、Hyper-V フェールオーバー クラスター内の仮想マシンをバックアップできます。仮想マシンは、クラスター内の異なるホスト間で配置を変更することが可能です。本製品は仮想マシンの配置を自動的に追跡するため、常にバックアップを行うことができます。
結論
Hyper-V 仮想マシンについては、ゲストレベルおよびホストレベルのバックアップ方法について解説しました。ゲストレベルのバックアップにはエージェントの使用が必要ですが、ホストレベルのバックアップには、復旧が容易であることやリソースの節約など、多くの利点があります。そのため、 NAKIVO Backup & Replication アプリケーションを意識したホストレベルのHyper-Vバックアップを実行します。
チャイルドVMスナップショット方式は、仮想マシンの動作を中断することなく、トランザクションの一貫性を保ったオンラインバックアップを作成できるため、通常、本番環境ではこの方式が推奨されます。VMがオフラインの場合は、セーブドステート方式を使用できます。互換性の問題やその他の制約により、いずれのホストレベルバックアップ方式も使用できない場合は、ゲストレベルのバックアップを実行できます。