この章では、Oracle VMのサーバー・プールおよびゲストの高可用性(HA)フェイルオーバーの実装について説明します。 この章の構成は次のとおりです。
Oracle VM Managerを使用して、サーバー・プールおよびゲストのHAを管理できます。 Oracle VM Managerを使用したHAの管理の詳細は、『Oracle VM Managerユーザーズ・ガイド』を参照してください。
Oracle VMでは、ゲストが実行されている仮想マシン・サーバーで障害が発生した場合や、その仮想マシン・サーバーが再起動された場合にゲストの可用性が保証されるようにHAを設定できます。 仮想マシン・サーバーが再起動または停止された場合、この仮想マシン・サーバーで実行されているゲストは、別の仮想マシン・サーバーで再起動されるか、または別の仮想マシン・サーバーに移行されます。
HAは、Oracle VM Managerで管理できます。 HAを実装するには、サーバー・プールに仮想マシン・サーバーのクラスタを作成し、Oracle VM Managerで管理されるようにする必要があります。 HAは、Oracle VM Serverのみでは実装できません。
図7-1「HAの有効化」に示すとおり、HAを使用するには、まずHAをサーバー・プールで有効にし、次にすべてのゲストで有効にする必要があります。 HAをサーバー・プールで有効にしてからゲストに対して有効にすると、仮想マシン・サーバーが停止した場合や仮想マシン・サーバーで障害が発生した場合に、ゲストは別の使用可能な仮想マシン・サーバーに移行されるか、または別の使用可能な仮想マシン・サーバーで再起動されます。 HAは、サーバー・プールとゲストの両方で有効にする必要があります。 両方で有効にしないと、HAは無効になります。
HAが有効になっている場合、Oracle VM Managerで仮想マシン・サーバーの再起動、停止または削除を行うと、実行中のゲストを別の使用可能な仮想マシン・サーバーに移行するように要求されます。 実行中のゲストを移行しない場合は、Oracle VM Agentによって、ゲストを再起動できる仮想マシン・サーバーの検出が試行されます。 Oracle VM Managerでゲストを作成した際のサーバー・プールの優先サーバー設定を使用して、仮想マシン・サーバーが選択されます。
「自動」は、使用可能な仮想マシン・サーバーを選択します。
「手動」は、使用可能な優先仮想マシン・サーバーを選択します。
Oracle VM Managerでゲストを作成する際に優先Oracle VM Serverを選択しなかった場合は、「自動」がデフォルトとして設定されます。
優先仮想マシン・サーバーまたは使用可能な仮想マシン・サーバーが存在しない場合、ゲストは停止(電源オフ)され、仮想マシン・サーバーが使用可能になると再起動されます。
サーバー・プール・マスターで障害が発生した場合、別のOracle VM Serverがサーバー・プールから選択され、サーバー・プール・マスターとして動作します。 サーバー・プール・マスターの役割を引き継ぐために選択されるOracle VM Serverは、ロックを取得できる最初のOracle VM Serverです。
操作を停止せずに、サーバー・プール・マスターとして動作するOracle VM Serverを動的に変更することもできます。
サーバー・プール・マスターがユーティリティ・サーバー・ロールも実行している場合、そのサーバー・プール・マスターで障害が発生しても、ユーティリティ・サーバーの役割は別のOracle VM Serverに移動されません。 ユーティリティ・サーバーの役割をフェイルオーバーする場合は、サーバー・プールに複数のユーティリティ・サーバーを設定してください。
想定されるHAのシナリオを次に示します。
Oracle VM Managerで仮想マシン・サーバーを停止または再起動すると、別の使用可能な仮想マシン・サーバーに移行するゲストの入力を求められます。 移行されないゲストはすべて、使用可能な仮想マシン・サーバーで再起動されます。
Oracle VM Serverのコマンドラインで仮想マシン・サーバーを停止または再起動すると、Oracle VM Agentによって使用可能な仮想マシン・サーバーでゲストが再起動されます。
仮想マシン・サーバーで障害が発生すると、実行中のすべてのゲストが別の使用可能な仮想マシン・サーバーで自動的に再起動されます。
仮想マシン・サーバーで障害が発生し、他の仮想マシン・サーバーを使用できない場合は、1つの仮想マシン・サーバーが使用可能になると実行中のすべてのゲストが再起動されます。
図7-2「仮想マシン・サーバーでの障害発生時に有効なHA」は、仮想マシン・サーバーでの障害発生と、サーバー・プール内の他の仮想マシン・サーバーでのゲストの再起動を示しています。
図7-3「仮想マシン・サーバーの再起動または停止時に有効なHA」は、仮想マシン・サーバーの再起動と停止、およびサーバー・プール内の他の仮想マシン・サーバーへのゲストの移行を示しています。
HAを有効にするには、まずサーバー・プール内のすべての仮想マシン・サーバーで次のことを確認する必要があります。
同じ共有ストレージを使用していること。 つまり、サーバー・プール内のすべてのOracle VM Serverが同じストレージ・ビューを持つ必要があります。 共有ストレージがOCFS2の場合は、OCFS2デバイス/dev/sdd1がすべての仮想マシン・サーバーで表示されている必要があります。 共有ストレージがNFSの場合は、サーバー・プール内のすべての仮想マシン・サーバーに同じ共有NFSソースへのクライアント・アクセス権が必要です。
同じクラスタ内に存在していること。
Oracle VM Serverリリース2.1.2以上であること。
クラスタ・ルートがサーバー・プール・マスターから構成されていること。 クラスタ・ルートとは、クラスタ内のハートビートに使用される、特別に指定された共有ストレージです。 たとえば、NFSクラスタの場合、クラスタ・ルートはexample.com:/OVSで、OCFS2クラスタの場合は/dev/sdd6です。 NFSクラスタの場合、その後、ハートビート・ファイルはexample.com:/OVS/.server_pool_hbに格納されます。 OCFS2クラスタの場合、ハートビート・ファイルはシステム・ファイルに組み込まれているため、存在しません。
クラスタ・ルートが/var/ovs/mount/root_sr_uuidでマウントされ、/OVSディレクトリにリンクされていること。 他のすべてのストレージは/var/ovs/mount/other_sr_uuidでマウントできます。
複数のストレージ・リポジトリを作成し、サーバー・プール・マスターからクラスタ・ルートを設定した場合(第9.2.5項「クラスタ・ルートの設定」を参照)、Oracle VM Managerからサーバー・プールを作成すると、クラスタ・ルートのストレージ・リポジトリが自動的に/var/ovs/mount/root_sr_uuidにマウントされ、/OVSディレクトリにリンクされます。 非クラスタ・ルートのストレージ・リポジトリは、/var/ovs/mount/other_non_cluster_root_uuid/ディレクトリにマウントされます。 すべてのストレージ・リポジトリが、自動的にクラスタ内の他のノードに伝播およびマウントされます。
SANのクラスタ化されたOCFS2、ISCSIストレージまたはNASのNFSを使用した単一の共有クラスタ・ルートがあり、OVSディレクトリ(ローカルでないもの)にリンクしていること。 デフォルトのローカル・ストレージがOCFS2パーティションの場合は、HA対応にはできません。
次の項では、HAを有効にするために必要な構成の実行方法について説明します。
HAを有効にする場合は、サーバー・プールの共有ストレージを作成してから、クラスタを作成する必要があります。 共有ストレージおよびクラスタの作成方法の詳細は、第8.1項「共有ストレージの作成」および第8.2項「クラスタの作成」を参照してください。
共有ストレージを作成した後、サーバー・プールとゲストでHAを有効にする必要があります。 HAを有効にするには、次の手順を実行します。
Oracle VM Managerにログインし、サーバー・プールでHAを有効にします。
サーバー・プールがすでに存在する場合は、サーバー・プールでHAを有効にします。 サーバー・プールが存在しない場合は、サーバー・プールを作成し、作成時にHAを有効にします。 Oracle VM Managerを使用したHAの設定の詳細は、『Oracle VM Managerユーザーズ・ガイド』を参照してください。
サーバー・プールの設定が検証され、Oracle VM Managerにエラーが表示されます。 エラーがない場合は、クラスタ・ルートとして設定されたストレージ・リポジトリがサーバー・プール・マスターのOracle VM Agentで自動的にマウントされ、他のすべてのストレージ・リポジトリがサーバー・プール(クラスタ)内の各Oracle VM ServerのOracle VM Agentでマウントされます。 Oracle VM Agentがサーバー・プールで起動されると、そのOracle VM Serverに対してこの伝播が繰り返されます。
共有ストレージとクラスタが構成され、サーバー・プールがHA対応になります。
Oracle VM Managerでゲスト(仮想マシン)を作成するときに、HAを有効にします。
HAはサーバー・プールとゲストで有効化されています。