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

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

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

セーブ状態の保存方法
その セーブ状態の保存方法 これは、アプリケーションの状態を認識しないオフライン方式です。この方式を使用する場合、Hyper-Vのボリューム シャドウ コピー サービス(VSS)が、バックアップ処理を実行するためにVSSライターを割り当てます。その時点でVMが実行中の場合、VMは”保存済み状態”に移行します。つまり、スナップショットの取得中は、VMが短時間オフライン状態になります。 Hyper-VのVSSライターは、VMを休止状態にします。これにより、開いているファイルが保存され、実行中のアプリケーションの状態が仮想ハードディスクに記録されることが保証されます。
“セーブ状態方式”はどのように機能するのでしょうか?
このプロセスを詳細に分解すると、以下の段階から構成されています:
- スナップショットの準備 イベント。この時点で、バックアップソフトウェアはバックアップに向けたVMの準備を開始し、ハイバネーションモードを使用してVMの状態が保存されます。
- スナップショットの作成。このステップでは、VMMS.exe(Virtual Machine Management Service)プロセスとして実行されるHyper-VのVSSライターが使用されます。スナップショット(別名 VMチェックポイント (Hyper-V 環境において)スナップショットが取得されると、バックアップ ソフトウェアはそのスナップショットに基づいてバックアップを作成します。スナップショットを作成することで、コピー処理中にデータが変更されることを防ぎつつ、VM のデータをバックアップすることができます。これが完了すると、PostSnapshot イベントが発生します。
- PostSnapshot イベント。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 ライターに戻ります。
- PostSnapshot イベント。VSSライターは、VMのスナップショット作成が完了したことをバックアップソフトウェアに通知するために、PostSnapshotイベントをトリガーします。これにより、バックアップソフトウェアは、VMのバックアップ処理の一環として、そのスナップショットをコピーすることができます。
Hyper-V 統合サービスの役割
Hyper-V 統合サービス これらは、”子VMスナップショット方式”によるバックアップに使用され、ハイパーバイザーと子VM間の特別な連携を実現します。これらのサービスは、必要に応じて個別に有効化または無効化できる一連のドライバーおよびサービスで構成されています。前述のVSSリクエスターサービスは、統合サービススイートの一部であり、ホストレベルのバックアップを実行するには、仮想マシンにこれをインストールする必要があります。
Windows Server 2008 R2 および Windows 7 以降、Integration Services はオペレーティング システムに組み込まれています。VM 上で Integration Services を手動でインストールまたは更新する場合は、Hyper-V マネージャーを使用し、vmguest.iso 仮想ディスク イメージを VM の仮想ドライブにマウントすることで実行できます。 Hyper-V ホスト上で Integration Services を手動で更新するには、Microsoft のサイトからダウンロードし、PowerShell を通じてインストールします。Windows 10 および Windows Server 2016 では、Windows Update サービスを通じて、ホストおよびゲストの両方で Integration Services を更新できます。
子VMスナップショット方式の利用要件
“子VMスナップショット方式”でバックアップを実行するには、以下の条件を満たす必要があります:
- Hyper-V 統合サービス(Hyper-V VSS リクエスターを含む)は、子仮想マシンにインストールする必要があります。
- VM内のすべてのボリュームは、ダイナミックディスクではなく、ベーシックディスクとして構成する必要があります。子VM内のディスクのファイルシステムは、スナップショットに対応している必要があります(たとえば、NTFSファイルシステムはこの要件を満たします)。
- VMのスナップショットファイルは、VHDファイルと同じボリューム内に配置する必要があります。
- 子VMは実行中である必要があります。
上記の条件のいずれかが満たされない場合、”子VMスナップショット方式”は使用できません。この場合、デフォルトの方法として”保存状態方式”が使用されます。
ホストレベルのバックアップ手法のメリット
前述の通り、Hyper-V仮想マシンのバックアップにはホストレベルのバックアップ方式が推奨されており、ゲストレベルの方式に比べて多くの利点があります。これらの利点は、次のように要約できます。
- ハイパーバイザーレベルのバックアップは管理が容易です。エージェントは不要です。バックアップ製品は、Hyper-V ホスト全体およびそのホスト上に存在するすべての仮想マシンを管理できます。バックアップが必要な特定の仮想マシンを選択することができます。
- バックアップ処理の際、仮想ディスク、スナップショット、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の起動済みオペレーティングシステムのスクリーンショットが自動的にメールで送信されます。
- クラスター対応機能により、Hyper-V フェールオーバー クラスター内の仮想マシンをバックアップできます。仮想マシンは、クラスター内の異なるホスト間で配置を変更することができます。本製品は仮想マシンの配置を自動的に追跡するため、常にバックアップが可能です。
結論
Hyper-V 仮想マシンのバックアップ方法として、ゲストレベルとホストレベルの双方について解説しました。ゲストレベルのバックアップにはエージェントの使用が必要ですが、ホストレベルのバックアップには、復旧が容易であることやリソースの節約など、多くの利点があります。そのため、 NAKIVO Backup & Replication アプリケーションを意識したホストレベルのHyper-Vバックアップを実行します。
通常、本番環境では”子VMスナップショット方式”が推奨されます。これは、仮想マシンの動作を中断することなく、トランザクションの一貫性を保ったオンラインバックアップを作成できるためです。VMがオフラインの場合は、”保存状態方式”を使用できます。互換性の問題やその他の制約により、いずれのホストレベルのバックアップ方式も使用できない場合は、ゲストレベルのバックアップを実行することができます。