Sun Cluster 3.0 データサービスのインストールと構成

第 5 章 Sun Cluster HA for Apache のインストールと構成

この章では、Sun Cluster サーバーに Sun Cluster HA for Apache をインストールして構成する手順について説明します。

この章の内容は次のとおりです。

Sun Cluster HA for Apache は、フェイルオーバーサービスまたはスケーラブルサービスとして構成することができます。各サービスの概念については、第 1 章「Sun Cluster データサービスの計画」および『Sun Cluster 3.0 の概念』を参照してください。

インストールと構成の計画

Sun Cluster HA for Apache をインストールする前に、Apache 構成ファイル (httpd.conf) の以下の情報を更新する必要があります。


注 -

Sun Cluster HA for Apache データサービスと別の HTTP サーバーを実行している場合は、HTTP サーバーがそれぞれ異なるポートで待機するように構成してください。異なるポートで待機するように構成しないと、2 つのサーバーの間でポートの衝突が発生します。


Sun Cluster HA for Apache を登録して構成するには、次の情報を検討し指定する必要があります。

Sun Cluster HA for Apache のインストールと構成

表 5-1 に、インストールと構成作業について説明している節を示します。

表 5-1 作業マップ: Sun Cluster HA for Apache のインストールと構成

作業 

参照個所 

Apache のインストール 

「Apache アプリケーションソフトウェアをインストールして構成する」

Sun Cluster HA for Apache データサービスパッケージのインストール 

「Sun Cluster HA for Apache パッケージをインストールする」

Sun Cluster HA for Apache データサービスの構成と起動 

「Sun Cluster HA for Apache を登録して構成する」

リソース拡張プロパティの構成 

「Sun Cluster HA for Apache 拡張プロパティを構成する」

Apache のインストールと構成

この節では、Apache サーバーのインストール手順と、それを Sun Cluster HA for Apache データサービスとして実行する方法について説明します。

Sun Cluster HA for Apache は、Web サーバーまたはプロキシサーバーとして構成された Apache で動作します。

一般的なインストール手順については、Apache の Web サイト (http://www.apache.org) を参照してください。Sun Cluster でサポートされている Apache リリースの一覧については、『Sun Cluster 3.0 ご使用にあたって』を参照してください。

Apache アプリケーションソフトウェアをインストールして構成する

  1. クラスタ内のノードでスーパーユーザーになります。

  2. Apache のマニュアルに記述されている手順に従って Apache をインストールします。

    Apache ソフトウェアに付属のマニュアル、または Apache の Web サイト (http://www.apache.org) を参照してください。

  3. httpd.conf 構成ファイルを更新します。

    • ServerName 命令を設定する。

    • BindAddress 命令を設定する (任意)。

    • ServerTypeServerRootDocumentRootScriptAliasLockFile 命令を設定する。

    • Port 命令を Port_list 標準リソースプロパティと同じ番号に設定する。詳細は、次に説明する手順を参照してください。

    • Apache をプロキシサーバーとして実行する場合は、プロキシサーバーとして実行するための変更を行う。詳細は、Apache のマニュアルを参照してください。Apache をプロキシサーバーとして実行する場合は、CacheRoot 設定で、クラスタファイルシステム上の場所を示す必要があります。

  4. httpd.conf 内のポート番号が、Port_list 標準リソースプロパティのポート番号と一致していることを確認します。

    httpd.conf 構成ファイルを編集し、標準の Sun Cluster リソースプロパティのデフォルト (ポート 80) と一致するようにポート番号を変更できます。または、Sun Cluster HA for Apache を構成するときに、httpd.conf 内の設定と一致するように Port_list を設定できます。

  5. (任意) Apache の起動/停止スクリプトの Bin_dir/apachectl を使用する場合は、スクリプトファイルのパスを更新します。

    Apache のデフォルトのパスを変更し、Apache のディレクトリ構造と一致させてください。

  6. 構成の変更内容を確認します。

    apachectl configtest を実行し、Apache の httpd.conf ファイルが正しい構文になっているかどうかを確認してください。

    Apache が使用する論理ホスト名または共有アドレスが、正しく構成されておりオンラインになっていることを確認してください。

    apachectl start を実行することによって、Apache サーバーを手作業で起動します。Apache が正しく起動しない場合は、問題を修正してください。

    Apache の起動後、次の手順に移行する前に停止します。

次の作業

Apache のデータサービスパッケージが Sun Cluster データサービス CD からインストールされていない場合は、「Sun Cluster HA for Apache パッケージのインストール」へ進みます。パッケージがインストールされている場合は、「Sun Cluster HA for Apache の登録と構成」へ進みます。

Sun Cluster HA for Apache パッケージのインストール

scinstall(1M) ユーティリィティにより、Sun Cluster HA for Apache データサービスパッケージ (SUNWscapc) をクラスタにインストールします。対話型の scinstall を使用すると、Sun Cluster データサービス CD から特定のデータサービスパッケージをインストールすることができます。また、scinstall-s オプションを指定して非対話型で使用することで、CD 内のすべてのデータサービスパッケージをインストールすることもできます。scinstall は、以下の手順に従って対話型で使用することをお勧めします。

データサービスパッケージは、Sun Cluster の初期インストール時にインストールされます。インストールされていない場合は、ここで説明する手順を使用してインストールしてください。

Sun Cluster HA for Apache パッケージをインストールする

この手順を実行するには、Sun Cluster データサービス CD が必要です。Sun Cluster HA for Apache をマスターできるすべてのクラスタメンバーで、この手順を実行してください。

  1. データサービス CD を CD-ROM ドライブに挿入します。

  2. オプションは指定せずに、scinstall を実行します。

    scinstall が対話型モードで起動します。

  3. 「Add support for new data service to this cluster node.」メニューオプションを選択します。

    CD 内にある任意のデータサービスのソフトウェアを読み込むことができます。

  4. scinstall を終了し、ドライブから CD を取り出します。

次の作業

Sun Cluster HA for Apache を登録し、データサービス用にクラスタを構成するには、「Sun Cluster HA for Apache を登録して構成する」を参照してください。

Sun Cluster HA for Apache の登録と構成

Sun Cluster HA for Apache データサービスを登録して構成するには、Sun Management Center のクラスタモジュールを使用するか、以下の手順を使用します。

Apache は、フェイルオーバーサービスまたはスケーラブルサービスとして構成できます。

スケーラブルリソースグループはフェイルオーバーリソースグループに依存します。Apache をスケーラブルサービスとして構成する場合には、追加の手順が必要になります。スケーラブルサービスのみに必要な追加手順については、各手順の先頭に「スケーラブルサービスのみ」と示しています。Apache をスケーラブルサービスとして構成しない場合は、これらの手順を省略してください。

Sun Cluster HA for Apache を登録して構成する

任意のクラスタメンバーでこの手順を実行してください。

  1. クラスタ内のノードでスーパーユーザーになります。

  2. データサービスのリソースタイプを登録します。


    # scrgadm -a -t SUNW.apache
    
    -a

    データサービスのリソースタイプを追加します。

    -t SUNW.apache

    データサービス用に事前に定義したリソースタイプ名を指定します。

  3. ネットワークリソースとアプリケーションリソースを保持するフェイルオーバーリソースグループを作成します。

    このリソースグループは、フェイルオーバーサービスとスケーラブルサービスの両方に必要です。フェイルオーバーサービスの場合、このリソースグループはネットワークリソースとフェイルオーバーアプリケーションリソースの両方を含みます。スケーラブルサービスの場合、ネットワークリソースのみを含みます。このグループとアプリケーションリソースを含むリソースグループとの間に、依存性が作成されます。

    必要に応じて、-h オプションを指定してデータサービスを実行できる一群のノードを選択することもできます。


    # scrgadm -a -g fo-resource-group-name [-h nodelist]
    -a

    新しい構成を追加します。

    -g fo-resource-group-name

    追加するフェイルオーバーリソースグループの名前を指定します。任意の名前を指定できますが、クラスタ内で一意のリソースグループにする必要があります。

    -h nodelist...

    潜在的マスターを識別する物理ノード名または ID をコンマで区切って指定します (任意)。フェイルオーバー時は、この順序で主ノードが決まります。


    注 -

    -h を使用してノードリストの順序を指定します。クラスタ内のすべてのノードが潜在的マスターの場合、-h オプションを使用する必要はありません。


  4. 使用しているすべてのネットワークアドレスが、ネームサービスデータベースに追加されていることを確認します。

    Sun Cluster のインストールの一部として、この確認を行います。詳細は、『Sun Cluster 3.0 ソフトウェアのインストール』の計画に関する章を参照してください。


    注 -

    ネームサービスの検索が原因で障害が発生するのを防ぐために、すべてのクラスタノードの /etc/hosts ファイルに、すべてのネットワークアドレスが登録されていることを確認してください。サーバーの /etc/nsswitch.conf のネームサービスマッピングは、NIS、NIS+、DNS にアクセスする前に、最初にローカルファイルを検査するように構成してください。


  5. ネットワークリソース (論理ホスト名または共有アドレス) を、手順 3 で作成したフェイルオーバーリソースグループに追加します。


    # scrgadm -a {-S | -L} -g fo-resource-group-name ¥
    -l hostname, ... [-j resource-name] ¥
    [-X auxnodelist=nodeid, ...] [-n network-interface-id-list]
    -S | -L

    共有アドレスリソースには -S を、論理ホスト名リソースには -L を使用します。

    -l hostname, ...

    追加するネットワークリソースをコンマで区切って指定します。-j オプションを使用してリソース名を指定できます。リソース名を指定しないと、ネットワークリソースの名前は、コンマで区切ったリストの最初の名前になります。

    -g fo-resource-group-name

    手順 3 で作成したフェイルオーバーリソースグループ名を指定します。

    -j resource-name

    リソースの名前を指定します。リソース名を指定しない場合、ネットワークリソース名は、デフォルトで -l オプションで最初に指定した名前になります。

    -X auxnodelist=nodeid, ...

    共有アドレスをホストできるクラスタノード (ただし、フェイルオーバー時に主ノードとして使用されない) を識別するノード ID をコンマで区切って指定します。このオプションを指定した場合は、これらのノードは、リソースグループの nodelist で指定されるノードと相互に排他的になります。

    -n network-interface-id-list

    各ノードの NAFO グループをコンマで区切って指定します (任意)。リソースグループの nodelist 内のすべてのノードが、network-interface-list に含まれている必要があります。このオプションを指定しない場合は、scrgadm は、nodelist 内の各ノードの hostname リストによって指定されるサブネット上からネットアダプタを見つけようとします。

  6. スケーラブルサービスのみ: クラスタ内の希望するすべてのノードで実行するスケーラブルリソースグループを作成します。

    Sun Cluster HA for Apache をフェイルオーバーデータサービスとして実行している場合は、手順 8 へ進んでください。

    データサービスアプリケーションリソースを保持するリソースグループを作成します。主ノードの最大数と希望数、およびこのリソースグループと 手順 3 で作成したフェイルオーバーリソースグループとの間の依存性について指定する必要があります。この依存性によって、フェイルオーバー時に 2 つのリソースグループが同じノードでオンラインになったとき、Resource Group Manager (RGM) は、ネットワークリソースに依存する任意のデータサービスが開始される前に、そのネットワークリソースを開始できます。


    # scrgadm -a -g ss-resource-group-name ¥
    -y Maximum_primaries=m -y Desired_primaries=n ¥
    -y RG_dependencies=resource-group-name
    
    -g ss-resource-group-name

    追加するスケーラブルサービスリソースグループの名前を指定します。

    -y Maximum_primaries=m

    このリソースグループに許可するアクティブ主ノードの最大数を指定します。このプロパティに値を指定しない場合は、デフォルトの 1 になります。

    -y Desired_primaries=n

    このリソースグループに許可するアクティブ主ノードの希望数を指定します。このプロパティに値を指定しない場合は、デフォルトの 1 になります。

    -y RG_dependencies= resource-group-name

                      

    作成されたリソースグループが依存する、共有アドレスリソースを含むリソースグループを指定します。これは、手順 3 で作成したフェイルオーバーリソースグループの名前です。

  7. スケーラブルサービスのみ: スケーラブルリソースグループにアプリケーションリソースを作成します。

    Sun Cluster HA for Apache をフェイルオーバーデータサービスとして実行している場合は、手順 8 へ進んでください。


    # scrgadm -a -j resource-name -g ss-resource-group-name ¥
    -t resource-type-name -y Network_resources_used=network-resource, ... ¥
    -y Port_list=port-number/protocol[, ...] -y Scalable=True ¥ 
    -x Confdir_list=config-directory -x Bin_dir=bin-directory
    
    -j resource-name

    追加するリソースの名前を指定します。

    -g ss-resource-group-name

    リソースが配置されるスケーラブルリソースグループの名前を指定します。

    -t resource-type-name

    追加するリソースの種類を指定します。

    -y Network_resources_used= network-resource, ...

                      

    データサービスが使用する共有アドレスを指定するネットワークリソース名をコンマで区切って指定します。

    -y Port_list=port-number/protocol, ...

    使用するポート番号とプロトコルをコンマで区切って指定します (例: 80/tcp,81/tcp)。

    -y Scalable=

    スケーラブルサービスの必須パラメータを指定します。True に設定してください。

    -x Confdir_list=config-directory, ...

    Apache 構成ファイルの場所をコンマで区切って指定します。これは必須拡張プロパティです。

    -x Bin_dir=bin-directory

    Apache バイナリをインストールする場所を指定します。これは必須拡張プロパティです。


    注 -

    必要に応じて、Apache データサービスに属する拡張プロパティをさらに設定し、デフォルト値を上書きできます。追加の拡張プロパティについては、表 5-2 を参照してください。


  8. フェイルオーバーサービスのみ: フェイルオーバーリソースグループにアプリケーションリソースを作成します。

    ここで説明する手順は、Sun Cluster HA for Apache をフェイルオーバーデータサービスとして使用している場合にのみ実行してください。Sun Cluster HA for Apache をスケーラブルサービスとして使用している場合は、手順 6 および 手順 7 を実行し、手順 10 へ進んでください。


    # scrgadm -a -j resource-name -g resource-group-name ¥
    -t resource-type-name -y Network_resources_used=network-resource, ... ¥
    -y Port_list=port-number/protocol[, ...] -y Scalable=False ¥ 
    -x Confdir_list=config-directory -x Bin_dir=bin-directory
    
    -j resource-name

    追加するリソースの名前を指定します。

    -g resource-group-name

    リソースが配置されるリソースグループの名前を指定します。これは、手順 3 で作成したものです。

    -t resource-type-name

    追加するリソースの種類を指定します。

    -y Network_resources_used= network-resource, ...

                      

    追加するリソースの種類を指定します。

    -y Port_list=port-number/protocol, ...

    使用するポート番号とプロトコルをコンマで区切って指定します (例: 80/tcp,81/tcp)。

    -y Scalable=

    このプロパティは、スケーラブルサービスにのみ必要です。False に設定するか省略します。

    -x Confdir_list=config-directory

    Apache 構成ファイルの場所を指定します。これは必須拡張プロパティです。エントリは 1 つだけです。

    -x Bin_dir=bin-directory

    Apache バイナリをインストールする場所を指定します。これは必須拡張プロパティです。

  9. フェイルオーバーリソースグループをオンラインにします。


    # scswitch -Z -g fo-resource-group-name
    
    -Z

    共有アドレスリソースと障害モニターを有効に設定し、リソースグループを管理状態に切り替え、オンラインにします。

    -g fo-resource-group-name

    フェイルオーバーリソースグループの名前を指定します。

  10. スケーラブルサービスのみ:スケーラブルリソースグループをオンラインにします。


    # scswitch -Z -g ss-resource-group-name
    
    -Z

    リソースとモニターを有効に設定し、リソースグループを管理状態にし、オンラインにします。

    -g ss-resource-group-name

    スケーラブルリソースグループの名前を指定します。

例 -スケーラブル Sun Cluster HA for Apache の登録

スケーラブルサービスの場合、2 つのリソースグループを作成します。1 つは、ネットワークリソースを含むフェイルオーバーリソースグループです。もう 1 つは、アプリケーションリソースを含むスケーラブルリソースグループです。次に、スケーラブル Apache サービスを 2 ノードクラスタに登録する例を示します。


Cluster Information
Node names: phys-schost-1, phys-schost-2
Shared address: schost-1
Resource groups: sa-schost-1 (共有アドレスの場合), 	ap-schost-1 (スケーラブル Apache アプリケーションリソースの場合)
Resources: schost-1 (共有アドレス),	apache-1 (Apache アプリケーションリソース) 
 
(フェイルオーバーリソースグループを追加して共有アドレスを含む)
# scrgadm -a -g sa-schost-1
 
(共有アドレスリソースをフェイルオーバーリソースグループに追加する)
# scrgadm -a -S -g sa-schost-1 -l schost-1 
 
(Apache リソースタイプを登録する)
# scrgadm -a -t SUNW.apache
 
(スケーラブルリソースグループを追加する)
# scrgadm -a -g ap-schost-1 -y Maximum_primaries=2 ¥
-y Desired_primaries=2 -y RG_dependencies=sa-schost-1
 
(Apache アプリケーションリソースをスケーラブルリソースグループに追加する)
# scrgadm -a -j apache-1 -g ap-schost-1 ¥
-t SUNW.apache -y Network_resources_used=schost-1 ¥
-y Scalable=True -y Port_list=80/tcp ¥
-x Bin_dir=/opt/apache/bin -x Confdir_list=/opt/apache/conf
 
(フェイルオーバーリソースグループをオンラインにする)
# scswitch -Z -g sa-schost-1
 
(両方のノードで、スケーラブルリソースグループをオンラインにする)
# scswitch -Z -g ap-schost-1

例 - フェイルオーバー Sun Cluster HA for Apache の登録

次に、フェイルオーバー Apache サービスを 2 ノードクラスタで登録する例を示します。


Cluster Information
Node names: phys-schost-1, phys-schost-2
Logical hostname: schost-1
Resource group: lh-schost-1 (すべてのリソースの場合)
Resources: schost-1 (論理ホスト名),	apache-1 (Apache アプリケーションリソース)
 
(フェイルオーバーリソースグループを追加してすべてのリソースを含む)
# scrgadm -a -g lh-schost-1
 
(論理ホスト名リソースをフェイルオーバーリソースグループに追加する)
# scrgadm -a -L -g lh-schost-1 -l schost-1 
 
(Apache リソースタイプを登録する)
# scrgadm -a -t SUNW.apache
 
(Apache アプリケーションリソースをフェイルオーバーリソースグループに追加する)
# scrgadm -a -j apache-1 -g lh-schost-1 ¥
-t SUNW.apache -y Network_resources_used=schost-1 ¥
-y Scalable=False -y Port_list=80/tcp ¥
-x Bin_dir=/opt/apache/bin -x Confdir_list=/opt/apache/conf
 
(フェイルオーバーリソースグループをオンラインにする)
# scswitch -Z -g lh-schost-1

次の作業

「データサービスのインストールと構成を確認する」を参照し、インストールを確認してください。リソース拡張プロパティを設定または変更する場合は、「Sun Cluster HA for Apache の拡張プロパティの構成」を参照してください。

SUNW.HAStorage リソースタイプを構成する

SUNW.HAStorage リソースタイプは、HA 記憶装置とデータサービス間の動作を同期させます。Sun Cluster HA for Apache はスケーラブルなので、SUNW.HAStorage を設定することを強く推奨します。

このリソースタイプの詳細については、SUNW.HAStorage(5) のマニュアルページおよび 「リソースグループとディスクデバイスグループの関連性」を参照してください。設定手順については、新しいリソース用に SUNW.HAStorage リソースタイプを設定する」を参照してください。

データサービスのインストールと構成を確認する

Sun Cluster HA for Apache を構成した後、ネットワークリソース (論理ホスト名または共有アドレス) およびポート番号を使用し、Web ブラウザから Web ページを表示できることを確認します。scswitch(1M) コマンドを使用してスイッチオーバーを実行し、サービスが引き続き二次ノードでも実行でき、さらに元の主ノードに戻すことができることを確認してください。

Sun Cluster HA for Apache の拡張プロパティの構成

Apache サーバーリソースを作成するための必須拡張プロパティは、Confdir_listBin_dir だけです。Confdir_list は、conf という名前のサブディレクトリを含むディレクトリを指定します。conf には、Apache の構成プロパティ (httpd.conf) が存在します。

すべての Sun Cluster プロパティについての詳細は、付録 A 「標準プロパティ」 を参照してください。

Sun Cluster HA for Apache 拡張プロパティを構成する

通常、拡張プロパティは、Apache サーバーリソースの作成時に、Sun Management Center のクラスタモジュールを使用するか、scrgadm -x parameter=value コマンド行を使用して構成します。または、第 9 章「データサービスリソースの管理」で説明する手順を使用して後で構成することもできます。

拡張プロパティには、動的に更新されるものと、リソースが作成されたときにのみ更新されるものとがあります。表 5-2 に、Apache サーバーに設定できる拡張プロパティを示します。調整の列は、いつプロパティを更新できるかを示しています。

表 5-2 表 5-2 Sun Cluster HA for Apache 拡張プロパティ

名前/データタイプ 

デフォルト 

範囲 

調整 

説明 

Bin_dir (文字列)

なし 

なし 

作成時 

Apache バイナリへのパス。これは必須拡張プロパティです。 

Confdir_ list (文字配列)

なし 

なし 

作成時 

conf サブディレクトリを含むディレクトリ。conf は、httpd.conf 構成ファイルを含みます。これは必須拡張プロパティです。

Monitor_ retry_ count (整数)

0 - 2,147,483,641 

 

-1 は、再試行の数が無限であることを示す。 

作成時 

障害モニターの再起動を制御し、 Monitor_retry_interval プロパティによって指定された時間範囲内に、プロセスモニターが障害モニターを再起動する回数を指定します。このプロパティは、障害モニターの再起動について制御するのであって、リソースの再起動を制御するわけではありません。リソースの再起動は、システム定義プロパティの Retry_interval および Retry_count によって制御されます。

Monitor_ retry_ interval (整数)

0 - 2,147,483,641 

 

-1 は、再試行の間隔が無限であることを示す。 

作成時 

障害モニターの失敗がカウントされる期間 (分)。この期間内に、障害モニターの失敗の数が、拡張プロパティ Monitor_retry_count で指定した値を超えた場合、プロセスモニターは障害モニターを再起動しません。

Probe_ timeout (整数)

30 

0 - 2,147,483,641 

作成時 

Apache インスタンスの検証に障害モニターが使用するタイムアウト値 (秒)。