2 台の Xen ホストをフェイルオーバーシステムとして構築することで、サーバを別々に動作させる場合と比べて、さまざまなメリットが生まれます:
一方のサーバで障害が発生しても、サービスが止まらずに稼働させ続けることができます。
一般に 1 台のマシンのスペックを上げるよりも、 2 台の同じスペックのマシンを用意したほうが安く上がります。
必要に応じて新しいサーバを継ぎ足していくと、管理面での手間が増えるだけです。
サーバの使用方法を改善することで、システムの電源消費量に良い影響を与えることにもなります。
Xen ホスト間で移行を行うことのできる環境の構築については、 29.3項 「Xen VM ゲスト システムの移行」 で説明しています。下記では、高可用性を実現するためのいくつかの方式を説明しています。
Xen ではゲストシステムに対して、いくつかのリモートブロックデバイスを直接提供する機能を用意しています。これには iSCSI, NPIV, NBD があります。これらのうちの全てはライブマイグレーションでも使用することができます。ストレージシステムが既に配置されている場合、まずはネットワーク内で既に使用されているものと同じ種類のデバイスを使ってみてください。
ストレージシステムを直接使用することができないものの、 NFS を介して必要な領域を提供できる機能を備えている場合は、 NFS の共有内にイメージファイルを配置する方法もあります。 NFS が全ての Xen ホストシステムからアクセスできる環境であれば、 Xen ゲストのライブマイグレーションにも対応することができます。
新しいシステムを構築する場合の最初の考慮事項は、専用のストレージエリアネットワークを作成する必要があるかどうかです。これを考えるにあたっては、下記のような構成が考えられます:
方式 |
複雑さ |
コメント |
---|---|---|
イーサネット |
低 |
この場合、ブロックデバイスのトラフィックはネットワークトラフィックと同じイーサネット内を流れることになります。従って、ゲスト側の性能も制限されることになります。 |
ストレージ専用のイーサネット |
中 |
ストレージ関係のトラフィックを専用のイーサネットインターフェイスから行うようにすることで、サーバ側でのボトルネックを解消することができます。この場合、専用のイーサネット側には独自の IP アドレス範囲を割り当てたり、ストレージ専用の VLAN を構築したりする必要性など、各種の考慮事項が存在します。 |
NPIV |
高 |
NPIV はファイバチャネル接続の仮想化方式です。これには最低でも 4 Gbit/s のデータ転送速度を提供し、複雑なストレージシステムの構築にも対応しているアダプタで使用することができます。 |
通常は 1 Gbit/s 程度のイーサネットデバイスであれば、ハードディスクやストレージシステムの性能を生かすことができますが、さらに高速なストレージシステムをお使いの場合は、イーサネットデバイスの速度が不足してしまうこともありますので、ご注意ください。
スペースや予算上の都合から、 Xen のホストシステムのローカルストレージを使用する必要がある場合があります。この場合にライブマイグレーションを実現するには、両方の Xen ホスト間でブロックデバイスを複製するよう構築する必要があります。このようなブロックデバイスの複製を行うソフトウエアとしては、 Distributed Replicated Block Device (DRBD) と呼ばれるソフトウエアが存在します。
2 台の Xen ホスト間でブロックデバイスやファイルを複製するために DRBD を設定する必要がある場合、両方のホストでは等価なハードウエアを使用する必要があります。たとえば一方のホストのハードディスク速度が遅い場合、もう一方のホストもそれに引きずられてしまい、性能が落ちる結果になってしまいます。
また構築の際、それぞれのブロックデバイスは独自のものを使用する必要があります。このようなシステムの構築は複雑な作業であるため、ここでは説明していません。
お互いに通信すべきゲストシステムが存在する場合、もちろん通常のインターフェイスを介して通信してもかまいません。ですが、セキュリティ上の理由から、必要なゲストシステムのみを参加させたブリッジを作成して、そのブリッジ経由で通信を行うように設定しておくことをお勧めします。
ライブマイグレーションに対応すべき高可用性環境の場合、このようなプライベートブリッジはもう一方の Xen ホストにも接続されていなければなりません。これはプライベートブリッジ専用の物理イーサネットデバイスを用意して、専用のネットワークを構築することによって実現することができます。
もう一つの方法としてあげられるのが、 VLAN インターフェイスの使用です。この場合、全てのトラフィックは通常のイーサネットインターフェイス経由で送信されます。ただし、 VLAN のパケットにのみタグが付与され、通常のトラフィックとは区別されるようにすることができますので、これによって通常のトラフィックと混在させることができるようになります。
VLAN インターフェイスの設定方法について、詳しくは 8.1.1.4項 「VLAN インターフェイスの使用」 をお読みください。