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

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

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

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

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


注 –

このデータサービスのインストールと構成には、SunPlex Manager が使用できます。詳細については、SunPlex Manager のオンラインヘルプを参照してください。


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

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


注 –

httpd.conf ファイルの場所は、インストールによって異なります。システム管理者は、通常、httpd.conf ファイルをクラスタファイルシステム上にインストールします。デフォルトのインストールでは、/usr/local/apache/conf ディレクトリに httpd.conf ファイルが配置されます。Solaris に付属している Apache パッケージをインストールする場合、このファイルは /etc/apache ディレクトリに配置されます。



注 –

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 拡張プロパティの構成

障害モニターの情報の表示 

Sun Cluster HA for Apache の障害モニター

Apache のインストールと構成

Apache Web サーバーは、非セキュアまたはセキュア Web サーバーとしてインストールし、設定できます。この節では、両タイプのインストール手順について説明します。非セキュアバージョンの Web サーバーをインストールするには、次のいずれかの手順を参照してください。

セキュアバージョンの Web サーバーをインストールするには、次のいずれかの手順を参照してください。

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

一般的なインストール手順については、Apache の Web サイト (http://www.apache.org) を参照してください。Sun Cluster ソフトウェアでサポートされている Apache バージョンの全一覧は、ご購入先から入手してください。

非セキュア Apache Web サーバーのインストール

この節では、非セキュア Apache Web サーバーのインストール手順について説明します。セキュア Apache Web サーバーのインストール手順については、セキュア Apache Web サーバーを参照してください。

Solaris 8 CD-ROM および Solaris 9 CD-ROM からの Apache ソフトウェアのインストールと構成

次の手順を使用して、非セキュア Apache Web サーバーをインストールします。セキュア Apache Web サーバーのインストール手順については、セキュア Apache Web サーバーを参照してください。

Apache バイナリは、SUNWapchrSUNWapchuSUNWapchd という 3 つのパッケージに格納されています。これらのパッケージは、全体として SUNWCapache パッケージメタクラスタを構成しています。必ず SUNWapchr パッケージをインストールしてから SUNWapchu パッケージをインストールする必要があります。

この Web サーバーのバイナリは、各クラスタノードのローカルファイルシステムに置くことも、クラスタファイルシステムに置くこともできます。

  1. pkginfo(1) コマンドを実行して、Apache パッケージの SUNWapchrSUNWapchuSUNWapchd がインストールされているかどうかを判定します。

    インストールされていない場合は、次の手順に従ってインストールします。


    # pkgadd -d Solaris 8 Product directory SUNWapchr SUNWapchu SUNWapchd
    ...
    Installing Apache Web Server (root) as SUNWapchr
    ...
    [ verifying class initd ]
    /etc/rc0.d/K16apache linked pathname
    /etc/rc1.d/K16apache linked pathname
    /etc/rc2.d/K16apache linked pathname
    /etc/rc3.d/S50apache linked pathname
    /etc/rcS.d/K16apache linked pathname
    ...
  2. SUNWapchr パッケージの一部としてインストールしたばかりの STARTSTOP 実行制御スクリプトを無効にします。

    Sun Cluster HA for Apache は、その構成を行ったあとで Apache アプリケーションの起動と停止を行います。そのため、これらのスクリプトを無効にする必要があります。次の各手順を実行します。

    1. Apache 実行制御スクリプトをリストします。

    2. Apache 実行制御スクリプトの名前を変更します。

    3. Apache に関連するすべてのスクリプトの名前が変更されていることを確認します。


    注 –

    次の例では、実行制御スクリプト名の最初の文字を大文字から小文字に変更しています。スクリプト名は、ユーザーの通常の管理規則に従って変更することができます。



    # ls -1 /etc/rc?.d/*apache
    /etc/rc0.d/K16apache
    /etc/rc1.d/K16apache
    /etc/rc2.d/K16apache
    /etc/rc3.d/S50apache
    /etc/rcS.d/K16apache
     
    # mv /etc/rc0.d/K16apache  /etc/rc0.d/k16apache
    # mv /etc/rc1.d/K16apache  /etc/rc1.d/k16apache
    # mv /etc/rc2.d/K16apache  /etc/rc2.d/k16apache
    # mv /etc/rc3.d/S50apache  /etc/rc3.d/s50apache
    # mv /etc/rcS.d/K16apache  /etc/rcS.d/k16apache
     
    # ls -1 /etc/rc?.d/*apache
    /etc/rc0.d/k16apache
    /etc/rc1.d/k16apache
    /etc/rc2.d/k16apache
    /etc/rc3.d/s50apache
    /etc/rcS.d/k16apache

Apache Web サイトからの Apache ソフトウェアのインストールと構成

次の手順を使用して、非セキュア Apache Web サーバーをインストールします。セキュア Apache Web サーバーのインストール手順については、セキュア Apache Web サーバーを参照してください。

この Web サーバーのバイナリは、各クラスタノードのローカルファイルシステムに置くことも、クラスタファイルシステムに置くこともできます。

  1. クラスタメンバー上でスーパーユーザーになります。

  2. Apache のインストールマニュアルの手順を使用して、Apache ソフトウェアをインストールします。

    Apache ソフトウェアのインストールには、Apache ソフトウェアに付属の Apache のインストールマニュアルを使用するか、http://www.apache.org で説明されているインストール指示を参照してください。

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

    • ServerName 命令を設定します。

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

    • ServerTypeServerRootDocumentRootScriptAlias および LockFile 命令を設定します。

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

    • 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 のディレクトリ構造と一致させてください。たとえば、BIN_dir/apachectl スクリプト内のHTTPD=/usr/local/apache/bin/httpd で始まる 行を次のように変更します。


    HTTPD=/usr/local/apache/bin/httpd —f /global/foo/apache/conf/httpd.conf
    
  6. 次のタスクを実行して構成の変更内容を確認します。

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

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

    3. apachectl start を実行することによって、Apache サーバーを手作業で起動します。

      Apache が正しく起動しない場合は、問題を修正してください。

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

セキュア Apache Web サーバー

この節では、セキュア Apache Web サーバーのインストール手順について説明します。非セキュア Apache Web サーバーのインストール手順については、非セキュア Apache Web サーバーのインストールを参照してください。

mod_ssl を使用した Apache ソフトウェアのインストールと構成

次の手順を使用して、セキュア Apache Web サーバーをインストールします。非セキュア Apache Web サーバーのインストール手順については、非セキュア Apache Web サーバーのインストールを参照してください。

  1. クラスタメンバー上でスーパーユーザーになります。

  2. Apache ソフトウェアと mod_ssl をインストールします。

    mod_ssl をインストールするには、Apache のインストールマニュアルか、http://www.modssl.org で説明されているインストール指示を参照してください。

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

    • ServerName 命令を設定します。

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

    • ServerTypeServerRootDocumentRootScriptAlias および LockFile 命令を設定します。

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

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

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

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

  5. すべての証明書と鍵をインストールします。

  6. Bin_dir ディレクトリに、keypass という名前のファイルを作成します。所有者以外が、このファイルに対するアクセス権を持たないようにしてください。


    # cd Bin_dir
    # touch keypass
    # chmod 700 keypass
    
  7. 暗号化したプライベートキーを使用する場合は、次の手順 a と手順 b を実行してください。

    1. httpd.conf ファイルで SSLPassPhraseDialog 命令を検索し、それを次のように変更します。


      # SSLPassPhraseDialog exec:/Bin_dir/keypass
      

      SSLPassPhraseDialog 命令の詳細については、mod_ssl のマニュアルを参照してください。

    2. keypass ファイルを編集して、このファイルがホストおよびポートに対応する暗号化キーのパスフレーズを表示するようにします。

      このファイルは、引数として server:port algorithm で呼び出されます。正しいパラメータで呼び出されたときに、このファイルが、暗号化された各キーごとにパスフレーズを表示することを確認してください。

      この後、 Web サーバーを手動で起動すると、パスフレーズについての問い合わせは表示されません。たとえば、ポート 8080 および 8888 で待機し、それぞれ RSA を使用して暗号化された秘密鍵を持つセキュア Web サーバーの場合、keypass ファイルは次のようになります。


      # !/bin/ksh
      host=`echo $1 | cut -d: -f1`
      port=`echo $1 | cut -d: -f2`
      algorithm=$2
      
      if [ "$host" = "button-1.eng.sun.com" -a "$algorithm" = "RSA" ]; then
         case "$port" in
         8080) echo passphrase-for-8080;;
         8888) echo passphrase-for-8888;;
         esac
      fi

      注 –

      所有者以外に keypass ファイルの読み取り、書き込み、実行許可を付与しないでください。


  8. Sun Cluster HA for Apache が Web サーバーを検証するたびにメッセージがロギングされるのを避けるため、httpd.conf ファイルで SSLLogLevel を warn (警告) に設定します。


    SSLLogLevel warn
  9. Apache 起動 / 停止スクリプトファイル (Bin_dir/apachect1) 内のパスを更新します。

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

  10. 次のタスクを実行して構成の変更内容を確認します。

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

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

    3. apachectl start を実行することによって、Apache サーバーを手作業で起動します。

      Web サーバーがパスフレーズを問い合わせないことを確認します。

      Apache が正しく起動しない場合は、問題を修正してください。

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

apache-ssl を使用した Apache ソフトウェアのインストールと構成

次の手順を使用して、セキュア Apache Web サーバーをインストールします。非セキュア Apache Web サーバーのインストール手順については、非セキュア Apache Web サーバーのインストールを参照してください。

  1. クラスタメンバー上でスーパーユーザーになります。

  2. Apache のインストールマニュアルで説明されているインストール手順を使用して、Apache ソフトウェアと apache-ssl をインストールします。

    apache-ssl をインストールするには、Apache のインストールマニュアルか、http://www.apache-ssl.org で説明されているインストール指示を参照してください。

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

    • ServerName 命令を設定します。

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

    • ServerTypeServerRootDocumentRootScriptAlias および LockFile 命令を設定します。

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

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

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

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

  5. すべての証明書と鍵をインストールします。

  6. すべての秘密鍵が暗号化されずに格納されることを確認してください。

    この後、 Web サーバーを手動で起動すると、パスフレーズについての問い合わせは表示されません。

  7. Apache 起動 / 停止スクリプトファイル (Bin_dir/httpsdct1) 内のパスを更新します。

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

  8. 次のタスクを実行して構成の変更内容を確認します。

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

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

    3. httpsdctl start を実行することによって、Apache サーバーを手作業で起動します。

      Apache が正しく起動しない場合は、問題を修正してください。

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

次に進む手順

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

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

scinstall(1M) ユーティリィティにより、Sun Cluster HA for Apache パッケージ (SUNWscapc) をクラスタにインストールできます。このときに、非対話型の scinstall にすべてのデータサービスパッケージをインストールする -s オプションを指定しないでください。

Sun Cluster のインストール時にこのデータサービスパッケージをすでにインストールしている場合は、Sun Cluster HA for Apache の登録と構成に進んでください。まだインストールしていない場合は、次の手順に従って SUNWscapc パッケージをインストールします。

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

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

  1. Sun Cluster 3.1 Agents CD-ROM を CD-ROM ドライブに挿入します。

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

    scinstall ユーティリティーが対話型モードで起動します。

  3. メニューオプション「新しいデータサービスのサポートをこのクラスタノードに追加」を選択します。

    scinstall ユーティリティーにより、ほかの情報を入力するためのプロンプトが表示されます。

  4. Sun Cluster 3.1 Agents CD-ROM のパスを指定します。

    このユーティリティーには、この CD は“data services cd”と示されます。

  5. インストールするデータサービスを指定します。

    選択したデータサービスが scinstall ユーティリティーによって示され、この選択内容の確認が求められます。

  6. scinstall ユーティリティーを終了します。

  7. ドライブから CD を取り出します。

次に進む手順

Sun Cluster HA for Apache の登録と構成 を参照して Sun Cluster HA for Apache を登録し、このデータサービス用にクラスタを構成してください。

Sun Cluster HA for Apache の登録と構成

この手順では、scrgadm (1M) コマンドを使って Sun Cluster HA for Apache の登録と構成を行う方法を説明します。

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

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

Sun Cluster HA for Apache の登録と構成


注 –

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


  1. クラスタメンバー上でスーパーユーザーになります。

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


    # scrgadm -a -t SUNW.apache
    
    -a

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

    -t SUNW.apache

    当該データサービス用にあらかじめ定義されているリソースタイプを指定します。

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

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

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


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

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

    -g resource-group

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

    [-h nodelist]

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


    注 –

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


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

    Sun Cluster のインストールの時に、この確認を行う必要があります。詳細は、『Sun Cluster 3.1 ソフトウェアのインストール 』の計画に関する章を参照してください。


    注 –

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


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


    # scrgadm -a {-S | -L} -g resource-group \
    -l hostname, … [-j resource] \
    [-X auxnodelist] [-n netiflist]
    -S | -L

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

    -l hostname, …

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

    -g resource-group

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

    -j resource

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

    -X auxnodelist

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

    -n netiflist

    各ノード上の IP Networking Multipathing グループをコンマで区切って指定します (省略可能)。netiflist 内の各要素の書式は、 netif@node でなければなりません。netif は、sc_ipmp0 などの IP Networking Multipathing グループ名として指定できます。ノードは、sc_ipmp0@1sc_ipmp@phys-schost-1 などのノード名またはノード ID で識別できます。


    注 –

    現在 Sun Cluster では、netif にアダプタ名を使用できません。


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

    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]
    -g resource-group

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

    -y Maximum_primaries=m

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

    -y Desired_primaries=n

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

    -y RG_dependencies= resource-group

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

    -h nodelist

    このリソースグループの主ノードとして使用できるノードのリスト (オプション)。このリストは、リソースグループの主ノードとして使用できないノードがあるときだけ指定します。

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

    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
    
    -j resource

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

    -g resource-group

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

    -t resource-type

    追加するリソースのタイプを指定します。

    -y Network_resources_used= network-resource, …

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

    -y Port_list=port-number/protocol, …

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

    -y Scalable=

    スケーラブルサービスの必須パラメータを指定します。このパラメータは、True に設定する必要があります。

    -x Bin_dir=bin-directory

    Apache バイナリ (apachect1) がインストールされている場所を指定します。Sun Cluster HA for Apache はこの拡張プロパティを必要とします。


    注 –

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


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

    この手順は、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
    
    -j resource

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

    -g resource-group

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

    -t resource-type

    追加するリソースのタイプを指定します。

    -y Network_resources_used= network-resource, …

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

    -y Port_list=port-number/protocol, …

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

    -y Scalable=

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

    -x Bin_dir=bin-directory

    Apache バイナリ (apachect1) がインストールされている場所を指定します。Sun Cluster HA for Apache にはこの拡張プロパティが必要です。

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


    # scswitch -Z -g resource-group
    
    -Z

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

    -g resource-group

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

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


    # scswitch -Z -g resource-group
    
    -Z

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

    -g resource-group

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

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

スケーラブルサービスの場合、次のリソースグループを作成します。

次に、スケーラブル Apache サービスを 2 ノードクラスタに登録する例を示します。


クラスタ情報
ノード名: 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

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

次に、フェイルオーバー 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 リソースタイプの構成

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) コマンドを使用してスイッチオーバーを実行し、サービスが引き続き二次ノードでも実行でき、さらに元の主ノードに戻すことができることを確認してください。

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

Apache サーバーリソースの作成時に必要な拡張プロパティは、Bin_dir プロパティだけです。このプロパティの値は、apachect1 スクリプトを含むディレクトリです。

通常、拡張プロパティは、Apache サーバーリソースを作成するときに、コマンド行から scrgadm -xparameter=value を実行して構成します。拡張プロパティは、第 15 章「データサービスリソースの管理」に示す手順を使って、あとで構成することもできます。

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

拡張プロパティの中には動的に変更できるものもありますが、それ以外の拡張プロパティは、Apache サーバーリソースを作成するときにしか更新できません。次の表は、Apache サーバー用に構成できる拡張プロパティの説明です。「調整」エントリは、いつプロパティを更新できるかを示します。

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

名前/データタイプ 

説明 

Bin_dir (文字列)

Apache バイナリ (特に apachect1) のパス。Sun Cluster HA for Apache はこの拡張プロパティが必要です。

デフォルト:なし

範囲: なし

調整:作成時

Monitor_ retry_ count (整数)

障害モニターの再起動を制御するとともに、 Monitor_retry_ interval プロパティで指定された時間の範囲内に、プロセスモニター機能 (PMF) が障害モニターを何回再起動するかを示します。このプロパティは、障害モニターの再起動を制御するのであって、リソースの再起動を制御するわけではありません。リソースの再起動は、システム定義プロパティの Retry_interval および Retry_count によって制御されます。

デフォルト:4

範囲: 0 – 2、147、483、641

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

調整:作成時

 

Monitor_ retry_ interval (整数)

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

デフォルト:add_delete_switch はオプションの add または delete を示します。

範囲: 0 – 2、147、483、641

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

調整:作成時

 

Probe_ timeout (整数)

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

デフォルト:90

範囲: 0 – 2、147、483、641

調整:作成時

 

Sun Cluster HA for Apache の障害モニター

Sun Cluster HA for Apache の検証機能は、Apache サーバーの状態を照会する要求をサーバーに送信します。検証機能が実際に Apache サーバーを照会する前に、ネットワークリソースがこの Apache リソース用に構成されていることの確認が行われます。ネットワークリソースが構成されていない場合は、エラーメッセージ (No network resources found for resource.) が記録され、検証はエラーとなり、終了します。

検証機能は、次の操作を行います。

  1. Probe_timeout リソースプロパティで設定されたタイムアウト値を使用し、Apache サーバーを正常に検証するための試行時間を制限します。

  2. 非セキュア Web サーバーの場合は、Apache サーバーに接続し、HTTP 要求を送信して応答を受信することで、HTTP 1.0 HEAD 検査を実行します。検証機能は、各 IP アドレスとポートの組み合わせで Apache サーバーに順番に接続します。

    この照会の結果は、異常か正常のどちらかになります。検証機能が Apache サーバーからの応答を正常に受信した場合、検証機能は無限ループに戻り、検証と休止の次のサイクルを開始します。

    照会は、ネットワークトラフィックの混雑、過剰なシステム負荷、不適切な構成など、さまざまな理由によって失敗します。構成の不備は、検証中のすべての IP アドレスとポートのペアで待機するように Apache サーバーを構成しなかった場合に発生します。Apache サーバーは、このリソースに指定した各 IP アドレスに対し、それぞれポートを提供する必要があります。Probe_timeout で指定した制限内 (前の手順 1 で指定) に照会に対する応答を受信しない場合は、検証機能は、Apache データサービスの一部で異常が発生したと判断し、履歴に異常を記録します。Apache の検証異常は、致命的な異常、または部分的な異常になります。

    致命的な異常とみなされる検証異常は、以下のとおりです。

    • サーバーへの接続に失敗した場合。次のエラーメッセージが表示されます。%s はホスト名、%d はポート番号です。


      Failed to connect to %s port %d %s
    • サーバーに接続しようとしてタイムアウト (Probe_timeout リソースプロパティのタイムアウト値を超過) した場合。

    • 検証文字列をサーバーに送信することに失敗した場合。次のエラーメッセージが表示されます。最初の %s はホスト名、%d はポート番号です。最後の %s はエラーの詳細です。


      Failed to communicate with server %s port %d: %s

    モニターは、Retry_interval リソースプロパティで指定した期間内で、以下に示す 2 つの部分的な異常を累積し、1 つの致命的な異常としてカウントします。

    部分的な異常とみなされる検証の障害は次のとおりです。

    • 検証機能による照会に対し、サーバーからの応答を読み取ろうとしてタイムアウト (Probe_timeout リソースプロパティのタイムアウト値を超過) した場合。

    • その他の理由によってサーバーからデータを読み取ることに失敗した場合。次のエラーメッセージが表示されます。最初の %s はホスト名、%d はポート番号です。最後の %s はエラーの詳細です。


      Failed to communicate with server %s port %d: %s

  3. セキュア Web サーバーの場合は、各 IP アドレスとポートの組み合わせに接続します。この接続に成功した場合は、検証機能は接続を切断して正常であると判断します。これ以上の検査は行われません。

  4. 異常履歴に基づいて、データサービスのローカルでの再起動、またはデータサービスのフェイルオーバーのいずれかを実行します。詳細は、データサービスの状態の検査を参照してください。