この手順では、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 ソフトウェアのインストール (Solaris OS 版)』の計画に関する章を参照してください。
ネームサービスの検索が原因で障害が発生するのを防ぐために、すべてのクラスタノードの /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 ネットワークマルチパス グループをコンマで区切って指定します (省略可能)。 netiflist の各要素は、netif@node の形式で指定する必要があります。netif は IP ネットワークマルチパス グループ名 (sc_ipmp0 など) として指定できます。ノードは、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 データサービスに属する拡張プロパティをさらに設定し、それらのデフォルト値を上書きできます。どのような拡張プロパティがあるかについては、表 1–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 状態にし、オンラインにします。
スケーラブルリソースグループの名前を指定します。
スケーラブルサービスの場合、次のリソースグループを作成します。
ネットワークリソースを含むフェイルオーバーリソースグループ
アプリケーションリソースを含むスケーラブルリソースグループ
クラスタ情報 ノード名: phys-schost-1、phys-schost-2 共有アドレス: schost-1 リソースグループ: resource-group-1 (共有アドレスの場合)、 resource-group-2 (スケーラブル Apache アプリケーション リソースの場合 リソース: schost-1 (共有アドレス)、apache-1 (Apache アプリケーション リソース) (フェイルオーバーリソースグループを追加して、共有アドレスを含める) # scrgadm -a -g resource-group-1 (共有アドレスリソースをフェイルオーバーリソースグループに追加する) # scrgadm -a -S -g resource-group-1 -l schost-1 (Apache リソースタイプを登録する) # scrgadm -a -t SUNW.apache (スケーラブルリソースグループを追加する) # 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 アプリケーションリソース) (フェイルオーバーリソースグループを追加して、すべてのリソースを含める) # scrgadm -a -g resource-group-1 (論理ホスト名リソースをフェイルオーバーリソースグループに追加する) # scrgadm -a -L -g resource-group-1 -l schost-1 (Apache リソースタイプを登録する) # scrgadm -a -t SUNW.apache (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 には、ローカルファイルシステムを高可用性にする追加機能があります。
背景情報については、SUNW.HAStoragePlus(5) のマニュアルページと『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』の「リソースグループとディスク装置グループの関係」を参照してください。手順については、『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』の「リソースグループとディスクデバイスグループ間での起動の同期」を参照してください。(Sun Cluster 3.0 5/02 より前のバージョンを使用している場合は、SUNW.HAStoragePlus ではなく、SUNW.HAStorage を設定する必要があります。手順については、『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』の「リソースグループとディスクデバイスグループ間での起動の同期」を参照してください。)
Sun Cluster HA for Apache を構成すると、ネットワークリソース (論理ホスト名または共有アドレス) とポート番号によって、Web ブラウザから Web ページを開くことができます。scswitch(1M) コマンドを使用してスイッチオーバーを実行し、サービスが引き続き二次ノードでも実行でき、さらに元の主ノードに戻すことができることを確認してください。