VMware バックアップ: 完全ガイド
VMware バックアップとは、VMware 環境内の仮想マシン (VM) 上のデータをコピーしてデータ損失を防止するプロセスです。VMware バックアップおよびその延長にある仮想サーバーバックアップは、バックアップ管理者とストレージ管理者にとって共通の課題です。仮想サーバーのバックアップとは、仮想サーバーに保存されているデータをコピーしてデータ損失を防止することです。
従来のバックアップソフトウェアを使用して、簡単なアプローチで VMware バックアップを実現できますが、このアプローチではリソースの競合が発生する可能性があります。また、バックアップを実行するために必要な追加リソースにより、バックアップ対象のサーバーで VM のパフォーマンスが低下する場合があります。
VMware 固有のバックアップ製品を使用すれば、特定時点での仮想マシン全体の状態のスナップショットを取得して、発生するリソース競合の問題に対処することができます。これにより、仮想マシンの迅速で完全なリストアが可能になります。ただし、ファイルが 1 つでも破損または欠落している場合は、スナップショット全体のリストアが必要になるのが一般的です。最新の VMware 固有のツールはファイルレベルのリストアに対応しています。
VMware 仮想マシンをバックアップする方法
仮想マシン (OS、アプリケーションファイル、ユーザーデータ、設定など) をバックアップするには、VM が保存されている元のフォルダをコピーする必要があります。次の手順に従ってください。
- 仮想マシンをパワーオフにします。コピー中に VM を実行したままだと、コピーの実行が拒否される場合があります
- コピーするターゲットフォルダの場所に移動します
- フォルダを右クリックし、[コピー]をクリックするか、Ctrl+C を押します
- コピー先の場所を選択します。
- Ctrl+V を押すか、フォルダ内を右クリックして[貼り付け]をクリックします。プロセスが進行中であることを示す進捗バーが表示されます
- プロセスが完了したら、コピーした VM をパワーオンにします。ワークステーションから、VM をコピーまたは移動したかどうかを指定するよう求められます。
VM をハードドライブ上でローカルに移動したことを示すと、すべての設定が保持されます。一方、[Copied it (コピー済み)]オプションを選択すると、新しい MAC および UUID アドレスが生成され、ネットワークでの競合を避けることができます。
VMware データのバックアップとリストアの 3 つの手法
VMware バックアップにより、データ保護の分野が根本的に改善され、カプセル化や抽象化という利点を活用できるようになりました。しかし、データの一貫性を確保する方法、このテクノロジに見られる物理リソースを過度に消費する問題への対処などの課題が今もなお存在します。
VMware では物理サーバーをごく少数のハードディスクイメージファイルにカプセル化するため、サーバーのバックアップも基盤となる仮想マシンディスクフォーマット (VMDK) ファイルのバックアップと同じように簡単に行えると考えがちです。
そのうえ、実行中の仮想マシンをバックアップする場合、すべての転送中のアクティビティが十分に考慮されるとは限りません。そのため、データの不整合というリスクを冒すことになり、最終的に情報が不正確になるため、リストアに失敗します。
リソースを過度に消費するという課題は、仮想化による副作用です。VMware を使用してシステムを仮想化すべき主な理由の 1 つは、リソースの消費を少数の物理サーバーに集中させることにあります。これにより、ほとんどの IT サーバーインフラの弱点であるアイドルサイクルを減らすことができます。さらに、データのバックアップを妨げずに実行できるだけのリソースを確保できない状況にも対処する必要があります。
また、ネットワークやディスク I/O で生じる過度な負荷を処理する機能が限られていることから、バックアップが VMware 内で最も脆弱なポイントであることを知っておく必要があります。物理サーバーに存在するネットワークやディスク I/O の負荷が、物理サーバーの仮想化を考えるうえで妨げとなります。
こうした問題はありますが、問題に対処し、利点を獲得できる方法があります。場合によっては、標準の物理バックアップとリストアよりも優れています。ただし、VMware のバックアップまたはリストアに関して実証済みの最善の方法はありません。多くの管理者にとって、目的が手段を正当化することもあり、ある管理者にとって有効なものが別の管理者にとって有効であるとは限りません。
方法 1: ローカルバックアップエージェントを各 VM にインストールする
この従来のアプローチでは、物理サーバーの場合と同じように、バックアップソフトウェアエージェントを VM にインストールします。データは LAN を介してバックアップ/リカバリインフラへと送信されます。エージェントを物理サーバーにインストールする場合と同様です。
この方法の利点は次のとおりです。
- バックアップエージェントのインストールと設定は物理サーバーを使用する場合の手順と同じ。手順の変更や特別なスキルが不要
- リストア手順も物理サーバーのファイルレベルのリカバリと同じ
- ファイルレベルのリカバリが可能
- フルバックアップと増分バックアップが可能
- この方法は、Exchange や SQL などの専門アプリ対応のバックアップエージェントを使用する場合、アプリケーションデータの一貫性を維持するのに役立つ
欠点は次のとおりです。
- すべてのバックアップが単一サーバーで実行されるため、ホストのリソースに過度な負担がかかりやすくなる
- バックアップエージェントは、サーバーが大規模な VMDK ファイルにカプセル化されていることを認識できない。このため、ディザスタリカバリの観点では、価値が最低限にとどまる
方法 2: バックアップエージェントを ESX サービスコンソールにインストールする
この方法では、バックアップソフトウェアエージェントを指定された ESX サービスコンソールにインストールし、各仮想マシンの基盤となる VMDK ファイルセットをバックアップします。
利点は次のとおりです。
- 必要なバックアップエージェントは 1 つのみであり、VM ごとのエージェントが不要
- VMDK ファイルをバックアップするだけで、すべての VM をバックアップできる
- 迅速なイメージレベルのリカバリが可能
欠点は次のとおりです。
- アプリケーションの一貫性を維持するために、VM のシャットダウン、起動、スナップショットを自動化するスクリプトを作成する必要がある
- ファイルレベルのリカバリや増分バックアップが不可能
- VMware は最終的にサービスコンソールを ESX サーバーから削除する予定
方法 3: VMware Consolidated Backup
VMware Consolidated Backup (VCB) は、ESX サーバーの VM バックアップをオフロードするバックアップフレームワークです。この設定により、ネットワークからバックアップトラフィックが排除され、ESX サーバーのリソースが開放されて、VM のパフォーマンスが向上します。VCB のその他の機能は次のとおりです。
- イメージのフルバックアップに加えて、ファイルレベルのフルバックアップと増分バックアップに対応
- ファイバーチャネル、ネットワーク接続ストレージ、ローカルまたは iSCSI ストレージインフラのサポート
- 一元的なバックアップ管理が可能
ただし、VCB は、基本的に複数の Windows 実行可能プログラムで構成されるコマンドラインツールであるため、標準のバックアップエージェントではありません。スクリプトを追加すると、これらのプログラムで他のサードパーティが使用するためのフレームワークを提供することもできます。
VCB には、専用の Windows プロキシサーバーやサードパーティのバックアッププログラムを必要とするなど、いくつかの制限があります。vSphere 4 のリリースにより、バックアップベンダーは、VCB に代わる vStorage アプリケーションプログラミングインターフェース (API) を検討しています。
VCB-Proxy の利点
- 単一のバックアップエージェントですべての VM に対応可能
- VMDK ファイルをバックアップするだけで、すべての VM をバックアップできる
- このプロセスでは多数の小さいファイルを検索するのではなく、大規模なイメージファイルのストリーミングを転送するため、迅速なイメージリカバリが可能
- VCB Proxy サーバーをバックアッププロセスに使用して、ESX サーバーのオーバーヘッドを削減
- LAN を使用しない SAN 対応のアプローチであるため、理論上は LAN ベースの方法よりも迅速なバックアップを実現
欠点は次のとおりです。
- VCB-Proxy の自動化と使いやすさは、サードパーティのバックアップソフトウェアの機能に依存
- 導入が複雑 (特に、プロセスを簡素化するためのバックアップソフトウェア統合オプションがない場合)
- ファイルレベルのリカバリを直接行う必要がある場合は、VM にバックアップソフトウェアエージェントをインストールする必要がある
- VSS 統合なしで Windows を使用している場合、VCB のイメージレベルのバックアップがクラッシュ整合性になる
- VCB では Windows システム状態のバックアップをサポートするためのメカニズムを提供していない。サーバー全体を正常にリカバリすることができるが、VM スナップショットの処理中にシステムが不安定な状態になった場合は正常なリカバリが保証されない
VMware vSphere とは
VMware vSphere は、VMware のフラグシップインフラソリューションの後継として 2009 年に登場したサーバー仮想化プラットフォームであり、仮想マシンインフラを大規模に導入および管理するための包括的なプラットフォームです。
仮想化されたデータセンタープラットフォームまたはクラウドオペレーティングシステムとも呼ばれています。IT 部門がアプリケーションワークロードを費用効果の高いコンピューティングリソースに効果的に配置できるようにする機能を備えています。
仮想環境の運用およびアーキテクチャは、特定の手法を要求するという点で従来のバックアップ環境とは異なります。このプラットフォームで仮想マシンをバックアップする場合、バックアップ機能を最大化し、効率的にリストアするには、仮想化の強みを活用する必要があります。また、仮想環境を選択した場合、従来の物理環境での原則は通用しません。
以下の 8 つの適切なバックアップ操作に従う必要があります。
1. ゲスト OS 層で VM をバックアップしない
従来のサーバーでは、通常、バックアップサーバーがデータをバックアップする必要があるたびにアクセスするゲストオペレーティングシステム (OS) にバックアップエージェントをインストールします。ただし、この方法は仮想環境では非効率的です。VM リソースの不要な消費が発生して、そのパフォーマンスだけでなく、ホストで実行されている他のマシンのパフォーマンスにも影響を及ぼすためです。
代わりに、仮想化層でデータをバックアップする必要があります。この場合、巨大な .vmdk ファイルにイメージレベルのバックアップを使用して、ゲスト OS が関与しないようにします。これを実現するには、仮想環境で動作するように設計されたバックアップアプリを使用する必要があります。該当するバックアップアプリであれば、ホストまたはゲスト OS が関与することなくマシンの仮想ディスクを直接バックアップできます。これにより、不要なリソース消費をなくすことができ、VM はワークロードに必要なリソースを確保できます。
2. vStorage API を活用する
vSphere とともに、vStorage API が導入されています。vStorage API は、VMware Infrastructure 3 でリリースされた VMware Consolidated Backup フレームワークに代わるもので、ホストからのバックアップ処理のオフロードに役立ちます。仮想マシンのディスクファイルへのアクセスを容易にするだけでなく、変更ブロックのトラッキング機能など、バックアップ速度を大幅に向上させることができる独自の機能も含まれています。
変更ブロックのトラッキング (CBT) 機能は、前回のバックアップ以降に変更されたブロックを追跡する機能です。したがって、バックアップアプリでは VMkernel にクエリーを実行するだけで情報を取得できます。この結果、バックアップアプリケーションで変更されたデータを追跡する必要がなくなるため、増分バックアップの速度が向上します。効率性が高いため、vStorage API を活用するアプリの使用をお勧めします。
3. VM バックアップリソースへの投資を惜しまない
可能な限り最短のバックアップ処理時間を実現したい場合は、バックアップサーバーに適したハードウェアとソフトウェアを確保して、運用上のボトルネックを防止します。十分なネットワーク帯域幅に加え、十分なメモリおよび CPU リソースが必要です。
バックアップサーバーを使用して、単にデータをソースからターゲットストレージデバイスへ移動させるだけではありません。データの重複排除と圧縮を行い、バックアップセットのサイズを削減します。データフローに対応するには、すべてのプロセスに多くのメモリと CPU が必要です。
ベンダーから提供される、サーバーのハードウェア推奨事項に常に従います。サーバーに十分なリソースがない場合、バックアップの速度が大幅に低下する可能性があるため、サーバーコストを抑えないでください。バックアップに役立つ多くのサードパーティツールをテストしてから、使用に適したものを選択します。
4. バックアップをスケジュールし、慎重にテストする
仮想環境のバックアップでは、仮想アーキテクチャが共有されているため、リソースに負担をかける可能性があります。このため、単一リソースへの負担を回避するようにバックアップスケジュールを計画する必要があります。たとえば、多くの仮想マシンを 1 つのホストまたは LUN で同時にバックアップしないようにします。代わりに、スケジュールをバランス良く調整し、リソースの過剰な使用を防止します。
スケジューリングによってパフォーマンスの低下を防ぐ一方、テストによってバックアップを使用したリカバリへの対応状況を把握することができます。また、テストは、問題のトラブルシューティング、ツールの分析、製品を切り替えるかどうかの判断を行ううえでも重要です。
5. 静止と VSS の仕組みを学ぶ
VM バックアップにデータベースやメールサーバーなどのトランザクションアプリが含まれている場合は、その静止を行って、実行に適した状態にする必要があります。このバックアップタイプはアプリケーション整合性と呼ばれます。
バックアップ開始前にアプリが一時停止され、未処理のトランザクションと書き込みがすべてディスクに書き込まれます。この手順により、サーバーに問題がないこと、VM リカバリが必要な場合にどのデータも失われていないことが保証されます。静止は、必要な場合は常に保留データの一時停止と書き込みに対応するアプリでのみ機能します。
VMware Tools には、Microsoft 社のボリュームシャドウコピーサービス (VSS) と連携してバックアップ前にアプリを静止できるドライバがあります。他のベンダーでも、さまざまなオペレーティングシステムに対応する同様のドライバが用意されています。サポートされているドライバを使用すること、および VSS サービスが有効になっており、アプリケーション整合性バックアップを実行するように設定されていることを常に確認してください。
6. スナップショットはバックアップではない
仮想マシンのスナップショットは有益ですが、プライマリバックアップ手段として使用してはいけません。スナップショットは仮想マシンの短期バックアップであれば問題ないですが、使用するたびにペナルティが発生するので注意が必要です。
スナップショットが作成されると、VM のすべてのディスク書き込みは別の新しい差分ディスクファイルに保存され、元のディスクが読み取り専用になります。データが差分ディスクファイルに書き込まれると、増分ごとに 16 MB ずつ拡大するため、保存先の LUN でロックが発生し、パフォーマンスが低下する可能性があります。実行するスナップショットの数が増えるほど、パフォーマンスに与える影響が大きくなります。
さらに、スナップショットは、それぞれが元のディスクサイズまで拡大する可能性があるため、追加のディスク領域を要します。データストアの領域が不足すると、すべての VM がシャットダウンするおそれがあります。さらに、スナップショットが削除されると、スナップショットデータが元のディスクにマージされ、大量の I/O 操作が発生します。
スナップショットでは、新しい仮想ディスクを作成して元のディスクにリンクするため、一部の機能が存在しない場合があります。このため、スナップショットと元のディスク間のマッピングという新しい問題が発生することがあります。スナップショットの使用はできるだけ控え、必要なくなったら削除する必要があります。
7. 耐障害性バックアップの代替策に留意する
イメージレベルのバックアップ機能を備えた仮想化バックアップ製品の大部分は、バックアップの実行中、VM スナップショットを使用してディスクへの書き込みを停止します。耐障害性 (FT) 機能は、別々のホスト上にある 2 つの仮想マシン (1 つはプライマリ、1 つはセカンダリ) を使用し、同じ仮想ディスクファイルを共有します。
現在、FT 機能はスナップショットをサポートしていません。これにより、FT 対応の VM のバックアッププロセスが難しくなっており、代替のバックアップ方法を検討する必要があります。
1 つの方法は、バックアッププロセス中に FT 機能を一時的に無効化して、スナップショットを取得できるようにすることです。この機能を無効にすることで、2 つ目の VM を保持できます。このプロセスは、PowerShell やバックアップ前後のスクリプトを使用することで自動化できます。
もう 1 つの方法は、vCenter Converter または vCenter Server を使用して VM のクローンを作成 (別のコピーを作成) します。新しいコピーをバックアップしたら、クローンを削除できます。
8. ホストおよび vCenter Server の構成をバックアップする
ホストまたは vCenter が失われても再構築は容易ですが、構成情報は失われます。このため、構成情報を定期的にバックアップしておくことをお勧めします。バックアップホストでは、VM のみがバックアップされ、管理コンソールに保存されている個々のファイルはバックアップされません。構成情報をバックアップしておくと、後でホストの再構築が容易になります。
構成情報のバックアップ方法は、以下のとおりです。
- ESX ホストの場合: esxcfg-info サービスコンソールコマンドを使用します。多数の構成情報が 1 つのテキストファイルに出力されます
- ESXi ホストの場合: vicfg-cfgbackup コマンド (vSphere CLI の一部) を使用します。構成情報が 1 つのテキストファイルに出力されます
- vCenter Server の場合: クラスタ、権限、リソースプール、パフォーマンスデータ、アラームなどのサーバー固有の構成情報を含むデータベースをバックアップする必要があります。適切にバックアップできれば、後で vCenter Server を再インストールし、バックアップデータベースを指すようにすることで、稼動状態に戻せます。データディレクトリにある Secure Sockets Layer (SSL) 証明書を含むフォルダも必ずバックアップしてください。vCenter が ESXi ホスト、ESX ホスト、およびクライアントと通信するために使用する SSL サーバー証明書が含まれています
結論
VMware は、サーバーの仮想化に関連するバックアップの課題に対処しようとしています。たとえば、VMware vSphere 5.1 では、VMware の vSphere Data Protection (VDP) またはその他のサードパーティバックアップツールと連携する VMware vStorage API for Data Protection (VADP) を使用できます。
VADP では、VMware Consolidated Backup の代わりに、仮想プロキシをベースとする、ストレージリソースに負担をかけない効率的なエージェントレスバックアップシステムを使用します。また、VADP には、前回のバックアップ以降に変更されたデータブロックのみをバックアップできるようにするための変更ブロックのトラッキング機能が搭載されています。これにより、VDP などのバックアップツールのワークロードが削減されます。