Sun Java System Messaging Server 6 2005Q4 管理ガイド

Sun Cluster エージェントのインストール

ここでは、Messaging Server をインストールし、Sun Cluster Highly Available (HA) Data Service として設定する方法について説明します。このインストール手順は Sun Cluster 3.1 に適用されます。この節には、次の項目があります。

Sun Cluster 3.1 のマニュアルも参照してください。

Veritas File System (VxFS) は Sun Cluster 3.1 でサポートされています。

Sun Cluster の要件

ここでは、次の条件を前提としています。

HAStoragePlus について

Sun Cluster 環境の内部で、ローカルマウントされるファイルシステムを高可用性にする場合、HAStoragePlus リソースタイプを使用することを強くお勧めします。Sun Cluster グローバルデバイスグループ上に存在するファイルシステムはすべて HAStoragePlus とともに使用できます。HAStorage のようなグローバルマウントされるファイルシステムと異なり、HAStoragePlus は同時に 1 台のクラスタノード上でのみ使用可能です。これらのローカルマウントされるファイルシステムは、フェイルオーバーモードでのみ、またフェイルオーバーリソースグループ内でのみ使用できます。HAStorage の GFS (グローバルファイルシステム) と対照的に、HAStoragePlus は FFS (フェイルオーバーファイルシステム) を提供します。

HAStoragePlus には多くの利点があります。

HAStoragePlus の詳細については、http://docs.sun.com の『Sun Cluster 3.1 Data Service Planning and Administration Guide』を参照してください。

Sun Cluster および HA StoragePlus を使用した Messaging Server の設定

ここでは、Sun Cluster 3.1 用の Messaging Server の現在のバージョンに対して HA サポートおよび HAStoragePlus を設定する方法について、簡単な例を使用して説明します。

HA を設定したあとは必ず、HA サポートに関連する追加の手順について「サーバーへの IP アドレスのバインド」を確認してください。

次の例では、HA 論理ホスト名と IP アドレスを指定してメッセージングサーバーが設定済みであることを前提としています。物理ホスト名を mail-1 および mail-2、HA 論理ホスト名を budgie と仮定します。図 3–3 は、Messaging Server の HA サポートの設定時に作成する各種の HA リソースについて、入れ子構造の依存関係を示したものです。

図 3–3 単純な Messaging Server HA 設定

この図は、単純な Messaging Server HA 設定を示したものです。

ProcedureHA サポートと HA StoragePlus を設定するには

手順
  1. スーパーユーザーになってコンソールを開きます。

    以降の Sun Cluster コマンドはすべて、スーパーユーザーとしてログインしてから実行する必要があります。/dev/console へのメッセージ出力を確認するためのコンソールまたはウィンドウを別に開くこともできます。

  2. 必要なリソースタイプを追加します。

    使用する予定のリソースタイプを認識するように Sun Cluster を設定します。これは scrgadm -a -t コマンドで行います。


    # scrgadm -a -t SUNW.HAStoragePlus
    # scrgadm -a -t SUNW.ims
  3. Messaging Server 用のリソースグループを作成します。

    リソースグループをまだ作成していない場合は作成し、Messaging Server を実行するクラスタノード上でそのグループが見えるようにします。次のコマンドは、MAIL-RG という名前のリソースグループを作成し、クラスタノード mail-1 および mail-2 上でそのグループが見えるようにします。

    # scrgadm -a -g MAIL-RG -h mail-1,mail-2

    もちろん、リソースグループに対しては任意の名前を使用できます。

  4. HA 論理ホスト名リソースを作成し、リソースグループを起動します。

    HA 論理ホスト名のリソースを作成して有効にし、リソースグループに配置します (まだこの作業を行っていない場合のみ)。次のコマンドは、論理ホスト名 budgie を使用してその処理を行います。-j スイッチを省略しているため、作成されるリソースの名前も budgie になります。


    # scrgadm -a -L -g MAIL-RG -l budgie
    # scswitch -Z -g MAIL-RG
  5. HAStoragePlus リソースを作成します。

    次に、Messaging Server が依存するファイルシステムに対して HAStoragePlus リソースタイプを作成する必要があります。次のコマンドは、disk-rs という名前の HAStoragePlus リソースを作成し、ファイルシステム disk_sys_mount_point をその制御下に置きます。


    # scrgadm -a -j disk-rs -g MAIL-RG \
    -t SUNW.HAStoragePlus \
    -x ServicePaths=disk_sys_mount_point-1, disk_sys_mount_point-2
    

    ServicePaths のコンマ区切りのリストは、Messaging Server が依存するクラスタファイルシステムのマウントポイントです。この例では、disk_sys_mount_point-1 および disk_sys_mount_point-2 の 2 つのマウントポイントのみを指定しています。いずれかのサーバーが依存するファイルシステムがほかにもある場合、追加の HA ストレージリソースを作成し、手順 10 でその追加の依存関係を指定することができます。

  6. 管理サーバーをインストールして設定します

    手順については、『Sun Java Enterprise System 2005Q4 インストールガイド』を参照してください。

    完全修飾ドメイン名を指定するときは、手順 4 で作成した HA 論理ホスト名を使用します。

  7. Messaging Server をインストールし、設定します。「Messaging Server の初期実行時設定を作成する」を参照してください。

    1. 「Messaging Server の初期実行時設定を作成する」に示すように、初期実行時設定では設定ディレクトリを指定するよう求められます。必ず、対象の HAStoragePlus リソースの共有ディスクディレクトリパスを使用してください。

    2. 次のコマンドを実行して、Sun Cluster のもとで watcher プロセスを有効にします。


      configutil -o local.autorestart -v 1

      watcher プロセスの詳細については、「障害が発生したサービスや応答がないサービスの自動再起動」を参照してください。

  8. ha_ip_config スクリプトを実行して、service.listenaddr および service.http.smtphost パラメータと、dispatcher.cnf および job_controller.cnf ファイルを高可用性のために設定します。このスクリプトは、これらのパラメータおよびファイルに対して、物理 IP アドレスではなく論理 IP アドレスが設定されることを保証します。また、watcher プロセスと自動再起動プロセスを有効にします (local.watcher.enable および local.auto.restart をそれぞれ 1 に設定する)。

    スクリプトの実行方法については、「サーバーへの IP アドレスのバインド」を参照してください。

    ha_ip_config スクリプトは、(設定およびデータ用の) 共有ディスクがあるマシン上で 1 回だけ実行することをお勧めします。

  9. imta.cnf ファイルを修正します。すべての物理ホスト名をクラスタの論理ホスト名に置換します。

  10. HA Messaging Server リソースを作成します。

    ここで、HA Messaging Server リソースを作成してリソースグループに追加します。このリソースは HA 論理ホスト名と HA ディスクリソースに依存します。

    HA Messaging Server リソースを作成するとき、Messaging Server の最上位ディレクトリのパス (msg_svr_base パス) を指定する必要があります。これらは、次のコマンドに示すように IMS_serverroot 拡張プロパティーを使用して行います。


    # scrgadm -a -j mail-rs -t SUNW.ims -g MAIL-RG \
          -x IMS_serverroot=msg_svr_base \
          -y Resource_dependencies=disk-rs,budgie

    このコマンドは、msg_svr_base ディレクトリ内の IMS_serverroot にインストールされた Messaging Server に対して、mail-rs という名前の HA Messaging Server リソースを作成します。HA Messaging Server リソースは、HA 論理ホスト名 budgie に加えて、HA ディスクリソース disk-rs に依存します。

    ファイルシステムに対する Messaging Server の依存関係がほかにもある場合、それらのファイルシステムに対する追加の HA ストレージリソースを作成できます。必ず、追加の HA ストレージリソースの名前を、このコマンドの Resource_dependencies オプションに含めるようにしてください。

  11. /etc/vfstab ファイルから単語 global を削除します。/etc/vbstab で起動時マウントを「no」に設定する必要があります。詳細については、Sun Cluster 3.1 のマニュアルを参照してください。

    vfstab ファイルが HAStoragePlus によって有効にされる前に、まず、現在グローバルファイルシステムであるファイルシステムをマウント解除 (umount) する必要があります。その後、HAStoragePlus で vfstab ファイルを有効にし、ファイルシステムを再マウントすることができます。

  12. Messaging Server リソースを有効にします。

    HA Messaging Server リソースをアクティブにし、それによってメッセージングサーバーをオンラインにする準備ができました。これを行うには、次のコマンドを使用します。

    # scswitch -e -j mail-rs

    このコマンドは、MAIL-RG リソースグループの mail-rs リソースを有効にします。MAIL-RG リソースはあらかじめオンラインにされていたため、このコマンドによって mail-rs もオンラインになります。

  13. 問題がないことを確認します。

    scstat コマンドを使って、MAIL-RG リソースグループがオンラインかどうかを確認します。必要であれば、コンソールデバイスへの出力を参照して診断情報を確認します。また、syslog ファイル /var/adm/messages も確認します。

  14. フェイルオーバーが正しく機能することを確認するために、リソースグループを別のクラスタノードにフェイルオーバーします。

    リソースグループを別のクラスタノードに手動でフェイルオーバーします (フェイルオーバー先のクラスタノードに対するスーパーユーザー権限が必要)。

    scstat コマンドを使用して、リソースグループが現在どのノード上で動作しているか (「オンライン」であるか) を確認します。たとえば、リソースグループが mail-1 上でオンラインである場合、次のコマンドを実行して mail-2 へフェイルオーバーします。

    # scswitch -z -g MAIL-RG -h mail-2

    最初のノードをアップグレードしている場合、Java Enterprise System インストーラでインストールを行ってから Messaging Server を設定します。そのあと、2 番目のノードにフェイルオーバーします。2 番目のノード上では Java Enterprise System インストーラを使用して Messaging Server パッケージをインストールしますが、初期実行時設定プログラム (configure) を再び実行する必要はありません。代わりに、useconfig ユーティリティーを使用することができます。

サーバーへの IP アドレスのバインド

Symmetric または N + 1 高可用性モデルを使用している場合、Messaging Server 用に Sun Cluster Server を準備するための設定作業について追加の留意事項があります。

Messaging Server が動作するサーバーに正しい IP アドレスをバインドする必要があります。このことは、HA 環境でメッセージングを適切に設定するために必要です。

Messaging Server の HA 設定の一部では、Messaging Server がバインドして接続を待機するインタフェースアドレスの設定が必要です。デフォルトでは、サーバーはすべての利用可能なインタフェースアドレスにバインドします。ただし HA 環境では、HA 論理ホスト名と関連付けられたインタフェースアドレスにサーバーが明示的にバインドするのが理想的です。

そのため、特定の Messaging Server インスタンスに属するサーバーが使用するインタフェースアドレスを設定するためのスクリプトが用意されています。スクリプトでは、現在使用している IP アドレス、または、サーバーが使用する HA 論理ホスト名と関連付けられる予定の IP アドレスを利用してインタフェースアドレスが識別されることに注意してください。

スクリプトでは、次の設定ファイルを変更または作成することによって設定変更を有効にします。

msg_svr_base/config/dispatcher.cnf

このファイルに対し、スクリプトは SMTP サーバーおよび SMTP 送信サーバーに対する INTERFACE_ADDRESS オプションを追加または変更します。

msg_svr_base/config/job_controller.cnf

このファイルに対し、スクリプトはジョブコントローラに対する INTERFACE_ADDRESS オプションを追加または変更します。

スクリプトは最後に、configutilservice.listenaddr および service.http.smtphost パラメータを設定します。これらは POP サーバー、IMAP サーバー、および Messenger Express HTTP サーバーによって使用されるパラメータです。

元の設定ファイルがある場合、その名前は *.pre-ha に変更されます。

スクリプトを実行するには、次の手順に従います。

ProcedureIP アドレスをサーバーにバインドするには

手順
  1. スーパーユーザーになります。

  2. msg_svr_base/sbin/ha_ip_config を実行します。

  3. スクリプトによって、次に示す質問が表示されます。質問に対して control-d を入力すると、スクリプトを中止できます。質問へのデフォルトの回答は角括弧 [ ] で囲んで示されます。デフォルトの回答を変更しない場合は、RETURN キーだけを押します。

    1. 論理 IP アドレス: Messaging Server が使用する予定の論理ホスト名に割り当てられる IP アドレスを指定します。IP アドレスは 123.456.78.90 のように、ドット区切りの 10 進形式で指定する必要があります。

      論理 IP アドレスは configutil のパラメータ service.http.smtphost に自動的に設定されます。このパラメータにより、クラスタ内のどのマシンがメッセージングシステムを実行しているかを確認できます。たとえば、Messenger Express を使用している場合、送信メールの送信元メールホストをサーバーが判別できます。

    2. Messaging Server ベース (msg_svr_base): Messaging Server がインストールされる最上位ディレクトリの絶対パスを指定します。

    3. 上の選択のいずれかを変更しますか。それまでの回答を変更せずに設定変更を有効にするには「no」と回答します。回答を変更する場合は「yes」と回答します。


      注 –

      ha_ip_config スクリプトはこれらの処理に加えて、2 つの新しいプロセス watcher および msprobe を自動的に有効にします。その際、local.autorestart パラメータと local.watcher.enable パラメータが使用されます。これらの新しいパラメータは、メッセージングサーバーの健全性を監視するために役立ちます。プロセスの障害や応答しないサービスがある場合、特定の障害を示すログメッセージが出力されます。クラスタエージェントは watcher プロセスを監視し、このプロセスが終了するたびにフェイルオーバーするようになりました。Sun Cluster を正しく機能させるためにはこれらのパラメータを有効にする必要がある点に注意してください。

      watcher プロセスと msprobe プロセスの詳細については、「障害が発生したサービスや応答がないサービスの自動再起動」を参照してください。