2011年4月19日火曜日

仮想化環境におけるバックアップ手法

 リカバリに先立ち、どのようなバックアップ方法があるのか、ここで代表的な方法を簡単に紹介したい。
(1)仮想マシンにバックアップエージェント
 従来の物理環境の方法をそのまま適用する、エンドユーザーサイドでもノウハウがあるなどの理由で使用されるケースが多い。バックアップソフトウェアからは、一部の例外を除き、原則的に物理環境との違いはないといえる。
メリット
1. 容易な導入
2. 個別ファイルの検索、リストア
3. データベースエージェントとの連携 (コラムを参照)
デメリット
1. 仮想マシン全体のリカバリにおける煩雑さ
2. 全ての仮想マシンのバックアップソフトのエージェントをインストール
3. ハードウェアリソースの消費
最近では、1台の物理サーバに数十、ときには百を超える仮想マシンが動作するのが一般的になる中で、特定の仮想マシンのバックアップにより物理リソースを消費することで他の仮想マシンへのリソース面で影響が発生し、結果として統合効率を上げられないことにもつながる。バックアップに必要とされる主なリソースは、
(1)ディスクへのI/O、(2)バックアップサーバへのネットワーク転送、(3)CPUだ。

データベースのバックアップ
 データベース(DB)のバックアップやリカバリでは、実際のデータが格納されたデータファイルも重要であるが、むしろ変更履歴を管理しているログが重要になる。
 DBのログは、設定にも依存するが、基幹システムでは累積させる方法が一般的である。 累積させないと古いログが新しいログによって上書きされてしまい、任意の時点(=トランザクション)へのリカバリができないためである。
 一方、ログを累積させる場合、リカバリの柔軟性が向上するが、ログ情報が増え続けディスク容量を圧迫することを避けるため、周期的にログを削除する。DB管理者が主導でログの切り捨てなどを行うこともあるが、バックアップ処理とログの切り捨てを同時に行うことは多い。

(2)イメージファイルのバックアップ
 サーバ仮想化がもたらすメリットは数多くあるが、技術的なメリットのひとつが"カプセル化"と言われている。
 カプセル化は、仮想マシン(OSイメージ、データボリューム、これらの構成情報)をファイルとしてハイパーバイザが管理することである。つまり、これらのファイルをバックアップ、そしてリストアすれば、仮想マシン全体のリカバリが行え、運用をシンプルにできる。

 また、イメージファイルのバックアップでは、Windowsが提供するVSS(Volume Shadow copy Service)のフレームワークを使用することでスナップショット技術も日々進化しており、OSはもちろん、一部のデータベースまで対応している。
 たとえば、シマンテックのVSSを使用するとバックアップだけではなく、データベースのログの削除など、長期運用に必要となる機能も提供されている。代表的な例としては、「SQL Server」「 Exchange Server」などがあげられる。
メリット
1. バックアップソフトウェアのインストールや保守が不要
2. 仮想マシンへの影響を最小化
3. 個別ファイルの検索、リストア
4. 高速かつ効率的な増分バックアップ
5. スナップショットと連携した整合性のあるバックアップ
※3と4あるいは5は、バックアップソフトウェアによって対応がわかれるので事前にご確認いただきたい

デメリット(注意点)
1. トランザクションレベルでのデータベースのバックアップ
仮想マシンにエージェントか、イメージバックアップか
 今日の利用環境を前提とすると、イメージバックアップによるデータ保護を優先手法として検討することが望ましいといえる。
 残念ながら、スナップショットの観点では、全ての仮想マシンやゲストOS、アプリケーションに適用できるわけではないが、仮想マシン内にバックアップソフトウェアのエージェントを入れるのは、第2の候補として、イメージバックアップを補完する位置付けにすると考えやすいかもしれない。スナップショットの技術は、日々進化しており、対応アプリケーションやプラットフォームは今後も増えることが予想され、イメージバックアップへの統合が行える環境になっていくと考えられている。
 イメージバックアップは、サーバ仮想化の普及によって新たに提供された手法であり、導入には二の足を踏むユーザーもいるかもしれない。ただし、従来の物理環境での手法では、複雑性を排除できず、仮想化ならではのメリットが享受できないばかりか、時には統合効率の向上を抑制してしまう事態につながる場合もある。効率的なサーバ仮想化環境を構築し、同時に柔軟でシンプルなデータ保護戦略を実現するには、イメージバックアップが提供する方式が与えるメリットは大きいといえる。
 もちろん、スナップショットだけでなく、イメージファイルから個別のファイルやオブジェクト単位のリカバリがサポートされていることが前提だ。リカバリ要件に応じて、イメージファイル、個別ファイルそれぞれを別々にバックアップするのは生産性を伴わない大きなムダとなってしまう。

クラウド環境におけるベストプラクティス
 物理サーバの設置、ソフトウェア導入、サービス提供といった時間とプロセスを経た従来の企業内システムであれば、プロセスの一部にバックアップ手法の検討や導入も一緒に行われていただろう。ただし、サーバ仮想化をベースとしたサービス志向のクラウド環境では、スピードの勝負であるとともに、ユーザー主体の利用にポイントは移っている。クラウド運営者やIaaSベンダーは、バックアップを含めたインフラの運用に責任を持つ中で、いかに効率よく管理できるかが重要なポイントである。
 4月に日本語版をリリースした「Symantec NetBackup 7.1」では「仮想マシンインテリジェントポリシー」という仮想マシンの自動検出、バックアップ、必要に応じてロードバランシングまで実現する機能を搭載している。
 運用はいたってシンプルだ。まずNetBackupでバックアップ方法を指定するポリシーを定義する。これは従来通りだ。次に、どのようなルールで仮想マシンの検出や、このポリシーに適用するかの条件を指定する。たとえば、Financeで始まる仮想マシン全て、あるいはWindows Server 2008 R2というOSに対して、などである。この条件が満たされた仮想マシンが検出されると次回以降、自動的にバックアップが取得される。
 これはクラウド環境において求められる自動化を支援する大きな一歩となるが、このままでは、まだ万全ではない。仮想マシンの配置条件によっては、複数のハイパーバイザで動作している仮想マシンが均等に分散しているとは言えないからだ。バックアップを取得した結果、特定のハイパーバイザへ負荷が集中し、全体のパフォーマンス低下を招くと本末転倒である。
 そこで、バックアップを取得する前に全体の負荷分散を行うことによりバックアップ、そしてシステム全体の最適化を行うことまでが実現できる。管理者の手動管理の限界を超え、ますます大型化が進むデータセンターでのデータ保護は、このような高度な自動化が必要とされる状況にまできているとも言える。

0 件のコメント:

コメントを投稿