Sun Cluster Data Service for Apache ガイド (Solaris OS 版)

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

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

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

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


注 –

SunPlexTM 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 Task Map: 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 をインストールするには、次のいずれかの手順を参照してください。

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

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

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

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

ProcedureSolaris CD-ROM から Apache ソフトウェアをインストールして構成する

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

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

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

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

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

    • Solaris 8 および Solaris 9 では、次のコマンドを実行します。


      # pkgadd -d Solaris-product-directory SUNWapchr SUNWapchu SUNWapchd
      
    • Solaris 10 では、次のコマンドを実行します。


      # pkgadd -G -d Solaris-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

ProcedureApache 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 指定の説明を参照してください)

    • ServerTypeServerRootDocumentRootScriptAlias、および LockFile 命令を設定する。


      注 –

      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 のインストール」を参照してください。

Proceduremod_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 指定を設定する (任意)。

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

      この後、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 の起動後、次の手順に移行する前に停止します。

Procedureapache-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 指定を設定する (任意)。

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

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

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

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

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

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

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

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

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

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

次の手順

最初に Sun Cluster をインストールするときに、Sun Cluster HA for Apache をインストールしなかった場合は、「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 が必要です。

複数のデータサービスを同時にインストールする場合は、『Sun Cluster ソフトウェアのインストール (Solaris OS 版)』「ソフトウェアのインストール」に記載されている手順を実行してください。

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


注 –

Solaris 10 を使用している場合は、これらのパッケージを大域ゾーンにだけインストールしてください。パッケージをインストールしたあとで作成されたローカルゾーンにそれらのパッケージが転送されないようにするには、scinstall ユーティリティーを使用してパッケージをインストールしてください。Web Start プログラムは使用しないでください。


ProcedureWeb 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. CD-ROM ドライブに Sun Cluster Agents CD を挿入します。

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

  4. CD-ROM の Sun Cluster HA for Apache コンポーネントディレクトリに切り替えます。

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


    # cd /cdrom/cdrom0/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 を CD-ROM ドライブから取り出します。

    1. CD-ROM が使用されないように、CD-ROM 上のディレクトリ以外に移動します。

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


      # eject cdrom
      
次の手順

「Sun Cluster HA for Apache のインストールと構成」に進みます。

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

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

始める前に

Sun Cluster Agents CD が存在することを確認します。

手順
  1. CD-ROM ドライブに Sun Cluster Agents CD をロードします。

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

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

  3. メニューオプション「Add Support for New Data Service to This Cluster Node」を選択します。

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

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

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

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

    選択したデータサービスが scinstall ユーティリティーによって示され、選択を確定するように求められます。

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

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

次の手順

「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 拡張プロパティーの設定

以下の各項では、Sun Cluster HA for Apache リソースの登録と構成について説明します。拡張プロパティーの詳細は、付録 A 「Sun Cluster HA for Apache 拡張プロパティー」を参照してください。「調整可能」の欄には、そのプロパティーをいつ変更できるかが示されています。

Sun Cluster の全プロパティーの詳細は、『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』の付録 A「標準プロパティー」を参照してください。

リソースの拡張プロパティーを設定するには、リソースを作成または変更する scrgadm(1M) コマンドに次のオプションを含めます。


-x property=value 
-x property

設定する拡張プロパティーを指定します。

value

設定する拡張プロパティーの値を指定します。

リソースの作成後は、『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』の第 2 章「データサービスリソースの管理」に示されている手順でリソースを構成できます。

任意 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

ProcedureSun 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 ソフトウェアのインストール (Solaris OS 版)』の計画に関する章を参照してください。


    注 –

    ネームサービスの検索が原因で障害が発生するのを防ぐために、すべてのクラスタノードの /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 は IP ネットワークマルチパス グループ名 (sc_ipmp0 など) として指定できます。ノードは、ノード名またはノード ID (sc_ipmp0@1sc_ipmp@phys-schost-1 など) で識別できます。


    注 –

    現バージョンの 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 データサービスに属する拡張プロパティーをさらに設定し、それらのデフォルト値を上書きできます。どのような拡張プロパティーがあるかについては、付録 A 「Sun Cluster HA for Apache 拡張プロパティー」を参照してください。


  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

    リソースとモニターを使用可能にし、リソースグループを 管理状態にし、オンラインにします。

    -g resource-group

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


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

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

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


クラスタ情報
ノード名: phys-schost-1, phys-schost-2
共有アドレス: schost-1
リソースグループ: resource-group-1 (共有アドレスの場合)、 
	resource-group-2 (スケーラブル Apache アプリケーションの場合 
    resources)
リソース: 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


例 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

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

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

SUNW.HAStoragePlus には、ローカルファイルシステムを高可用性にする追加機能があります。

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

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

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

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

Sun Cluster HA for Apache 障害モニターは、リソースタイプが SUNW.apache であるリソースに含まれます。

障害モニターの動作は、リソースのシステムプロパティーと拡張プロパティーによって制御されます。事前に設定された障害モニターの動作は、これらのプロパティーのデフォルト値に基づいています。現在の動作は、ほとんどの Sun Cluster システムに適しているはずです。したがって、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 のインストールと構成」を参照してください。

詳しい情報については、『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』の「Sun Cluster データサービス用に障害モニターを調整する」を参照してください。

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

Sun Cluster HA for Apache の検証機能は、Apache サーバーの状態を照会する要求をサーバーに送信します。

検証前の障害モニターの動作

Apache サーバーを照会する前に、検証機能はネットワークリソースがこの Apache リソース用に構成されているかをチェックして確認します。ネットワークリソースが構成されていない場合は、エラーメッセージ (No network resources found for resource.) が記録され、検証はエラー終了します。

非セキュア Webserver の場合の処理

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

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

照会は、ネットワークトラフィックの混雑、過剰なシステム負荷、不適切な構成など、さまざまな理由によって失敗します。構成の不備は、検証中のすべての IP アドレスとポートのペアで待機するように Apache サーバーを構成しなかった場合に発生します。Apache サーバーは、このリソースに指定した各 IP アドレスに対し、それぞれポートを提供する必要があります。

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

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

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

監視対象 URI リストの場合の処理

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 の URI に無効なポートまたはホスト名が含まれていた場合、Monitor_Uri_List の構成ミスは障害の原因になります。たとえば、Web サーバーのインスタンスが論理ホストの schost-1 で待機しており、URI は http://schost-2/servlet/monitor として指定されている場合、検証機能は /servlet/monitor を要求するために schost-2 に問い合わせようとします。

セキュア Webserver の場合の処理

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

障害発生時の応答アクション

異常履歴に基づいて、データサービスのローカルでの再起動、またはデータサービスのフェイルオーバーのいずれかを実行します。詳しい情報については、『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』の「Sun Cluster データサービス用に障害モニターを調整する」を参照してください。

SUNW.apache リソースタイプの更新

次の条件に当てはまる場合は、SUNW.apache リソースタイプをアップグレードしてください。

リソースタイプをアップグレードする一般的な手順については、『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』「リソースタイプの更新」を参照してください。このあと、SUNW.apache リソースタイプのアップグレードを完了するために必要な情報を示します。

新しいリソースタイプバージョンの登録に関する情報

次の表に、リソースタイプのバージョンと Sun Cluster データサービスのリリース間の関係を示します。Sun Cluster データサービスのリリースは、リソースタイプが導入されたバージョンを表します。

リソースタイプバージョン 

Sun Cluster データサービスのリリース 

1.0 

3.1 

3.1 5/03 

3.1 10/03 

登録されているリソースタイプのバージョンを調べるには、次のどちらかのコマンドを使用します。

このリソースタイプに対応するリソースタイプ登録 (RTR) ファイルは、/opt/SUNWscapc/etc/SUNW.apache です。

リソースタイプの既存インスタンスの移行に関する情報

SUNW.apache リソースタイプの各インスタンスを編集するために必要な情報は、次のとおりです。

次の例に、SUNW.apache リソースタイプのインスタンスを変更するコマンドの例を示します。


例 3 SUNW.apache リソースタイプのインスタンスを移行する


# scrgadm -c -j apache-rs -y Type_version=4 \
  -x Monitor_Uri_List=http://schost-1/test.html

このコマンドは、apache-rs という名前の SUNW.apache リソースを次のように変更します。