障害回復とバックアップ
XenServerの障害回復(DR:Disaster Recovery)機能により、ハードウェア障害などによりそのプールやサイト全体が使用不能になった場合に、仮想マシンやvAppを回復させることができます。単一ホストの障害に対する保護については、「高可用性」を参照してください。
注:
DR機能を使用するには、ルートユーザーまたはプールオペレータ以上の権限が必要です。
XenServerのDRのしくみ
XenServerの障害回復では、仮想マシンやvAppを回復するために必要なすべての情報がストレージリポジトリ(SR)上に格納されます。その後、SRが実稼働環境(プライマリサイト)からバックアップ環境(セカンダリサイト)に複製されます。プライマリサイトのリソースプールが停止した場合、セカンダリサイト(障害回復サイト)上に再作成された複製ストレージから仮想マシンやvAppを復元し、アプリケーションおよびユーザーのダウンタイムを最小限に抑えることができます。
XenCenterの [障害回復] 設定により、障害発生中に実行する複製ストレージへのクエリを生成し、インポートする仮想マシンやvAppを選択します。障害回復サイトのプールで仮想マシンが起動すると、そのプールのメタデータも複製されストレージ上に格納されます。プライマリサイトがオンライン状態に復帰するときに、セカンダリサイトで再作成された仮想マシンやvAppが、このメタデータに基づいてプライマリサイトに復元されます。同一仮想マシンの情報が複数の場所に存在する場合があります。(プライマリサイトのストレージ、障害回復サイトのストレージ、およびインポート先のプールに同一仮想マシンのメタデータが見つかった場合など。)XenCenterにより同一仮想マシンの情報が複数の場所で検出された場合は、最新の情報のみが使用されます。
障害回復機能は、XenCenterおよびxe CLIで使用できます。CLIコマンドについては、「障害回復コマンド」を参照してください。
ヒント:
[障害回復]設定を使って、障害回復システムの設定を確認するために、フェイルオーバーテストを実行することもできます。このテストでは、通常のフェイルオーバーと同じ処理が実行されます。ただし、障害回復サイトにエクスポートされた仮想マシンやvAPPは起動しません。テストが完了したら、クリーンアップが実行され、障害回復サイトに再作成されたすべての仮想マシン、vAPP、およびストレージが削除されます。
XenServerの仮想マシンは、以下の2つのコンポーネントで構成されています。
-
仮想マシンにより使用される仮想ディスク。その仮想マシンのリソースプールで構成されているストレージリポジトリ上に格納されます。
-
仮想マシン環境の内容が記述されたメタデータ。このメタデータは、使用不能になったり破損したりした仮想マシンを再作成するために必要です。通常、仮想マシンの作成時にメタデータ設定データが書き込まれ、仮想マシン構成を変更すると更新されます。プール内の仮想マシンでは、メタデータのコピーがそのプール内のすべてのホスト上に格納されます。
障害回復機能が有効な場合、プールメタデータおよびプール内のすべての仮想マシンやvAppについての設定情報を使って、仮想マシンがセカンダリサイト上に再作成されます。各仮想マシンのメタデータには、仮想マシンの名前と説明、固有の識別子であるUUID(Universally Unique Identifier)、メモリと仮想CPUの構成、およびネットワークとストレージの情報が記録されます。また、仮想マシンの起動オプション(起動順序、起動間隔、および再起動優先度)も仮想マシンのメタデータに記録されます。これらのオプションは、高可用性または障害回復環境で仮想マシンを起動するときに使用されます。たとえば、障害発生時に仮想マシンをDRサイトのプールに再作成する場合、vAppに含まれる各仮想マシンはメタデータに記録されている順序および間隔で起動します。
障害回復のインフラストラクチャ要件
XenServerの障害回復機能を使用するには、プライマリサイトおよびセカンダリサイトで適切なインフラストラクチャをセットアップします。
-
プールメタデータおよび仮想マシンの仮想ディスクで使用されるストレージが、実稼働環境(プライマリサイト)からバックアップ環境(セカンダリサイト)に複製されている必要があります。ストレージの複製方法(ミラー化など)はデバイスによって異なります。ストレージの複製については、使用するストレージソリューションのベンダーに問い合わせてください。
-
障害回復サイトのプールに再作成された仮想マシンおよびvAppが起動した後で、障害回復プールのメタデータと仮想ディスクを格納するストレージリポジトリが複製されている必要があります。これにより、プライマリサイトがオンライン状態になったときに、これらの仮想マシンおよびvAppがプライマリサイトに復元(フェイルバック)されます。
-
DRサイトのハードウェアインフラストラクチャは、プライマリサイトと一致する必要はありません。ただし、XenServerのバージョンおよびパッチレベルが一致している必要があります。
-
セカンダリサイトのホストとプールには、プライマリサイトと同じ種類のライセンスが必要です。これらのXenServerライセンスは、プライマリサイトのホストに割り当てられたライセンスに加えて必要になります。
-
プライマリサイトすべての仮想マシンの再作成および実行に必要なリソースが障害回復プールに設定されている必要があります。
警告:
[障害回復]設定では、ストレージアレイの機能を制御することはできません。
障害回復機能を使用する場合は、メタデータのストレージが2つのサイト間で複製されるように設定しておく必要があります。一部のストレージアレイには、ストレージを自動的に複製するためのミラー化機能が用意されています。このような機能を使用する場合は、仮想マシンが障害回復サイト上で再起動する前に、ミラー化機能を無効にしておく必要があります。
展開に関する考慮事項
障害回復機能を有効にする前に、以下の点について確認します。
障害発生前の手順
障害が発生する前に、以下の手順を行います。
-
仮想マシンおよびvAppを設定します。
-
仮想マシンとvAppがストレージリポジトリにどのようにマップされ、そのストレージリポジトリがLUNにどのようにマップされるかに注意してください。特に、
name_label
パラメーターとname_description
パラメーターにこれらの対応を示す内容を使用すると便利です。仮想マシンやvAppとストレージリポジトリの対応、およびストレージリポジトリとLUNの対応を表すストレージリポジトリ名を使用すると、複製ストレージからの仮想マシンやvAppの回復がわかりやすくなります。 -
LUNの複製を設定します。
-
これらのLUN上の1つまたは複数のストレージリポジトリへのプールメタデータの複製を有効にします。
-
プライマリプールメタデータを複製するストレージリポジトリが1つのプールにのみ接続されているようにします。
障害発生後の手順
障害が発生した後では、以下の手順を行います。
-
障害回復サイトから共有ストレージへの読み取り/書き込みアクセスが正しく行われるように、既存のミラー化機能を無効にします。
-
仮想マシンデータの回復元のLUNがほかのプールに接続されていないことを確認します。ほかのプールに接続されていると、データが破損することがあります。
-
障害回復サイトを障害から保護する場合は、障害回復サイトの1つまたは複数のストレージリポジトリにプールメタデータを複製します。
回復後の手順
仮想マシンが正しく回復された後では、以下の手順を行います。
-
ミラー化されたストレージを再同期します。
-
障害回復サイトで、プライマリサイトにフェイルバックする仮想マシンやvAppを完全にシャットダウンします。
-
プライマリサイトで、フェイルオーバー時と同じ手順に従って、選択した仮想マシンやvAppをプライマリサイトにフェイルバックします(前のセクションを参照)。
-
プライマリサイトを再び保護する場合は、複製LUN上の1つまたは複数のストレージリポジトリへのプールメタデータの複製を有効にする。