Sun Cluster 3.1 Data Service for Apache ガイド

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

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

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

Sun Cluster HA for Apache は、フェイルオーバーデータサービスまたはスケーラブルデータサービスとして構成できます。フェイルオーバーデータサービスおよびスケーラブルデータサービスの概要については、『Sun Cluster 3.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 のインストールと構成

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

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

作業 

参照箇所 

Apache ソフトウェアのインストール 

Apache のインストールと構成

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

Web Start プログラムを使用して Sun Cluster HA for Apache パッケージをインストールする

scinstall ユーティリティを使用して 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 Webserver は、非セキュア Webserver またはセキュア Webserver としてインストールして設定できます。 この節では、両タイプのインストール手順について説明します。非セキュアバージョンの Webserver をインストールするには、次のいずれかの手順を参照してください。

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

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

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

非セキュア Apache Webserver のインストール

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

Solaris 8 CD-ROM および Solaris 9 CD-ROM から Apache ソフトウェアをインストールして構成する

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

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 Webserver をインストールします。 セキュア Apache Webserver のインストール手順については、セキュア Apache Webserver のインストールを参照してください。

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

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

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

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

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

    • ServerName 指定を設定する。( バージョン 2.0 の Apache では、ServerName 指定はホスト名とポートを指定します)

    • BindAddress 指定を設定する (任意)。(BindAddress 指定は、Apache 2.0 より前のバージョンにのみ存在します。 Apache 2.0 については、以下の Listen 指定の説明を参照してください)

    • Listen 指定を設定する。 Listen 指定は、論理ホストのアドレスまたは共有アドレスを使用する必要があります。 (Listen 指定は、Apache 2.0 以降のバージョンにのみ存在します。Apache 2.0 より前の Apache バージョンについては、BindAddress 指定の説明を参照してください)

    • ServerTypeServerRootDocumentRootScriptAliasLockFile 指定を設定する。


      注 –

      ServerType 指定は、Apache 2.0 にはありません。


    • 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 Webserver のインストール

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

mod_ssl を使用して Apache ソフトウェアをインストールして構成する

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

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

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

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

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

    • ServerName 指定を設定する。

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

    • ServerTypeServerRootDocumentRootScriptAliasLockFile 指定を設定する。

    • 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 で呼び出されます。このファイルが正しいパラメータで呼び出された場合に、ファイルが各暗号化鍵のパスフレーズを出力できることを確認してください。

      この後、Webserver を手作業で起動するときに、パスフレーズを求めるプロンプトは表示されません。たとえば、ポート 8080 と 8888 で待機しているセキュア Webserver で、RSA を使用して暗号されている両ポート用の秘密鍵を持っている場合、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. httpd.conf ファイルで、Webserver が Sun Cluster HA for Apache によって検証されるたびにメッセージをログに記録するのを防止するための警告を SSLLogLevel が出すように設定します。


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

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

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

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

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

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

      Webserver がパスフレーズについての問い合わせを行わないことを確認します。

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

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

apache-ssl を使用して Apache ソフトウェアをインストールして構成する

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

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

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

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

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

    • ServerName 指定を設定する。

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

    • ServerTypeServerRootDocumentRootScriptAliasLockFile 指定を設定する。

    • 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. 秘密鍵はすべて、暗号化解除されて格納されていることを確認してください。

    この後、Webserver を手作業で起動するときに、パスフレーズを求めるプロンプトは表示されません。

  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 Agents CD-ROM からインストールされていない場合は、Sun Cluster HA for Apache パッケージのインストールへ進みます。パッケージがインストールされている場合は、Sun Cluster HA for Apache のインストールと構成に進みます。

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

Sun Cluster の初期インストール時に Sun Cluster HA for Apache パッケージをインストールしなかった場合は、この手順を実行してパッケージをインストールしてください。次の手順は、Sun Cluster HA for Apache パッケージをインストールする各クラスタノードで実行します。この手順の実行には、Sun Cluster Agents CD-ROM が必要です。

同時に複数のデータサービスをインストールする場合は、『Sun Cluster 3.1 10/03 ソフトウェアのインストール』の「ソフトウェアのインストール」の手順を実行してください。

次のいずれかのインストールツールを使用して、Sun Cluster HA for Apache パッケージをインストールします。


注 –

Web Start プログラムは、Sun Cluster 3.1 データサービス 10/03 以前のリリースでは利用できません。


Web Start プログラムを使用して Sun Cluster HA for Apache パッケージをインストールする

Web Start プログラムは、コマンド行インタフェース (CLI) またはグラフィカルユーザーインタフェース (GUI) を使用して実行できます。 CLI と GUI では、指示の内容と順序がほぼ同じです。Web Start プログラムの詳細については、installer(1M) のマニュアルページを参照してください。

  1. Sun Cluster HA for Apache パッケージをインストールするクラスタノードで、スーパーユーザーになります。

  2. (省略可能) GUI を使用して Web Start プログラムを実行する予定の場合は、DISPLAY 環境変数が設定されていることを確認してください。

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

    ボリューム管理デーモンの vold(1M) が実行中で、CD-ROM デバイスを管理するように構成されている場合、デーモンによって自動的に CD-ROM が /cdrom/scdataservices_3_1_vb ディレクトリにマウントされます。

  4. CD-ROM の Sun Cluster HA for Apache コンポーネントディレクトリに移動します。

    Sun Cluster HA for Apache データサービス用の Web Start プログラムは、このディレクトリにあります。


    # cd /cdrom/scdataservices_3_1_vb/\
    components/SunCluster_HA_Apache_3.1
    
  5. Web Start プログラムを起動します。


    # ./installer
    
  6. プロンプトが表示されたら、インストールの種類を選択します。

    • C ロケールのみをインストールする場合は、一般を選択します。

    • ほかのロケールをインストールする場合は、カスタムを選択します。

  7. 画面上の指示に従って、Sun Cluster HA for Apache パッケージをノードにインストールします。

    インストールを終了すると、Web Start プログラムはインストールの要約を表示します。この要約から、インストール時に Web Start プログラムによって作成されたログを表示できます。これらの記録は、/var/sadm/install/logs ディレクトリにあります。

  8. Web Start プログラムを終了します。

  9. Sun Cluster Agents CD-ROM を CD-ROM ドライブから取り出します。

    1. CD-ROM が使用中にならないように、CD-ROM に含まれていないディレクトリに移動します。

    2. CD-ROM を取り出します。


      # eject cdrom
      

次に進む手順

Sun Cluster HA for Apache を登録して構成するを参照して、Sun Cluster HA for Apache を登録し、このデータサービス用にクラスタを構成します。

scinstall ユーティリティを使用して Sun Cluster HA for Apache パッケージをインストールする

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

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

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

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

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

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

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

    ユーティリティーはこの CD をデータサービス CD-ROM として示します。

  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 ネットワークマルチパスグループをコンマで区切ったリストで指定します (省略可能)。netiflist 内の各要素は、netif@node の書式にする必要があります。 netif は、sc_ipmp0 のような IP ネットワークマルチパスグループ名で指定できます。ノードは、sc_ipmp0@1 または sc_ipmp@phys-schost-1 のような、ノード名またはノード ID で識別できます。


    注 –

    現バージョンの Sun Cluster では、netif にアダプタ名を使用できません。


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

    Sun Cluster HA for Apache をフェイルオーバーデータサービスとして実行する場合は、手順 8 に進みます。

    データサービスアプリケーションリソースを保持するリソースグループを作成します。主ノードの最大数と希望数を指定する必要があります。


    注 –

    一部のノードしかこのリソースグループの主ノードになれない場合は、リソースグループの作成時に -h オプションを使用して主ノードになれるノードの名前を指定する必要があります。


    このリソースグループと 手順 3 で作成したフェイルオーバーリソースグループとの間の依存性についても指定する必要があります。この依存性によって、フェイルオーバー時に 2 つのリソースグループが同じノードでオンラインになったとき、リソースグループマネージャ (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 データサービスに属する拡張プロパティをさらに設定し、それらのデフォルト値を上書きできます。どのような拡張プロパティがあるかについては、表 1–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 アプリケーションリソース)
 
(フェイルオーバーリソースグループを追加して、共有アドレスを含める)
# 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

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

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

SUNW.HAStoragePlus リソースタイプは、Sun Cluster 3.0 5/02 で導入されました。 新しいリソースタイプは、 SUNW.HAStorage と同じ機能を実行し、HA ストレージとデータサービスとの間のアクションを同期します。

SUNW.HAStoragePlus には、ローカルファイルシステムを高可用性にする追加機能があります。 Sun Cluster HA for Apache はスケーラブルであるため、SUNW.HAStoragePlus リソースタイプを設定する必要があります。

背景情報については、SUNW.HAStoragePlus(5) のマニュアルページおよび『Sun Cluster 3.1 データサービスの計画と管理』の「リソースグループとディスク装置グループとの間で起動を同期させる」を参照してください。手順については、『Sun Cluster 3.1 データサービスの計画と管理』の「リソースグループとディスク装置グループとの間で起動を同期させる」を参照してください。(5/02 以前の Sun Cluster 3.0 バージョンを使用している場合は、SUNW.HAStoragePlus ではなく SUNW.HAStorage を設定する必要があります。手順については、『Sun Cluster 3.1 データサービスの計画と管理』の「リソースグループとディスク装置グループとの間で起動を同期させる」を参照してください。)

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

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

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

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

通常、拡張プロパティは、Apache サーバーリソースを作成するときに、コマンド行から scrgadm -xparameter=value を実行して構成します。『 Sun Cluster 3.1 データサービスの計画と管理』の「データサービスリソースの管理」で説明されている手順を使用して、これらのプロパティをあとで構成することもできます。

すべての Sun Cluster プロパティの詳細については、『Sun Cluster 3.1 データサービスの計画と管理』の「標準プロパティ」を参照してください。

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

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

名前/データタイプ 

説明 

Bin_dir (文字列)

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

初期値: なし

範囲: なし

調整: 作成時 (At_ creation)

Monitor_retry_count (整数)

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

初期値: 4

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

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

調整:作成時 (At_ creation)

 

Monitor_retry_interval (整数)

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

初期値: 2

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

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

調整: 作成時 (At_ creation)

 

Probe_ timeout (整数)

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

初期値: 90

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

調整: 作成時 (At_ creation)

 

Monitor_Uri_List (文字列)

1 つの URI または URI のリスト。障害モニターはこれを使用して、 Sun Cluster HA for Apache Web Server に配備されているアプリケーションを検証します。 Sun Cluster HA for Apache Web Server に配備されているアプリケーションによってサービスされる 1 つ以上の URI にプロパティを設定することで、配備されているアプリケーションを検証します。 リリース 3.1 10/03 で導入されました。 

初期値: Null

調整: 任意の時点 (Anytime)

任意 URI の監視

Web サーバーの障害モニターで、Web サーバーが提供するアプリケーション (URI) の任意リストを検証する場合は、Monitor_uri_list 拡張プロパティを設定する必要があります。この拡張プロパティによって、拡張された検証機能が提供されます。また、使用している Web サーバーのほかにサービスを階層状にする場合に、このプロパティは有用です。Monitor_uri_list 拡張プロパティは、セキュア Sun Cluster HA for Apache インスタンスではサポートされません。Monitor_uri_list 拡張プロパティを設定しない場合、障害モニターは標準の検証を実行します。詳細については、Sun Cluster HA for Apache 障害モニターを参照してください。次の例は、Sun Cluster HA for Apache インスタンスを構成に追加する場合の Monitor_uri_list 拡張プロパティの設定方法を示しています。

例— スケーラブル Sun Cluster HA for Apache インスタンスのための Monitor_uri_list の設定


(デフォルトの負荷分散で非セキュア Apache インスタンスを追加する)

# scrgadm -a -j apache-insecure-1 -g resource-group-1 \
-t SUNW.apache -y Network_resources_used=schost-1, ... \
-y Scalable=True -y Port_list=8000/tcp -x Bin_dir=/opt/apache/bin \
-x Monitor_Uri_list=http://schost-1:8000/servlet/monitor

例 — フェイルオーバー Sun Cluster HA for Apache インスタンスのための Monitor_uri_list の設定


(非セキュア Apache アプリケーションリソースのインスタンスを追加する)

# scrgadm -a -j apache-insecure-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 \ 
-x Monitor_Uri_list=http://schost-1:80/servlet/monitor

Sun Cluster HA for Apache 障害モニター

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

検証機能は、次のことを行います。

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

  2. 非セキュア Webserver については、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. Monitor_Uri_List 拡張プロパティで URI を構成している場合、検証機能は Sun Cluster HA for Apache サーバーに接続し、Monitor_Uri_List 内の各 URI に対して、HTTP 要求を送信して応答を受け取ることで HTTP 1.1 GET 検査を実行します。HTTP サーバーのリターンコードが 500 (Internal Server Error) となるか接続に失敗した場合、検証は対応処置を実行します。

    HTTP 要求の結果は、失敗か成功のいずれかです。すべての要求で Sun Cluster HA for Apache サーバーからの応答を正常に受信した場合、検証機能はサイクルに戻り、検証と休止の次のサイクルを開始します。

    大量のネットワークトラフィック、大きなシステム負荷、不正な構成は、HTTP GET 検証の失敗の原因になります。Monitor_Uri_List プロパティを正しく構成しないと、Monitor_Uri_List の URI が不正なポートまたはホスト名を含むため失敗の原因になります。たとえば、Web サーバーのインスタンスが論理ホストの schost-1 で待機しており、URI は http://schost-2/servlet/monitor として指定されている場合、検証機能は /servlet/monitor を要求するために schost-2 に問い合わせようとします。

  4. セキュア Webserver については、各 IP アドレスとポートの組み合わせに接続します。この接続試行に成功した場合、検証機能は接続を切断して、成功状態を返します。これ以上の検査は行われません。

  5. 異常履歴に基づいて、データサービスのローカルでの再起動、またはデータサービスのフェイルオーバーのいずれかを実行します。このアクションの詳細については、『 Sun Cluster 3.1 データサービスの計画と管理』の「Sun Cluster データサービスの障害モニター」を参照してください。