ホストと仮想マシンのバックアップと復元

可能な限り、Citrix Hypervisorサーバーのインストール後の状態を変更しないでください。Citrix Hypervisorサーバーは通常のサーバーとは異なるため、追加のパッケージをインストールしたり、追加のサービスを起動したりしないでください。Citrix Hypervisorサーバーの状態を元に戻すには、インストールメディアからサーバーを再インストールします。複数のCitrix Hypervisorサーバーがある場合は、TFTPサーバーと、適切な回答ファイルを設定することが最善の方法です。詳しくは、ネットワークブートによるインストールを参照してください。

認定パートナーが提供するバックアップソリューションの使用をお勧めします。詳しくは、Citrix Ready Marketplaceを参照してください。

Citrix Hypervisor 7.3以降のバージョンを実行中のCitrix Hypervisor Premium Editionユーザーは、変更ブロックのみの、より高速なバックアップを利用できます。詳しくは、Citrixブログの変更ブロック追跡のバックアップAPIに関するエントリを参照してください。

潜在的なハードウェアやソフトウェアの障害に備えて、ここで説明する複数のバックアップ手順を頻繁に行うことをお勧めします。

プールメタデータをバックアップするには:

  1. 次のコマンドを実行します:

    xe pool-dump-database file-name=backup
    
  2. データベースを復元するには、次のコマンドを実行します:

    xe pool-restore-database file-name=backup dry-run=true
    

    このコマンドでは、バックアップに必要な、適切な名前を持つNICが適切な数だけホストにインストールされているかどうかがチェックされます。

ホスト構成およびソフトウェアをバックアップするには:

  1. 次のコマンドを実行します:

    xe host-backup host=host file-name=hostbackup
    

注:

  • コントロールドメイン(Dom0)にバックアップを作成しないでください。

  • バックアップ手順で大きなバックアップファイルを作成できます。

  • 復元処理を完了するために、元のインストールCDから起動する必要があります。

  • この手順で作成したバックアップファイルは、作成元のホストの復元にのみ使用できます。

仮想マシンをバックアップするには:

  1. バックアップ対象の仮想マシンがオフラインであることを確認します。

  2. 次のコマンドを実行します:

    xe vm-export vm=vm_uuid filename=backup
    

注:

この手順により、仮想マシン上のすべてのデータも一緒にバックアップされます。仮想マシンをインポートするときは、バックアップデータ用に使用するストレージメカニズムを指定できます。

警告:

バックアップ処理は、すべての仮想マシンデータをバックアップするため、完了まで時間がかかります。

仮想マシンメタデータのみをバックアップするには:

次のコマンドを実行します:

xe vm-export vm=vm_uuid filename=backup metadata=true

仮想マシンメタデータのバックアップ

ストレージやネットワークなどの関連リソースや仮想マシンに関するメタデータは、各Citrix Hypervisorサーバー上のデータベースに格納されます。ストレージリポジトリとこのデータベースにより、プール内で使用可能なすべての仮想マシンの完全な情報が提供されます。このため、物理ハードウェアの障害やそのほかの災害シナリオから復旧できるように、このデータベースのバックアップ方法を理解しておくことは重要です。

ここでは、最初に単一ホスト環境のメタデータのバックアップ方法を説明し、次に複雑なプール構成のバックアップ方法を説明します。

単一ホスト環境でのバックアップ

プールデータベースをバックアップするには、CLIを使用します。一貫したプールメタデータバックアップファイルを取得するには、Citrix Hypervisorサーバー上でpool-dump-databaseを実行し、その結果ファイルをアーカイブします。バックアップファイルには、プールに関する機密性の高い認証情報が含まれます。このため、安全な方法で保管してください。

プールメタデータを復元するには、最新のダンプファイルに対してxe pool-restore-databaseコマンドを実行します。Citrix Hypervisorサーバーが完全に動作不能になった場合は、再度新規インストールを行い、その後でそのCitrix Hypervisorサーバーに対してpool-restore-databaseコマンドを実行します。

プールデータベースの復元後、一部の仮想マシンは引き続きSuspended状態として認識される場合があります。そのサスペンド状態のメモリが格納されている場所(suspend-VDI-uuidフィールドで定義される)がローカルのストレージリポジトリである場合、ホストの再インストールにより仮想マシンが使用不可になります。このような仮想マシンを起動できるように Halted 状態にリセットするには、xe vm-shutdown vm=vm_name -forceコマンドまたはxe vm-reset-powerstate vm=vm_name -forceコマンドを使用します。

警告:

この方法で復元されたCitrix Hypervisorホストでは、元のUUIDが保持されます。このため、元のCitrix Hypervisorサーバーが動作しているときに、別の物理マシンにそのホストを復元すると、UUIDの競合が発生します。結果として、 XenCenterは2番目のCitrix Hypervisorサーバーへの接続を拒否します。物理ホストを複製する目的でプールデータベースのバックアップを使用することは推奨されません。物理ホストを複製するには、自動インストールの機能を使用してください。詳しくは、インストールを参照してください。

プール環境でのバックアップ

リソースプール環境では、プールマスタがプライマリのデータベースを提供し、このデータベースがプールメンバホストによって同期され、ミラー化されます。これにより、プールに冗長性が提供されます。プール内のすべてのホストがプールデータベースの正確なコピーを保持しているため、任意のメンバがプールマスターとして動作することができます。メンバーホストをプールマスターとして動作させる方法については、「ホストとリソースプール」を参照してください。

このレベルの冗長性では不十分なことがあります。たとえば、仮想マシンデータを格納する共有ストレージを複数サイトにバックアップし、プールメタデータを格納するローカルサーバーストレージをバックアップしない場合などです。共有ストレージを持つプールを作成し直すには、最初にプールマスター上のpool-dump-databaseファイルのバックアップを行い、このファイルをアーカイブしておきます。後で新しいホストでこのバックアップを復元するには:

  1. インストールメディアを使用してCitrix Hypervisorサーバーの新規インストールを行うか、TFTPサーバーからネットワークブートを実行します。

  2. 新しいプールマスターとして動作するホストで、xe pool-restore-databaseを実行します。

  3. 新しいプールマスターで、xe host-forgetコマンドを実行し、古いメンバホストを消去します。

  4. メンバーホストでxe pool-joinコマンドを実行し、それらのホストを新しいプールに追加します。

Citrix Hypervisorサーバーのバックアップ

ここでは、Citrix Hypervisorサーバーのコントロールドメインのバックアップおよび復元の手順について説明します。以下の手順では、仮想マシンを格納するストレージリポジトリはバックアップしません。XenおよびCitrix Hypervisorエージェントを実行するコントロールドメイン(Dom0)のみをバックアップします。

注:

特権コントロールドメインは、ほかのパッケージでカスタマイズしないで、インストール後の状態で運用するのが最善です。このため復旧方法として、Citrix HypervisorメディアからCitrix Hypervisorのインストールを正常に行えるよう、ネットワークブート環境を設定しておくことをお勧めします。通常、コントロールドメインをバックアップする必要はありませんが、プールのメタデータを保存することをお勧めします(「仮想マシンメタデータのバックアップ」参照)。このバックアップ方法は、プールメタデータのバックアップを補完するものです。

さらに、xeコマンドのhost-backuphost-restoreを使用することもできます。xe host-backupコマンドでは、アクティブなパーティションを指定したファイルにアーカイブします。xe host-restoreコマンドは、xe host-backupコマンドで作成したアーカイブを、ホストの非アクティブなパーティションに抽出します。このパーティションをアクティブにするには、インストールCDから起動して、バックアップを復元するオプションを選択します。

上記の手順を実行してホストを再起動したら、仮想マシンメタデータが一貫した状態に復元されていることを確認します。/var/backup/pool-database-${DATE}xe pool-restore-databaseを実行して、仮想マシンメタデータを復元します。このファイルは、xe pool-dump-databaseコマンドにより作成されたものです。このコマンドでは、実行中のファイルシステムをアーカイブする前に仮想マシンメタデータの一貫した状態のスナップショットを作成するxe host-backupが実行されます。

Citrix Hypervisorサーバーをバックアップするには:

十分な空きディスク容量があるリモートホスト上で、次のコマンドを実行します。

xe host-backup file-name=filename -h hostname -u root -pw password

これにより、コントロールドメインのファイルシステムの圧縮イメージが作成され、file-name引数で指定したファイルに保存されます。

実行中のCitrix Hypervisorサーバーを復元するには:

  1. 特定のバックアップから実行中のCitrix Hypervisorサーバーを復元するには、そのCitrix Hypervisorサーバーが稼働していて到達可能な状態で次のコマンドを実行します:

    xe host-restore file-name=filename -h hostname -u root -pw password
    

    これにより、(filenameで指定するファイルを格納するホストではなく)コマンドを実行したCitrix Hypervisorサーバーのハードディスクに、圧縮イメージが復元されます。この意味では、「復元」という言葉は紛らわしいかもしれません。通常、復元とはバックアップした状態に完全に戻すことを指します。この復元コマンドは、圧縮されたバックアップファイルを展開するだけですが、別のパーティション(/dev/sda2)に書き込んでおり、現在のバージョンのファイルシステムを上書きしません

  2. ルートファイルシステムの復元されたバージョンを使用するには、Citrix HypervisorのインストールCDを使用してCitrix Hypervisorサーバーを再起動し、[バックアップから復元] オプションを選択する必要があります。

    バックアップからの復元後、Citrix Hypervisorサーバーを再起動すると、復元されたイメージから起動します。

  3. 最後に、次のコマンドを実行して、仮想マシンメタデータを復元します:

    xe pool-restore-database file-name=/var/backup/pool-database-* -h hostname -u root -pw password
    

注:

ここで説明したバックアップからの復元を行っても、バックアップパーティションは破棄されません。

クラッシュしたCitrix Hypervisorサーバーを再起動するには:

Citrix Hypervisorサーバーがクラッシュして到達不能になった場合は、Citrix HypervisorのインストールCDを使用してアップグレードインストールを実行します。アップグレードインストールが完了したら、マシンを再起動し、XenCenterまたはリモートCLIからホストに到達可能であることを確認します。

その後、このセクションでの説明どおりにCitrix Hypervisorサーバーのバックアップを続行します

仮想マシンのバックアップ

認定パートナーが提供するバックアップソリューションの使用をお勧めします。詳しくは、Citrix Ready Marketplaceを参照してください。

Citrix Hypervisor 7.3以降のバージョンを実行中のCitrix Hypervisor Premium Editionユーザーは、変更ブロックのみの、より高速なバックアップを利用できます。詳しくは、Citrixブログの変更ブロック追跡のバックアップAPIに関するエントリを参照してください。