この節では、クラスタ間のデータ複製の構成ガイドラインを提供します。また、複製リソースグループとアプリケーションリソースグループの構成のコツも紹介します。これらのガイドラインは、クラスタのデータ複製を構成する際に使用してください。
この節では、次の項目について説明します。
複製リソースグループは、Sun StorageTek Availability Suite ソフトウェアが制御するデバイスグループと論理ホスト名リソースを相互に関連付けます。複製リソースグループには、次の特徴があります。
フェイルオーバーリソースグループである
フェイルオーバーリソースは、常に単一のノード上で実行されます。フェイルオーバーが発生すると、フェイルオーバーリソースがフェイルオーバーに加わります。
論理ホスト名は、主クラスタがホストでなければなりません。フェイルオーバーまたはスイッチオーバーの後は、二次クラスタが論理ホスト名のホストになる必要があります。ドメインネームシステム (DNS) は、論理ホスト名とクラスタを関連付けるために使用されます。
HAStoragePlus リソースを持つ
HAStoragePlus リソースは、複製リソースグループがスイッチオーバーまたはフェイルオーバーしたときに、デバイスグループをスイッチオーバーします。Sun Cluster ソフトウェアはまた、デバイスグループがスイッチオーバーしたときに、複製リソースグループをスイッチオーバーします。このように複製リソースグループとデバイスグループは常に結び付き、同じノードから制御されます。
HAStoragePlus リソース内に次の拡張プロパティを定義する必要があります。
AffinityOn property = True。この拡張プロパティは、複製リソースグループがスイッチオーバーまたはフェイルオーバーしたときに、デバイスグループをスイッチオーバーまたはフェイルオーバーします。この機能はアフィニティースイッチオーバーと呼ばれます。
ZPoolsSearchDir. この拡張プロパティーは、ZFS ファイルシステムを使用するために必要です。
HAStoragePlus については、SUNW.HAStoragePlus(5) のマニュアルページを参照してください。
結び付いているデバイスグループに -stor-rg を付けた名前になる
たとえば、devgrp-stor-rg などです。
主クラスタと二次クラスタでオンラインになる
高可用性を実現するためには、アプリケーションはアプリケーションリソースグループのリソースとして管理される必要があります。アプリケーションリソースグループは、フェイルオーバーアプリケーションまたはスケーラブルアプリケーション向けに構成できます。
主クラスタ上に構成したアプリケーションリソースとアプリケーションリソースグループは、二次クラスタ上でも構成される必要があります。また、アプリケーションリソースがアクセスするデータは、二次クラスタに複製する必要があります。
この節では、次のアプリケーションリソースグループを構成するためのガイドラインを紹介します。
フェイルオーバーアプリケーションでは、1 つのアプリケーションが 1 度に 1 ノード上で動作します。ノードで障害が発生すると、アプリケーションは同じクラスタ内の別のノードにフェイルオーバーします。フェイルオーバーアプリケーション向けリソースグループは、以下の特徴を持っていなければなりません。
アプリケーションリソースグループがスイッチオーバーまたはフェイルオーバーされた場合、 HAStoragePlus リソースにデバイスグループをスイッチオーバーさせる
デバイスグループは、複製リソースグループとアプリケーションリソースグループに結び付けられています。したがって、アプリケーションリソースグループがスイッチオーバーすると、デバイスグループと複製リソースグループもスイッチオーバーします。アプリケーションリソースグループ、複製リソースグループおよびデバイスグループは、同じノードによって制御されます。
ただし、デバイスグループや複製リソースグループがスイッチオーバーまたはフェイルオーバーしても、アプリケーションリソースグループはスイッチオーバーやフェイルオーバーを行いません。
アプリケーションデータがグローバルマウントされている場合は、アプリケーションリソースグループに HAStoragePlus リソースを必ず入れなければならないわけではありませんが、入れることをお勧めします。
アプリケーションデータがローカルマウントされている場合は、アプリケーションリソースグループに HAStoragePlus リソースを必ず入れなければなりません。
HAStoragePlus リソースがないと、アプリケーションリソースグループがスイッチオーバーまたはフェイルオーバーしても、複製リソースグループとデバイスグループのスイッチオーバーやフェイルオーバーは行われません。スイッチオーバーやフェイルオーバーの後は、アプリケーションリソースグループ、複製リソースグループおよびデバイスグループは同じノードからは制御されません。
HAStoragePlus については、SUNW.HAStoragePlus(5) のマニュアルページを参照してください。
主クラスタでオンライン、二次クラスタでオフラインとなる
二次クラスタが主クラスタをテイクオーバーした場合は、二次クラスタ上のアプリケーションリソースグループをオンラインにします。
図 4–6 フェイルオーバーアプリケーションでのアプリケーションリソースグループと複製リソースグループの構成を示す図
スケーラブルアプリケーションでは、アプリケーションは複数のノードで実行されて、1つの論理サービスを作成します。スケーラブルアプリケーションを実行しているノードで障害が発生しても、フェイルオーバーは起こりません。アプリケーションは別のノードで引き続き実行されます。
スケーラブルアプリケーションをアプリケーションリソースグループのリソースとして管理している場合は、アプリケーションリソースグループをデバイスグループと結び付ける必要はありません。したがって、アプリケーションリソースグループ向けに HAStoragePlus リソースを作成する必要はありません。
スケーラブルアプリケーション向けリソースグループは、以下の特徴を持っていなければなりません。
共有アドレスは、受信データを配信するためにスケーラブルアプリケーションを実行するノードで使用されます。
主クラスタでオンライン、二次クラスタでオフラインとなる
図 4–7 スケーラブルアプリケーションでのリソースグループの構成を示す図
主クラスタで障害が発生した場合、できるだけ速やかにアプリケーションを二次クラスタにスイッチオーバーする必要があります。二次クラスタがテイクオーバーできるようにするには、DNS を更新する必要があります。
DNS は、クライアントをアプリケーションの論理ホスト名に関連付けます。フェイルオーバーまたはスイッチオーバーの後、主クラスタへの DNS マッピングを削除し、二次クラスタへの DNS マッピングを作成します。図 4–8 DNS がどのようにクライアントをクラスタにマッピングするかを示す図
DNS を更新するには、nsupdate コマンドを使用します。詳細は、nsupdate(1M) のマニュアルページを参照してください。フェイルオーバーやスイッチオーバーの管理方法の例については、「フェイルオーバーとスイッチオーバーの管理例」を参照してください。
修復後は、 主クラスタをオンラインに戻せます。元の主クラスタにスイッチバックするには、次の手順を実行します。
主クラスタと二次クラスタを同期させ、主ボリュームが最新のものであることを確認します。
クライアントが主クラスタのアプリケーションにアクセスできるように、DNS を更新します。