仮想化導入ガイドPart8 仮想マシンの効果的なバックアップ法:Step by Step
今回と次回は、仮想データセンターにおける高可用性の確保に焦点を当て、今回はVMのバックアッププロセスを、次回は仮想環境でのフェイルオーバーとクラスタリングを取り上げる。
仮想データセンターのリソース管理は複雑になりがちだ。仮想マシン(VM)の可用性を常に確保し、仮想環境のゲストやホスト、そのほかの要素に障害が発生しても、迅速なディザスタリカバリと確実なフェイルオーバーを実現するには、細心の注意と熟練が要求される。
仮想インフラに関するこの連載では、物理サーバ管理のスキルを持つITマネジャーがVM管理に対応するのに役立つ記事をお届けしている。記事では仮想化に関連する新技術を紹介するとともに、一部の分野では効果的なソリューションがまだ提供されていないことを指摘している。今回と次回は、仮想データセンターにおける高可用性の確保に焦点を当て、今回はVMのバックアッププロセスを、次回は仮想環境でのフェイルオーバーとクラスタリングを取り上げる。
従来型のアプローチ
仮想データセンターでは、バックアップは従来と同じ方法で行うこともできる。この場合、各ゲストOSにバックアップエージェントをインストールし、ファイル、パーティション、あるいは仮想ディスク全体を別の場所にコピーすることになる。
このアプローチは有効だが、仮想環境では大きな問題が生じる恐れもある。各VMが、ホストOSによって提供される同じI/Oチャネルを使用するからだ。複数のVMが同時にバックアップを開始すると、I/Oがボトルネックになるのは避けられない。
このトラフィックの混雑を回避するには、管理者は、一連のバックアップのタイミングを慎重に計画し、個々のバックアップの間隔を十分に取って、ゲストOS同士がこうしたI/O負荷の高いオペレーションを同時に行わないようにする必要がある。
しかし、残念ながら、この方法はスケーラブルではない。かなり多くのVMを稼働させている場合には、複数のバックアップが同時に行われるのは避けられない。各VM上のアプリケーションのニーズに応じて、各仮想ディスクに、例えば20Gバイトものデータが保存されていると、それぞれをバックアップするのに何時間もかかるからだ。
また、ゲストOSのバックアップをリストアする際には、管理者はまず空の仮想マシンをあらためて作成し、それらの上でベアメタルリカバリ(データだけでなく、OSや各種設定を含めた復旧)用CDを起動して、OSの再インストールから作業を始めければならない。
リスキーな選択肢
もう1つのアプローチは、ゲストOSのバックアップをホストレベルで透過的に行うというものだ。
VMの実体は、ホストOSのファイルシステム上にある、スプレッドシートや画像などと同様の個別のファイルの集合体であるため、仮想技術の初心者は、このバックアップ方法の方が簡単だと考えるかもしれない。しかし、実はこの方法ははるかに難しい。
まず第1に、VMは、開かれているファイルがプロセスやアプリケーションによってロックされているもの、というように考えられる(例えば、Microsoft Outlookに保持されている、拡張子がpstの電子メールアーカイブになぞらえることができる)。こうしたファイルをバックアップするには、特別な方法でアクセスし、状態のイメージ(一般にスナップショットと呼ばれる)をフリーズし、そのバックアップを行わなければならない。
この作業は、バックアップソフトウェアが開かれているファイルを扱える場合にのみ行えるが、ホストOSが支援機能を提供する場合もある。例えば、マイクロソフトのWindows Server 2003は、ボリュームシャドウコピーサービス(VSS)という機能を提供しており、この機能は、サードパーティーソリューションがスナップショットを作成するために呼び出すことが可能だ。
だが、開かれているファイルを扱えたとしても、ライブバックアップを行うために対応しなければならない問題はほかにもある。それは、仮想マシンは開かれているファイルであるだけでなく、仮想ハードウェアすべてにアクセスする完全なOSでもあることだ。
状態のスナップショットが作成されるたびに、仮想メモリや割り込みも含め、すべてがフリーズされる。これは仮想環境では、停電が発生したのと同じ状態であるため、ゲストのファイルシステムが破損する恐れがある。
停電発生時もデータを破損させない堅牢なOSも提供されているが、このバックアップアプローチは、ごく少数のベンダーしかサポートしていない。その1社がビジョンコアだ。同社は、VMware ESX Server上でかなり自動的にVMのライブバックアップを行える製品であるesxRangerで人気を得ている。
勇敢にも、ベンダーのサポートを受けずにこのバックアップアプローチを試したい場合には、有名なVMBKスクリプトが利用できる。このスクリプトはマシミリアーノ・ダネリ氏が作成したもので、VMware ESX Serverの仮想マシンの基本的なライブバックアップを実行できる。
マイクロソフトもVirtual Server 2005 R2でこうしたアプローチをサポートしようとしており、この製品に重要な新機能を付加するSP1のβ版でサポートを始めている。だが同社は、Windowsに標準搭載のMicrosoft Backupをこうしたバックアップ作業に使用することは、許可しない見通しだ。
定番の方法と新技術
VMのバックアップ方法として一般に受け入れられており、仮想化ベンダーからも、停電状態の回避策として唯一本当に支持されているのは、稼働中のVMを一時停止(サスペンド)または終了し、バックアップを実行し、レジュームまたは起動を行うという方法だ。ただし、残念ながらこの方法は、可用性の高いサービスの提供という方向に反しており、管理者はミッションクリティカルなVMに、従来のエージェントベースのバックアップ方法を適用しなければならない。
ライブバックアップの問題が最終的に解決されるのは、OSの仮想化サポートがさらに向上してからだろう。だが、ここで注意しなければならないのは、この2つ目のバックアップ方法も、ホストのI/Oチャネルに負荷をかけることだ。
I/O負荷の問題を完全に解消するには、バックアップポイントを、ホストからSANストレージに移さなければならない。そうすれば、仮想化プラットフォームに直接影響を与えることなく、VMのファイルを操作することが可能だ。
ヴイエムウェアは業界に先駆けてこうしたソリューションを導入したが、今のところ、そのVMware Consolidated Backup(VCB)製品には明らかな限界がある。ESX Serverにしか対応していないこと、サードパーティーのバックアップソリューションを補助する役割を果たすにとどまること(顧客は製品ごとに異なるスクリプトを構成し、インストールしなければならない)、リストア機能がないことだ。
一方、ストレージネットワークを利用してバックアップを行う方法はほかにもある。SAN管理ソフトウェアを使ってLUN(論理ユニット)のクローンを作成するというものだ。この方法では通常、十分きめ細かなバックアップはできない。SAN自体はLUNのフォーマットをネイティブに認識しないことから、個々の仮想マシンを自由に選択してバックアップすることはできないためだ。
LUNのフォーマットが認識されるかどうかは、どのストレージ管理ソフトウェアを使うか、どのファイルシステムがサポートされているかによって決まる。例えば、ストレージ管理ソフトウェアが、NTFSでフォーマットされたLUNを認識するのであれば、VMware Server上のWindows仮想マシンをバックアップできる。また、ストレージ管理ソフトウェアがVMFSをサポートしない場合は、VMware ESX Server上の仮想マシンをバックアップすることはできない。
LUNのフォーマットが認識されない場合や、優れたストレージ管理ソリューションを持っていない場合には、複数の仮想マシンを含むLUN全体のクローンを作成しなければならない。この場合、そのうち1つの仮想マシンだけをリストアしたいときも、すべてリストアしなければならない。
VMのバックアップの現状は以上の通りだ。後半となる次回は、さらに難しい分野である仮想環境でのフェイルオーバーとクラスタリングについて見てみよう。
本稿筆者のアレサンドロ・ペリリ氏は、ITセキュリティと仮想化技術の著名アナリスト。CISSP(公認情報システムセキュリティプロフェッショナル)の認定を得ており、チェックポイント、シスコ、シトリックス、CompTIA、マイクロソフト、プロソフトの認定資格も持っている。2006年にはセキュリティ技術分野でのマイクロソフトMVP(Most Valuable Professional)を受賞した。最新の仮想化技術を広く啓蒙する活動の草分けであり、有名なブログvirtualization.infoを立ち上げた。優れたITセキュリティコンサルティング/トレーニングサービスをイタリアで提供するFalse Negativesプロジェクトの創設者でもある。
Copyright © ITmedia, Inc. All Rights Reserved.