Hyper-Vのレジリエント変更追跡とは:VMバックアップにおけるRCTの活用
バックアップの効率化や、フルバックアップの間に重複しないデータブロックのみをコピーする(つまり、増分バックアップを作成する)という点において、変更追跡技術は極めて重要です。VMwareの Changed Block Tracking (CBT) は以前から提供されており、仮想環境でのバックアップ作成に関しては多くの人に親しまれています。Microsoft Hyper-V 環境でも同様の機能が利用可能です。Microsoft は自社の技術を Resilient Change Tracking (RCT). それでは、この技術について見ていきましょう Windows Server 2016 そして、その実装方法について学びましょう。
Hyper-V RCTとは何ですか?
Resilient Change Tracking(RCT)は、Microsoft Hyper-Vの機能の一つであり、仮想マシン(VM)の前回バックアップ以降に変更されたディスクブロックを追跡します。その結果、次に 増分バックアップ VMのデータのうち、変更されたブロックのみがバックアップストレージにコピーされます。
この技術は、VMwareの世界ではESX/ESXi 4.0および仮想マシンバージョン7以降(2011年頃以降)から存在していましたが、Hyper-Vの世界では比較的新しい技術です。それが導入されたのは RCT で Windows Server 2016 Hyper-V 仮想マシンにおいて、変更されたブロックを追跡する効率的な方法が実現されました。
2016年以前は、Hyper-V の変更追跡は、バックアップベンダーが実装した独自のフィルタドライバによって行われており、ソースとなる Hyper-V 仮想マシンからリポジトリへ、変更されたブロックのみをコピーしていました。
注: これを使用するには、Hyper-V 仮想マシンの構成バージョンが 6.2 以上である必要があります RCT.
それでは、その理由を見てみましょう Hyper-V Resilient Change Tracking バックアップソリューションには不可欠です。
Hyper-V を利用する理由 RCT
仮想化環境において、VMのフルバックアップを作成すると、そのVMがブロック単位で完全に複製されます。次のバックアップは、ソースマシンから変更されたブロックのみをコピーする増分バックアップを行うことが理想的です。バックアップリポジトリにすでにデータが存在する場合、重複するデータを何度もコピーするのは極めて非効率的です。毎回のサイクルでフルバックアップを作成すると、不要なデータをリポジトリに転送するためのバックアップウィンドウが長くなり、バックアップストレージの容量要件も高くなってしまいます。
ここで、変更追跡技術が役立ちます。Microsoftの RCTまた、サードパーティ製のデータ保護ソリューションを利用すれば、フルバックアップ後に変更されたデータブロックのみをコピーすることで、より高速かつ効率的な増分バックアップやレプリカを作成できます。
Hyper-Vの仕組み RCT バックアップ中に動作します
Resilient Change Tracking Hyper-V では、仮想マシンが使用するすべてのデータブロックのマッピングが作成されます。次のバックアップサイクルでは、変更追跡情報によって、前回のバックアップ以降に変更されたブロックが特定されます。その後のバックアップサイクルでは、変更されたブロックのみがコピーされます。
耐障害性変更追跡機能とは、仮想マシンがハードクラッシュしたり予期せぬ電源切断が発生したりした場合でも、変更内容を追跡し続けることができる Hyper-V の機能を指します。 Windows Server 2016 Hyper-V は、3 つの変更追跡ファイル(メモリ上に 1 つ、ディスク上に 2 つ)を実装することでこれを実現しています。これにより、前述のような不完全なシャットダウンや電源切断が発生し、メモリ内の変更追跡情報が失われた場合でも、ディスク上の変更追跡情報は保持されます。最初のフルバックアップが実行されると、2 つのファイルが作成されます。 Windows Server 2016 Hyper-V の設定が完了しました。
設定中に チェックポイントの作成プロセス バックアップ中に、次のようなメッセージが表示されます .vhdx ディスク用に作成されたファイルおよび .mrt そして .rct ファイル。これらのファイルが作成されていない場合は、 VMのバックアップ操作, それなら、あなたはまだ RCT バックアップ操作。おそらく、独自のバックアップソリューションのフィルタドライバが有効になっているバックアップ操作を選択したためです。
チェックポイントのロールオフが完了し、バックアップジョブが終了すると、残るのは .vhdx, .mrt そして .rct ファイル。
これらのファイルがどのような用途に使われるのか、説明しましょう。
- その
RCTまたはResilient Change Trackingこのファイルは、ディスク上の変更されたブロックを最も詳細に表したものです(ただし、メモリ内のマッピングほど詳細ではありません)。このファイルはライトバックモードまたはキャッシュモードで書き込まれます。つまり、マイグレーション、起動、シャットダウンなどの通常のVM操作中に使用されます。 - その
MRTまたはModified Region Tableファイルはライトスルーモードで書き込まれ、RCTファイルですが、ディスク上のすべての変更は記録されます。もし何か問題が発生した場合――クラッシュや停電など――MRTこのファイルは、変更されたブロックを復元するために使用されます。これにより、VMのフルバックアップを行うよりも大幅な時間の節約となり、効率的です。
ディスク上に変更追跡ファイルが必要な理由
変更されたブロックのメモリマッピングは、そのVMが同じホスト上に存在する間のみ有効です。そのホストがクラッシュしたり、VMが新しいホストに移行されたりすると、メモリ内の変更済みブロックのマッピングは失われます。前述の通り、 Windows Server 2016 Resilient Change Tracking 新しい RCT そして MRT files を使用することで、変更されたブロックの追跡情報がディスクに永続化されるため、VM を所有するコンピュータやメモリリソースに依存することなく参照できるようになり、この問題が解決されます。
使用 Hyper-V RCT VMバックアップ用 NAKIVO Backup & Replication
NAKIVOソリューションでMicrosoft Hyper-Vのバックアップジョブを作成する際、以下の設定を行うことができます Hyper-V RCT バックアップジョブに追加された1つまたは複数のVMの設定。もし Hyper-V 2016 VMのバックアップ元となるサーバーで、このバージョン以降がインストールされている場合は、ネイティブの Hyper-V RCT. Hyper-V 仮想マシンのバックアップオプションには、3つの変更追跡オプションが含まれています:
- 使用
Hyper-V RCT - 独自の方法を使用する
- 変更履歴なし(常に完全版)
Hyper-V RCT これは、バックアップ対象のソースVMが存在するHyper-Vホストにおいて、負荷が最も低く、最も効果的な選択肢です。 Hyper-V RCT このオプションは、以下で実行されているVMでは利用できません Hyper-V 2012.
設定を編集したり、使用中にエラーが発生した場合の動作を設定したりできます RCT:
- 独自の方法に切り替える
- 仮想マシンの処理に失敗しました
また、変更追跡の設定では、RCTが提供する変更ブロックを再確認するように選択できます。ツールチップにも記載されているように(クリックすると ⓘ)、これにより、バックアップサイクル間の変更追跡をさらに検証するため、ジョブの実行時間が長くなります。
結論
Resilient Change Tracking これは、仮想マシンの増分バックアップに役立つHyper-Vの機能です。この変更追跡機能は、 Hyper-V 2016, 2019, およびそれ以降のバージョン。現在、変更されたブロックはハイパーバイザーレベルで効果的に追跡されています。NAKIVOのようなデータ保護ベンダーは RCT 独自の変更追跡フィルターを作成する代わりに、専用のAPIを介して、より効率的なバックアップとレプリケーションを実現します。


