ホストとVMのバックアップと復元
可能な限り、XenServerホストのインストール状態を変更しないでください。つまり、XenServerホストに追加のパッケージをインストールしたり、追加のサービスを開始したりせず、アプライアンスとして扱ってください。その場合、復元する最善の方法は、インストールメディアからXenServerホストソフトウェアを再インストールすることです。複数のXenServerホストがある場合は、この目的のためにTFTPサーバーと適切な応答ファイルを構成するのが最善のアプローチです。詳細については、「ネットワークブートインストール」を参照してください。
サードパーティプロバイダーが提供するバックアップソリューションを使用することをお勧めします。詳細については、「サードパーティのバックアップソリューション」を参照してください。
XenServer Premium Editionのお客様は、より高速な変更ブロックのみのバックアップを利用できます。詳細については、「変更ブロック追跡のドキュメント」を参照してください。
これらのソリューションは、Cloud Software Groupではなく、各ベンダーによって認定されています。これらのバックアップソリューションのサポートは、ソリューションベンダーによって提供されます。
サーバーおよびソフトウェア障害から回復するために、以下のバックアップ手順を可能な限り頻繁に実行することをお勧めします。
プールメタデータをバックアップするには:
-
コマンドを実行します。
xe pool-dump-database file-name=backup <!--NeedCopy--> -
データベースを復元するには、次のコマンドを実行します。
xe pool-restore-database file-name=backup dry-run=true <!--NeedCopy-->このコマンドは、ターゲットマシンに適切な数の適切な名前のNICがあることを確認します。これはバックアップが成功するために必要です。
ホスト構成とソフトウェアをバックアップするには:
-
コマンドを実行します。
xe host-backup host=host file-name=hostbackup <!--NeedCopy-->
注:
コントロールドメインにバックアップを作成しないでください。
バックアップ手順により、大きなバックアップファイルが作成される場合があります。
リストアを完了するには、元のインストールCDから再起動する必要があります。
このデータは元のマシンにのみ復元できます。
VMをバックアップするには:
-
バックアップするVMがオフラインであることを確認します。
-
コマンドを実行します。
xe vm-export vm=vm_uuid filename=backup <!--NeedCopy-->
注:
このバックアップは、VMのすべてのデータもバックアップします。VMをインポートする際、バックアップされたデータに使用するストレージメカニズムを指定できます。
警告:
VMのすべてのデータをバックアップするため、バックアッププロセスには完了まで時間がかかる場合があります。
VMメタデータのみをバックアップするには:
コマンドを実行します。
xe vm-export vm=vm_uuid filename=backup metadata=true
<!--NeedCopy-->
仮想マシンメタデータのバックアップ
XenServer®ホストは、各ホスト上のデータベースを使用して、VMおよびストレージやネットワークなどの関連リソースに関するメタデータを保存します。SRと組み合わせることで、このデータベースはプール全体で利用可能なすべてのVMの完全なビューを形成します。したがって、物理ハードウェア障害やその他の災害シナリオから回復するために、このデータベースをバックアップする方法を理解することが重要です。
このセクションでは、まずシングルホストインストールのメタデータをバックアップする方法を説明し、次に複雑なプール設定について説明します。
シングルホストインストールのバックアップ
CLI を使用してプールデータベースをバックアップします。一貫性のあるプールメタデータバックアップファイルを取得するには、XenServer ホストで pool-dump-database を実行し、結果のファイルをアーカイブします。バックアップファイルにはプールの機密認証情報が含まれているため、安全に保管してください。
プールデータベースを復元するには、以前のダンプファイルから xe pool-restore-database コマンドを使用します。XenServer ホストが完全に故障した場合は、まず新規インストールを実行し、次に新しくインストールされた XenServer ホストに対して pool-restore-database コマンドを実行する必要があります。
プールデータベースを復元した後、一部の VM はまだ Suspended として登録されている場合があります。ただし、suspend-VDI-uuid フィールドで定義されているサスペンドされたメモリ状態を持つストレージリポジトリがローカル SR である場合、ホストが再インストールされているため、SR が利用できない可能性があります。これらの VM を Halted 状態に戻して再度起動できるようにするには、xe vm-shutdown vm=vm_name -force コマンドを使用するか、xe vm-reset-powerstate vm=vm_name -force コマンドを使用します。
警告:
XenServer は、この方法を使用して復元されたホストの UUID を保持します。元の XenServer ホストがまだ稼働している間に別の物理マシンに復元すると、UUID が重複する可能性があります。その結果、XenCenter は 2 番目の XenServer ホストへの接続を拒否します。プールデータベースのバックアップは、物理ホストをクローンするための推奨メカニズムではありません。代わりに自動インストールサポートを使用してください。詳細については、インストール を参照してください。
プールされたインストールのバックアップ
プールシナリオでは、プールコーディネーターは、すべてのプールメンバーホストに同期的にミラーリングされる信頼できるデータベースを提供します。このプロセスにより、プールに組み込みの冗長性が提供されます。各プールメンバーはプールデータベースの正確なバージョンを持っているため、どのプールメンバーもプールコーディネーターを置き換えることができます。メンバーをプールコーディネーターに移行する方法の詳細については、ホストとリソースプール を参照してください。
このレベルの保護では不十分な場合があります。たとえば、VM データを含む共有ストレージが複数のサイトでバックアップされているが、ローカルサーバーストレージ(プールメタデータを含む)がバックアップされていない場合などです。共有ストレージのセットからプールを再作成するには、まずプールコーディネーターホストで pool-dump-database ファイルをバックアップし、このファイルをアーカイブする必要があります。このバックアップを後で新しいホストセットに復元するには、次の手順を実行します。
-
インストールメディアから新しい XenServer ホストをインストールするか、該当する場合は TFTP サーバーからネットワークブートします。
-
新しいプールコーディネーターとして指定されたホストで
xe pool-restore-databaseを使用します。 -
新しいプールコーディネーターで
xe host-forgetコマンドを実行して、古いメンバーマシンを削除します。 -
メンバーホストで
xe pool-joinコマンドを使用して、それらを新しいプールに接続します。
XenServer ホストのバックアップ
このセクションでは、XenServer ホストの制御ドメインのバックアップおよび復元手順について説明します。これらの手順は、VM を格納するストレージリポジトリをバックアップするものでは なく、Xen® と XenServer エージェントを実行する特権制御ドメインのみをバックアップします。
注:
特権制御ドメインは、他のパッケージでカスタマイズせずに、インストールされたままにしておくのが最適です。復旧戦略として、XenServerメディアからXenServerをクリーンにインストールするためのネットワークブート環境をセットアップすることをお勧めします。通常、制御ドメインをバックアップする必要はありませんが、プールメタデータを保存することをお勧めします(仮想マシンメタデータのバックアップを参照)。このバックアップ方法は、プールメタデータのバックアップを補完するものと考えてください。
xeコマンド host-backup と host-restore を使用することも、別の方法として考えられます。xeコマンド host-backup は、アクティブなパーティションを指定したファイルにアーカイブします。xeコマンド host-restore は、xe host-backup によって作成されたアーカイブを、ホストの現在非アクティブなディスクパーティションに展開します。このパーティションは、インストールCDから起動し、適切なバックアップを復元することを選択することで、アクティブにすることができます。
前のセクションの手順を完了し、ホストを再起動した後、VMメタデータが一貫した状態に復元されていることを確認してください。VMメタデータを復元するには、/var/backup/pool-database-${DATE} で xe pool-restore-database を実行します。このファイルは、実行中のファイルシステムをアーカイブする前に、VMメタデータの一貫した状態をスナップショットするために、xe host-backup が xe pool-dump-database コマンドを使用して作成します。
XenServerホストをバックアップするには:
十分なディスク容量があるリモートホストで、次のコマンドを実行します。
xe host-backup file-name=filename -h hostname -u root -pw password
<!--NeedCopy-->
このコマンドは、制御ドメインファイルシステムの圧縮イメージを作成します。イメージは、file-name 引数で指定された場所に保存されます。
実行中のXenServerホストを復元するには:
-
特定のバックアップからXenServerホストを復元したい場合は、XenServerホストが稼働中で到達可能な状態のときに、次のコマンドを実行します。
xe host-restore file-name=filename -h hostname -u root -pw password <!--NeedCopy-->このコマンドは、圧縮イメージを、このコマンドを実行するXenServerホストのハードディスクに復元します(
filenameが存在するホストではありません)。この文脈では、「復元」という言葉は、バックアップされた状態が完全に配置されたことを示唆するため、不適切な表現かもしれません。復元コマンドは、圧縮されたバックアップファイルを解凍し、通常の形式に戻すだけです。ただし、それは別のパーティション (/dev/sda2) に書き込まれ、ファイルシステムの現在のバージョンを上書きしません。 -
復元されたバージョンのルートファイルシステムを使用するには、XenServerインストールCDを使用してXenServerホストを再起動し、Restore from backup オプションを選択します。
バックアップからの復元が完了したら、XenServerホストを再起動すると、復元されたイメージから起動します。
-
最後に、次のコマンドを使用してVMメタデータを復元します。
xe pool-restore-database file-name=/var/backup/pool-database-* -h hostname -u root -pw password <!--NeedCopy-->
注:
このセクションで説明されているように、バックアップから復元しても、バックアップパーティションは破壊されません。
クラッシュしたXenServerホストを再起動するには:
XenServerホストがクラッシュして到達不能になった場合は、XenServerインストールCDを使用してアップグレードインストールを実行してください。アップグレードインストールが完了したら、マシンを再起動し、XenCenter®またはリモートCLIでホストに到達できることを確認してください。
その後、このセクションで説明されているように、XenServerホストのバックアップに進んでください。
VMのバックアップ
サードパーティプロバイダーが提供するバックアップソリューションを使用することをお勧めします。詳細については、「サードパーティのバックアップソリューション」を参照してください。
これらのソリューションは、ベンダーによって認定されており、Cloud Software Groupによって認定されているわけではありません。これらのバックアップソリューションのサポートは、ソリューションベンダーによって提供されます。
XenServer Premium Editionのお客様は、より高速な変更ブロックのみのバックアップを利用できます。詳細については、「変更ブロック追跡」を参照してください。