この手順では、scrgadm (1M) コマンドを使って Sun Cluster HA for Apache の登録と構成を行う方法を説明します。
Apache は、フェイルオーバーサービスまたはスケーラブルサービスとして構成できます。
フェイルオーバーサービスとして Apache を構成する場合は、Apache アプリケーションリソースとネットワークリソースを単一のリソースグループに配置します。
スケーラブルサービスとして Apache を構成する場合は、Apache アプリケーションリソースとネットワークリソースのフェイルオーバーリソースグループに、それぞれ 1 つずつスケーラブルリソースグループを作成します。
スケーラブルリソースグループはフェイルオーバーリソースグループに依存します。Apache をスケーラブルサービスとして構成する場合には、追加の手順が必要になります。このような手順には、その先頭部分に「スケーラブルサービスのみ」という表示をして区別します。Apache をスケーラブルサービスとして構成しない場合は、これらの手順は省略してください。
任意のクラスタメンバーでこの手順を実行してください。
クラスタメンバー上でスーパーユーザーになります。
データサービスのリソースタイプを登録します。
# scrgadm -a -t SUNW.apache |
データサービスのリソースタイプを追加します。
当該データサービス用にあらかじめ定義されているリソースタイプを指定します。
ネットワークとアプリケーションのリソースを格納するためのフェイルオーバーリソースグループを作成します。
このリソースグループは、フェイルオーバーサービスとスケーラブルサービスの両方に必要です。フェイルオーバーサービスの場合、このリソースグループはネットワークリソースとフェイルオーバーアプリケーションリソースの両方を含みます。スケーラブルサービスの場合、ネットワークリソースのみを含みます。このグループとアプリケーションリソースを含むリソースグループとの間に、依存性が作成されます。
必要に応じて、-h オプションを指定してデータサービスを実行できる一群のノードを選択することもできます。
# scrgadm -a -g resource-group [-h nodelist] |
新しい構成を追加します。
追加するフェイルオーバーリソースグループの名前を指定します。任意の名前を指定できますが、クラスタ内で一意のリソースグループにする必要があります。
潜在的マスターを識別する物理ノード名または ID をコンマで区切って指定します (任意)。フェイルオーバー時は、この順序で主ノードが決まります。
-h を使用してノードリストの順序を指定します。クラスタ内のすべてのノードが潜在的マスターの場合、-h オプションを使用する必要はありません。
使用しているすべてのネットワークアドレスがネームサービスデータベースに追加されていることを確認します。
Sun Cluster のインストールの時に、この確認を行う必要があります。詳細は、『Sun Cluster 3.1 ソフトウェアのインストール 』の計画に関する章を参照してください。
ネームサービスの検索が原因で障害が発生するのを防ぐために、すべてのクラスタノードの /etc/inet/hosts ファイルに、すべてのネットワークアドレスが登録されていることを確認してください。サーバーの /etc/nsswitch.conf ファイルのネームサービスマッピングは、NIS、NIS+、DNS にアクセスする前に、最初にローカルファイルを検査するように構成してください。
ネットワークリソース (論理ホスト名または共有アドレス) を、手順 3で作成したフェイルオーバーリソースグループに追加します。
# scrgadm -a {-S | -L} -g resource-group \ -l hostname, … [-j resource] \ [-X auxnodelist] [-n netiflist] |
共有アドレスリソースには、-S オプションを使用します。論理ホスト名リソースには、-L オプションを使用します。
追加するネットワークリソースをコンマで区切って指定します。-j オプションを使用してリソース名を指定できます。リソース名を指定しないと、ネットワークリソースの名前は、コンマで区切ったリストの最初の名前になります。
手順 3 で作成したフェイルオーバーリソースグループ名を指定します。
リソースの名前を指定します。リソース名を指定しない場合、ネットワークリソース名は、デフォルトで -l オプションで最初に指定した名前になります。
共有アドレスをホストできるクラスタノード (ただし、フェイルオーバー時に主ノードとして使用されない) を識別する物理ノード名またはノード ID をコンマで区切って指定します。このオプションを指定した場合は、これらのノードは、リソースグループの nodelist で指定されるノードと相互に排他的になります。
各ノード上の IP Networking Multipathing グループをコンマで区切って指定します (省略可能)。netiflist 内の各要素の書式は、 netif@node でなければなりません。netif は、sc_ipmp0 などの IP Networking Multipathing グループ名として指定できます。ノードは、sc_ipmp0@1 や sc_ipmp@phys-schost-1 などのノード名またはノード ID で識別できます。
現在 Sun Cluster では、netif にアダプタ名を使用できません。
スケーラブルサービスのみ: 希望するすべてのクラスタノードで実行するスケーラブルリソースグループを作成します。
Sun Cluster HA for Apache をフェイルオーバーデータサービスとして実行する場合は、手順 8 へ進んでください。
データサービスアプリケーションリソースを保持するリソースグループを作成します。主ノードの最大数と希望数を指定する必要があります。
一部のノードしかこのリソースグループの主ノードになれない場合は、リソースグループの作成時に -h オプションを使用して主ノードになれるノードの名前を指定する必要があります。
このリソースグループと 手順 3 で作成したフェイルオーバーリソースグループとの間の依存性についても指定する必要があります。この依存性によって、フェイルオーバー時に 2 つのリソースグループが同じノードでオンラインになったとき、Resource Group Manager (RGM) は、ネットワークリソースに依存する任意のデータサービスが開始される前に、そのネットワークリソースを開始できます。
# scrgadm -a -g resource-group \ -y Maximum_primaries=m -y Desired_primaries=n \ -y RG_dependencies=resource-group \ [-h nodelist] |
追加するスケーラブルサービスリソースグループの名前を指定します。
このリソースグループに許可するアクティブ主ノードの最大数を指定します。このプロパティに値を指定しない場合は、デフォルトの 1 になります。
このリソースグループに許可するアクティブ主ノードの希望数を指定します。このプロパティに値を指定しない場合は、デフォルトの 1 になります。
作成されたリソースグループが依存する、共有アドレスリソースを含むリソースグループを指定します。これは、手順 3 で作成したフェイルオーバーリソースグループの名前です。
このリソースグループの主ノードとして使用できるノードのリスト (オプション)。このリストは、リソースグループの主ノードとして使用できないノードがあるときだけ指定します。
スケーラブルサービスのみ: スケーラブルリソースグループにアプリケーションリソースを作成します。
Sun Cluster HA for Apache をフェイルオーバーデータサービスとして実行する場合は、手順 8へ進んでください。
# scrgadm -a -j resource -g resource-group \ -t resource-type -y Network_resources_used=network-resource, … \ -y Port_list=port-number/protocol[, …] -y Scalable=True \ -x Bin_dir=bin-directory |
追加するリソースの名前を指定します。
リソースが配置されるスケーラブルリソースグループの名前を指定します。
追加するリソースのタイプを指定します。
データサービスが使用する共有アドレスを指定するネットワークリソース名をコンマで区切って指定します。
使用するポート番号とプロトコルをコンマで区切って指定します (例:80/tcp,81/tcp)。
スケーラブルサービスの必須パラメータを指定します。このパラメータは、True に設定する必要があります。
Apache バイナリ (apachect1) がインストールされている場所を指定します。Sun Cluster HA for Apache はこの拡張プロパティを必要とします。
必要に応じて、Apache データサービスに属する拡張プロパティをさらに設定し、それらのデフォルト値を上書きできます。どのような拡張プロパティがあるかについては、表 5–2 を参照してください。
フェイルオーバーサービスのみ: フェイルオーバーリソースグループにアプリケーションリソースを作成します。
この手順は、Sun Cluster HA for Apache をフェイルオーバーデータサービスとして実行する場合だけ実行してください。Sun Cluster HA for Apache をスケーラブルデータサービスとして使用している場合は、手順 6 および 手順 7 を実行し、手順 10 へ進んでください。
# scrgadm -a -j resource -g resource-group \ -t resource-type -y Network_resources_used=network-resource, … \ -y Port_list=port-number/protocol[, …] -y Scalable=False \ -x Bin_dir=bin-directory |
追加するリソースの名前を指定します。
リソースが配置されるリソースグループの名前を指定します。これは、手順 3 で作成したものです。
追加するリソースのタイプを指定します。
データサービスが使用する共有アドレスを指定するネットワークリソース名をコンマで区切って指定します。
使用するポート番号とプロトコルをコンマで区切って指定します (例:80/tcp,81/tcp)。
このプロパティは、スケーラブルサービスにのみ必要です。False に設定するか、または省略します。
Apache バイナリ (apachect1) がインストールされている場所を指定します。Sun Cluster HA for Apache にはこの拡張プロパティが必要です。
フェイルオーバーリソースグループをオンラインにします。
# scswitch -Z -g resource-group |
共有アドレスリソースと障害モニターを有効に設定し、リソースグループを MANAGED 状態に切り替え、オンラインにします。
フェイルオーバーリソースグループの名前を指定します。
スケーラブルサービスのみ:スケーラブルリソースグループをオンラインにします。
# scswitch -Z -g resource-group |
リソースとモニターを有効に設定し、リソースグループを MANAGED 状態にし、オンラインにします。
スケーラブルリソースグループの名前を指定します。
スケーラブルサービスの場合、次のリソースグループを作成します。
1 つは、ネットワークリソースを含むフェイルオーバーリソースグループです。
もう 1 つは、アプリケーションリソースを含むスケーラブルリソースグループです。
クラスタ情報 ノード名: phys-schost-1, phys-schost-2 共有アドレス: schost-1 リソースグループ: resource-group-1 (共有アドレスの場合), resource-group-2 (スケーラブル Apache アプリケーション リソースの場合) リソース: schost-1 (共有アドレス), apache-1 (Apache アプリケーション リソース) (Apache リソースタイプを登録する) # scrgadm -a -t SUNW.apache (共有アドレスを含めるためにフェイルオーバーリソースグループを追加する) # scrgadm -a -g resource-group-1 -h phys-schost-1, phys-schost-2 (フェイルオーバーリソースグループに共有アドレスリソースを追加する) # scrgadm -a -S -g resource-group-1 -l schost-1 (スケーラブルリソースグループを追加する) # scrgadm -a -g resource-group-2 -y Maximum_primaries=2 \ -y Desired_primaries=2 -y RG_dependencies=resource-group-1 (スケーラブルリソースグループに Apache アプリケーションリソースを追加する) # scrgadm -a -j apache-1 -g resource-group-2 \ -t SUNW.apache -y Network_resources_used=schost-1 \ -y Scalable=True -y Port_list=80/tcp \ -x Bin_dir=/opt/apache/bin (フェイルオーバーリソースグループをオンラインにする) # scswitch -Z -g resource-group-1 (両方のノードでスケーラブルリソースグループをオンラインにする) # scswitch -Z -g resource-group-2 |
次に、フェイルオーバー Apache サービスを 2 ノードクラスタで登録する例を示します。
クラスタ情報 ノード名: phys-schost-1, phys-schost-2 論理ホスト名: schost-1 リソースグループ: resource-group-1 (すべてのリソース) リソース: schost-1 (論理ホスト名), apache-1 (Apache アプリケーションリソース) (Apache リソースタイプを登録する) # scrgadm -a -t SUNW.apache (すべてのリソースを含むようにフェイルオーバーリソースグループを追加する) # scrgadm -a -g resource-group-1 -h phys-schost-1, phys-schost-2 (フェイルオーバーリソースグループに論理ホスト名リソースを追加する) # scrgadm -a -L -g resource-group-1 -l schost-1 (フェイルオーバーリソースグループにApache アプリケーションリソースを追加する) # scrgadm -a -j apache-1 -g resource-group-1 \ -t SUNW.apache -y Network_resources_used=schost-1 \ -y Scalable=False -y Port_list=80/tcp \ -x Bin_dir=/opt/apache/bin (フェイルオーバーリソースグループをオンラインにする) # scswitch -Z -g resource-group-1 |
データサービスのインストールと構成の確認を参照し、インストールを確認してください。リソース拡張プロパティを設定または変更する場合は、Sun Cluster HA for Apache 拡張プロパティの構成を参照してください。
SUNW.HAStoragePlus リソースタイプは Sun Cluster 3.0 5/02 から導入されています。この新しいリソースタイプは、 SUNW.HAStorage と同じ機能を実行し、HA ストレージとデータサービス間のアクションを同期します。
SUNW.HAStoragePlus には、ローカルファイルシステムを高可用性にする追加の機能があります。Sun Cluster HA for Apache はスケーラブルであるため、SUNW.HAStoragePlus リソースタイプを設定する必要があります。
詳細については、SUNW.HAStoragePlus(5) のマニュアルページおよび リソースグループとディスクデバイスグループの関係を参照してください。手順については、HAStoragePlus リソースタイプの設定を参照してください。(Sun Cluster 3.0 の 5/02 よりも前のバージョンを使用している場合は、SUNW.HAStoragePlus ではなく SUNW.HAStorage を設定してください。手順については、新しいリソース用の HAStorage リソースタイプの設定 を参照してください)
Sun Cluster HA for Apache を構成したあと、ネットワークリソース (論理ホスト名または共有アドレス) およびポート番号を使用し、Web ブラウザから Web ページを表示できることを確認します。scswitch(1M) コマンドを使用してスイッチオーバーを実行し、サービスが引き続き二次ノードでも実行でき、さらに元の主ノードに戻すことができることを確認してください。