仮想マシンのスナップショット機能を活用することで、仮想マシンの電源を投入したままバックアップ可能な状態を作るが、「スナップショットを取得する瞬間」のディスクデータの整合性に関しても考慮しなければならない。スナップショットの取得処理自体は数秒で完了するが、その瞬間はI/Oを一時的に停止させておかなければならない。またゲストOS側が提供しているファイルシステムバッファキャッシュを適切にディスクにフラッシュさせてからスナップショットを取得することが望ましい。理想的には、ファイルシステムの同期に加えて、アプリケーションもその種類によっては事前に停止させたり、あるいはメモリ上のデータをいったんフラッシュさせバックアップ可能な状態に遷移させてからスナップショットを取得したいという場合もあるだろう。ただ、これらを全て実現するためにはゲストOS並びに上位アプリケーションとの連携が必要となるため、ゲストOSやアプリケーションによって連携レベルが変わってくる。
ハイパーバイザによるI/Oクワイジング処理はゲストOSの種類を問わずに実行される処理である。スナップショットを取得する瞬間、ハイパーバイザ側の機能によりI/Oをいったん停止させ、スナップショットの取得処理が完了したら再びI/Oを回復させる。
ハイパーバイザによるI/Oクワイジングが単独で利用された場合は、ゲストOS側のファイルシステムバッファキャッシュやアプリケーションの状態などに関する考慮は行われないため、そのバックアップからの復元は「クラッシュコンシステントなリカバリ処理」を行うことになる。
とはいえ、近年のオペレーティングシステムやアプリケーションの多くは、突然の電源切断から一定のレベルで回復する機能を有しており、クラッシュコンシステントなリカバリであっても多くの場合において対応できるようになっている。
ゲストOSの種類によっては、VMware Toolsのインストール作業の一環として「SYNCドライバ」と呼ばれる専用のドライバがインストールされる。SYNCドライバが利用可能なゲストOSでは、上記のハイパーバイザによるI/Oクワイジングと連携する形でファイルシステムのフラッシュ処理を実行させることができる。このため、ファイルシステムバッファキャッシュのデータがディスク上に同期されてからスナップショットの取得処理が実行されるため、ファイルシステムレベルにおける整合性があるバックアップ/リカバリを行うことができる。
一部のWindows OSはMicrosoft Volume Shadow Copy Service(以下VSSと略記)と呼ばれる機構をネイティブに保有している。上記のSYNCドライバはヴイエムウェア製のモジュールを利用するが、VSSはゲストOSの基本機能として備わっている機構であるため、より適切な連携が可能になる。VMware Data Recoveryでは、一部のWindowsゲストOSについてはVSSと連携することで、ファイルシステムのフラッシュを行うことが可能となっている。VSSのプロバイダもVMware Toolsの一部という形でゲストOS内にインストールされる。
VSSを利用した連携にもレベルがあり、ファイルシステムレベルの連携に加えて、上位アプリケーションとの連携を実現する方法も提供されている。一部のWindowsゲストOSを利用している場合はこちらの機能も利用することが可能である。
SYNCドライバやVSSとの連携が提供されていないゲストOSを利用している場合や、Windows系ゲストOSを利用していてもVSSに対応していないアプリケーションを利用している場合など、上記の方法では連携レベルが不足する仮想マシンもあることだろう。そのような場合は「カスタムクワイジングスクリプト」と呼ばれる方法を利用することができる(注:クワイズquiesceとは動作中のプロセスをいったん停止するという意味)。
カスタムクワイジングスクリプトとは、スナップショット取得の直前と直後それぞれのタイミングにおいて、ゲストOSの内部で実行されるコマンドスクリプトをあらかじめ仕込んでおく仕組みのことである。例えばLinux系のゲストOSを利用しているためSYNCドライバやVSSが利用できない仮想マシンがあったとする。このままではハイパーバイザによるI/Oクワイジングで単純にI/Oが停止されスナップショットの取得が行われてしまうが、カスタムクワイジングスクリプトを設定しておくことで、スナップショット取得の直前にアプリケーションの停止、ファイルシステムのsyncとumount などを行い、スナップショット取得完了後すぐに再びmountとアプリケーションの起動を行わせる、などの仕組みを実装することができる。
カスタムクワイジングスクリプトは、Linux、Solaris、Windowsの各ゲストOSで利用できる。また上記のSYNCドライバやVSSとの連携がサポートされているゲストOSを利用している場合は、両方を併用することができる。
上記で解説した各種クワイジング機構は、仮想マシン上で動作させているゲストOSの種類や32-bit/64-bitのエディションの違いなどによっても利用可能なレベルが異なる。また、カスタムクワイジングスクリプトの構成方法なども異なる。これらの情報は、マニュアル「VMware Data Recovery管理者ガイド」に一覧化されているため、ダウンロードの上ご確認いただきたい。
VMware Data Recoveryのドキュメント入手先:http://www.vmware.com/jp/support/pubs/vdr_pubs.html
今回は、vSphere 4環境における簡易的なバックアップ/リストアツールであるVMware Data Recoveryについて紹介した。シンプルで容易に利用できる製品でありながら、本格的な機能も備る奥の深い製品である。VMware Consolidated BackupやvStorage API for Data Protectionにおいても、仮想マシンのスナップショット機構やI/Oクワイジングのメカニズムに関する考え方は同じであるため、サードパーティ製のバックアップソフトウェアを利用する場合においても本稿で紹介した内容は役立つはずだ。
次回は本連載の最終回として、ESXiと呼ばれる次世代型のシン・ハイパーバイザの位置付けと将来について紹介する。
Copyright © ITmedia, Inc. All Rights Reserved.