Sun Java System Messaging Server 6.3 管理ガイド

3.4.3 Sun Cluster HAStorage または HAStoragePlus を使用した Messaging Server の設定

ここでは、Sun Cluster 用の Messaging Server に対して HAStorage および HAStoragePlus を設定する方法について説明します。まず、一般的な手順を説明します。その後の節で、対称および非対称の配備に対する具体的な例を示します。

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

次の説明では、HA 論理ホスト名と IP アドレスを指定して Messaging Server が設定済みであることを前提としています。物理ホスト名を mars および venus、HA 論理ホスト名を meadow と仮定します。図 3–4 は、Messaging Server の HA サポートの設定時に作成する各種の HA リソースについて、入れ子構造の依存関係を示したものです。


注 –

HAStorage と HAStoragePlus の設定方法について説明しますが、入出力パフォーマンスの高い HAStoragePlus を使用することを強くお勧めします。「3.4.2 HAStoragePlus について」を参照してください。


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

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

ProcedureSun Cluster HAStorage または HAStoragePlus を使用して Messaging Server を設定する — 一般的な例

ここでは、HA 用に Messaging Server を設定する一般的な手順について説明します。ここでの手順を確認したら、次の節で特定の非対称または対称の例について参照してください。これらの手順では、物理ホスト名を mars および venus とします。論理ホスト名は meadow です。

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

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

  2. すべてのノードで、必要な Messaging Server Sun Cluster Data Service Agents (SUNWscims) パッケージをインストールします。

  3. クラスタの各ノードで、Messaging Server を実行するための Messaging Server 実行時ユーザーおよびグループを作成します。

    ユーザー ID およびグループ ID 番号は、クラスタ内のすべてのノードで同じでなければなりません。実行時ユーザー ID は、Messaging Server を実行するユーザー名です。この名前に root を指定することはできません。デフォルトは mailsrv です。実行時グループ ID は、Messaging Server を実行するグループです。デフォルトは mail です。

    configure ユーティリティーでもこれらの名前を作成できますが、configure を実行する前に、この章で説明する各ノードの準備の一環としてこれらの名前を作成できます。実行時ユーザーおよびグループ ID 名は、次のファイルに存在する必要があります。

    • クラスタ内の全ノードの /etc/passwd: mailsrv または選択した名前が存在する必要がある

    • クラスタ内の全ノードの /etc/group: mail または選択した名前が存在する必要がある

    「1.1 UNIX システムのユーザーとグループを作成する」を参照してください。

  4. 必要なリソースタイプを Sun Cluster に追加します。

    使用する予定のリソースタイプを認識するように Sun Cluster を設定します。Messaging Server をリソースとして登録するには、次のコマンドを使用します。


    # scrgadm -a -t SUNW.ims

    HAStoragePlus をリソースタイプとして登録するには、次のコマンドを使用します。


    # scrgadm -a -t SUNW.HAStoragePlus

    HAStorage をリソースタイプとして同じ操作を行うには、次のコマンドを使用します。


    # scrgadm -a -t SUNW.HAStorage
  5. Messaging Server 用のフェイルオーバーリソースグループを作成します。

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

    # scrgadm -a -g MAIL-RG -h mars,venus

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

  6. HA 論理ホスト名リソースを作成し、オンラインにします。

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


    # scrgadm -a -L -g MAIL-RG -l meadow
    # scswitch -Z -g MAIL-RG
  7. HAStorage リソースまたは HAStoragePlus リソースを作成します。

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


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

    SUNW.HAStoragePlus は、1 個以上のデータサービスリソースによって使用されるデバイスグループ、クラスタおよびローカルファイルシステムを表します。これらは、リソースグループに SUNW.HAStoragePlus 型のリソースを追加し、その他のリソースと SUNW.HAStoragePlus リソース間の依存関係を設定します。この依存関係により、データサービスリソースは、次の条件が揃った時点でオンラインになります。

    • 指定のすべてのデバイスサービスが使用可能な状態になっており、必要に応じて連結されている

    • 指定のすべてのファイルシステムのチェックとマウントが完了している

    FilesystemMountPoints 拡張プロパティーにより、グローバルとローカルのどちらのファイルシステムでも指定できます。つまり、クラスタのすべてのノードからも、単一クラスタノードからも、アクセス可能なファイルシステムです。ローカルファイルシステムは、SUNW.HAStoragePlus リソースによって管理され、単一のクラスタノードにマウントされます。配下のデバイスは Sun Cluster グローバルデバイスである必要があります。ローカルファイルシステムを指定する SUNW.HAStoragePlus リソースは、アフィニティースイッチオーバーが有効になっているフェイルオーバーリソースグループ以外には所属できません。このため、これらのローカルファイルシステムはフェイルオーバーファイルシステムと呼ばれます。ローカルとグローバルの両方のファイルシステムのマウントポイントを同時に指定できます。

    ファイルシステムのマウントポイントが FilesystemMountPoints 拡張プロパティーに指定され、/etc/vfstab エントリが次の条件を両方とも満たしている場合、このファイルシステムはローカルです。

    • 非グローバルマウントオプション

    • ブート時マウントフラグが no に設定されている


    注 –

    SUNW.HAStoragePlus リソースタイプのインスタンスは、大域ファイルシステムのブート時マウントフラグを無視します。


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

    HAStorage の場合は、次のコマンドを使用します。


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

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

  8. 必要な Messaging Server パッケージを第一のノードにインストールします。「あとで設定」オプションを選択します。

    Messaging Server パッケージのインストールには、Communications Suite のインストーラを使用します。

    対称配備の場合: Messaging Server バイナリおよび構成データを、Sun Cluster の共有ディスクにマウントされたファイルシステム上にインストールします。たとえば、Messaging Server バイナリの場合は /disk_sys_mount_point-1/SUNWmsgsr に、構成データの場合は /disk_sys_mount_point-2/config にインストールします。

    非対称配備の場合: Messaging Server バイナリを、Sun Cluster の各ノードのローカルファイルシステム上にインストールします。構成データを共有ディスク上にインストールします。たとえば構成データの場合は /disk_sys_mount_point-2/config にインストールします。

  9. Messaging Server を構成します。「1.3 Messaging Server の初期実行時設定を作成する」を参照してください。

    初期実行時設定で、完全修飾ホスト名が要求されます。HA の物理ホスト名ではなく、論理ホスト名を使用する必要があります。

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

  10. ha_ip_config スクリプトを実行して、service.listenaddr および service.http.smtphost パラメータと、dispatcher.cnf および job_controller.cnf ファイルを高可用性のために設定します。

    このスクリプトは、これらのパラメータおよびファイルに対して、物理 IP アドレスではなく論理 IP アドレスが設定されることを確認します。また、watcher プロセス (local.watcher.enable) と自動再起動プロセス (local.autorestart) を有効 (それぞれ 1 に設定) にします。

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

    ha_ip_config スクリプトは、第一のノードで 1 回だけ実行されなければなりません。

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

  12. リソースグループを一次クラスタノードから二次クラスタノードへフェイルオーバーして、フェイルオーバーが適切に機能することを確認します。

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

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

    # scswitch -z -g MAIL-RG -h venus

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

  13. 必要な Messaging Server パッケージを第ニのノードにインストールします。「あとで設定」オプションを選択します。

    二次ノードにフェイルオーバーしたら、Communications Suite のインストーラを使用して Messaging Server パッケージをインストールします。

    対称配備の場合: Messaging Server をインストールしないでください。

    非対称配備の場合: Messaging Server バイナリを、ローカルファイルシステム上にインストールします。

  14. クラスタの二次ノードで useconfig を実行します。

    useconfig ユーティリティーを使用すると、HA 環境内の複数のノード間で単一の設定を共有できます。初期実行時設定プログラム (configure) を実行する必要はありません。代わりに useconfig ユーティリティーを使用してください (「3.3.3 useconfig ユーティリティーの使用」を参照)。

  15. 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,meadow

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

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

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

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

    # scswitch -e -j mail-rs

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

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

    scstat -pw コマンドを使って、MAIL-RG リソースグループがオンラインかどうかを確認します。

    必要であれば、コンソールデバイスへの出力を参照して診断情報を確認します。また、syslog ファイル /var/adm/messages も確認します。詳細なデバッグのオプションと情報については、「3.4.3.1 Sun Cluster でデバッグを有効にする方法」を参照してください。

ProcedureSun Cluster 3.x 用の Messaging Server HA サポートを設定解除する — 一般的な例

この節では、Sun Cluster 用の HA 設定を解除する方法について説明します。ここでは、「3.4 Sun Cluster のインストール」で説明した単純な設定例を想定します。手順 3 などの一部の手順が異なる場合がありますが、それ以外の手順の論理順は同じです。

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

    以降の Sun Cluster コマンドはすべて、スーパーユーザーとして実行する必要があります。

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

    リソースグループ内のすべてのリソースをシャットダウンするには、次のコマンドを実行します。

    # scswitch -F -g MAIL-RG

    このコマンドは、Messaging Server や HA 論理ホスト名など、リソースグループ内部のすべてのリソースをシャットダウンします。

  3. 個別のリソースを無効にします。

    続いて、次のコマンドを実行して、リソースグループから 1 つずつリソースを削除します。


    # scswitch -n -j mail-rs
    # scswitch -n -j disk-rs
    # scswitch -n -j budgie
    
  4. リソースグループから個別のリソースを削除します。

    リソースが無効になったら、次のコマンドによって、リソースグループからリソースを 1 つずつ削除できます。


    # scrgadm -r -j mail-rs
    # scrgadm -r -j disk-rs
    # scrgadm -r -j budgie
    
  5. リソースグループを削除します。

    リソースグループからすべてのリソースが削除されたら、次のコマンドによってリソースグループ自体を削除できます。

    # scrgadm -r -g MAIL-RG

  6. リソースタイプを削除します (必要な場合)。

    リソースタイプをクラスタから削除する必要がある場合、次のコマンドを実行します。


    # scrgadm -r -t SUNW.ims
    # scrgadm -r -t SUNW.HAStoragePlus
    

Procedure2 ノード対称 Messaging Server を設定する — 例

この例では、物理ホスト名が mars.red.siroe.com および venus.red.siroe.com である 2 つのクラスタノードを仮定します。インストールディレクトリの位置および設定ディレクトリの位置は一意である必要があります。/opt/SUNWmsgsr と /var/opt/SUNWmsgsr のように、各ノードのインストールディレクトリや設定ディレクトリが同じディレクトリ名である場合は、競合の問題が発生します。競合の問題は、venusmars にフェイルオーバーし、Messaging Server の 2 つのインスタンスでインストールディレクトリおよび設定ディレクトリが競合することで発生します。

インストールディレクトリおよび設定ディレクトリに一意の名前を作成するには、インストールディレクトリに形式 /opt/NodeMember /SUNWmsgsr、設定ディレクトリに形式 /var/opt/NodeMember/SUNWmsgsr を使用するとよいでしょう。一意であるかぎり、どのようなディレクトリであっても、バイナリや設定データのインストールに使用できます。

この例では、物理ホスト名が mars.red.siroe.com および venus.red.siroe.com である 2 つのクラスタノードを仮定します。

mars.red.siroe.com では、バイナリが /opt/mars/SUNWmsgsr に、設定データが /var/opt/mars/SUNWmsgsr にインストールされています。

venus.red.siroe.com では、バイナリが /opt/venus/SUNWmsgsr に、設定データが /var/opt/venus/SUNWmsgsr にインストールされています。

個別の論理 IP アドレスが設定されている、2 つの論理ホスト名 meadowpasture があります。たとえば、両方のノードの /etc/hosts ファイルは、次のようになっています。


192.18.75.155 meadow.red.siroe.com meadow 
192.18.75.157 pasture.red.siroe.com pasture
  1. Messaging Server Sun Cluster エージェントパッケージ (SUNWscims) を両方のノードにインストールします。

  2. 4 つのファイルシステムを作成します。

    これらのファイルシステムは、クラスタファイルシステムでもローカルファイルシステム (フェイルオーバーファイルシステム) でもかまいません。


    /var/opt/mars/SUNWmsgsr
    /var/opt/venus/SUNWmsgsr
    /opt/mars/SUNWmsgsr
    /opt/venus/SUNWmsgsr

    これらのファイルシステムは、共有ディスクにマウントするようにしてください。たとえば、次のような 4 つのクラスタファイルシステムにします。次の /etc/vfstab の内容は、クラスタのすべてのノードで同じようになっているはずです。


    # cat /etc/vfstab
    #device  device  mount  FS  fsck  mount  mount  to  mount  to  fsck  point  type 
    pass at_boot_options
    /dev/md/penguin/dsk/d500 /dev/md/penguin/rdsk/d500 /opt/mars/SUNWmsgsr ufs 2 yes 
    logging,global
    /dev/md/penguin/dsk/d400 /dev/md/penguin/rdsk/d400 /var/opt/mars/SUNWmsgsr ufs 2 
    yes logging,global
    /dev/md/polarbear/dsk/d200 /dev/md/polarbear/rdsk/d200 /opt/venus/SUNWmsgsr ufs 2 
    yes  logging,global
    /dev/md/polarbear/dsk/d300 /dev/md/polarbear/rdsk/d300 /var/opt/venus/SUNWmsgsr 
    ufs 2 yes logging,global

    前述の 4 つのファイルシステムをローカルファイルシステム (フェイルオーバーファイルシステム) にする場合は、ブートオプションの mount を no に設定し、マウントオプションの global キーワードを削除します。


    
    
  3. 第一のノードを設定します。

    1. 第一のノードに必要なリソースタイプを追加します。

      使用する予定のリソースタイプを認識するように Sun Cluster を設定します。Messaging Server および HAStoragePlus リソースを登録するには、次のコマンドを使用します。


      # scrgadm -a -t SUNW.HAStoragePlus
      # scrgadm -a -t SUNW.ims 
    2. MS_RG_MARS という名前の Messaging Server 用フェイルオーバーリソースグループを作成します。


      # scrgadm -a -g MS_RG_MARS -h mars,venus
    3. meadow という名前の論理ホスト名リソース 1 つを作成してリソースグループに追加し、オンラインにします。


      # scrgadm -a -L -g MS_RG_MARS -l meadow
      # scrgadm -c -j meadow -y R_description="LogicalHostname resource for meadow"
      # scswitch -Z -g MS_RG_MARS
    4. 先に作成したファイルシステムで ms-hasp-mars という名前の HAStoragePlus リソースを作成します。


      # scrgadm -a -j ms-hasp-mars -g MS_RG_MARS -t SUNW.HAStoragePlus -x 
      FileSystemMountPoints ="/opt/mars/SUNWmsgsr, /var/opt/mars/SUNWmsgsr" -x 
      AffinityOn=TRUE
    5. HAStoragePlus リソースを有効にします。


      # scswitch -e -j ms-hasp-mars
  4. 第一のノードに Messaging Server をインストールします。

    Communications Suite インストーラを使用して Messaging Server パッケージをインストールします。共有ファイルシステムに Messaging Server バイナリおよび設定データをインストールしたことを確認してください (手順 2 を参照)。たとえば Messaging Server のこのインスタンスの場合、Messaging Server バイナリは /opt/mars/SUNWmsgsr に、設定データは /var/opt/mars/SUNWmsgsr にあります。

  5. 第一のノードに Messaging Server をインストールし、設定します (「1.3 Messaging Server の初期実行時設定を作成する」を参照)。

    初期実行時設定プログラムで、完全修飾ホスト名が要求されます。論理ホスト名 meadow.red.siroe.com を入力します。設定ディレクトリの指定も要求されます。/var/opt/mars/SUNWmsgsr と入力します。

  6. 第一のノードで ha_ip_config スクリプトを実行し、論理 IP アドレスを指定します。

    第一のノードのみで実行し、第ニのノードでは実行しません。ha_ip_config スクリプトは、sbin ディレクトリの下のインストールディレクトリにあります。次に例を示します。


    # /opt/mars/SUNWmsgsr/sbin/ha_ip_config
    
    Please specify the IP address assigned to the HA logical host name. 
    Use dotted decimal form, a.b.c.d
    
    Logical IP address: 192.18.75.155 
    # This value is the logical IP address of the logical hostname. Refer 
    # to the /etc/hosts file.
    Please specify the path to the top level directory in which iMS is
    installed.
    
    iMS server root: /opt/mars/SUNWmsgsr
    
    . . . 
    
    Updating the file /opt/mars/SUNWmsgsr/config/dispatcher.cnf
    Updating the file /opt/mars/SUNWmsgsr/config/job_controller.cnf
    Setting the service.listenaddr configutil parameter
    Setting the local.snmp.listenaddr configutil parameter
    Setting the service.http.smtphost configutil parameter
    Setting the local.watcher.enable configutil parameter
    Setting the local.autorestart configutil parameter
    Setting the metermaid.config.bindaddr configutil parameters
    Setting the metermaid.config.serveraddr configutil parameters
    Setting the local.ens.port parameter
    Configuration successfully updated
  7. imta.cnf ファイルを修正して、物理ホスト名 (mars) の出現箇所すべてを HA 論理ホスト名 (meadow) に置き換えます。

  8. リソースグループを第ニのノード (venus) にフェイルオーバーします。

    フェイルオーバー後、第ニのノード (venus) を設定します。


    # scswitch -z -g MS_RG_VENUS -h mars
  9. 第ニのノード (venus) で useconfig ユーティリティーを実行します。「3.3.3 useconfig ユーティリティーの使用」を参照してください。

    初期実行時設定プログラム ( configure) を実行したり、Messaging Server パッケージをインストールしたりする必要はありません。

    次の例で、/var/opt/mars/SUNWmsgsr は共有設定ディレクトリです。


    # useconfig /var/opt/mars/SUNWmsgsr/setup/configure_20061201124116
    cp /var/opt/mars/SUNWmsgsr/setup/configure_20061201124116/Devsetup.properties
    /opt/mars/SUNWmsgsr/lib/config-templates/Devsetup.properties
    /usr/sbin/groupadd mail
    /usr/sbin/useradd -g mail -d / mailsrv
    /usr/sbin/usermod -G mail mailsrv
    sed -e "s/local.serveruid/mailsrv/" -e "s/local.serveruid/mail/" -e "s:<msg·RootPath>:/opt/mars/SUNWmsgsr:" 
    /opt/mars/SUNWmsgsr/lib/config-templates/devtypes.txt.template > 
    /opt/mars/SUNWmsgsr/lib/config-templates/devtypes.txt
    sed -e "s/local.serveruid/mailsrv/" -e "s/local.serveruid/mail/" -e 
    "s:<msg·RootPath>:/opt/mars/SUNWmsgsr:" 
    /opt/mars/SUNWmsgsr/lib/config-templates/config.ins.template > 
    /opt/mars/SUNWmsgsr/lib/config-templates/config.ins
    /opt/mars/SUNWmsgsr/lib/devinstall -l sepadmsvr:pkgcfg:config -v -m -i 
    /opt/mars/SUNWmsgsr/lib/config-templates/config.ins 
    /opt/mars/SUNWmsgsr/lib/config-templates 
    /opt/mars/SUNWmsgsr/lib/jars /opt/mars/SUNWmsgsr/lib
    devinstall returned 0
    crle -c /var/ld/ld.config -s
     /usr/lib/secure:/opt/SUNWmsgsr/lib:/opt/venus/SUNWmsgsr/lib:/opt/mars/SUNWmsgsr/lib 
    -s /opt/mars/SUNWmsgsr/lib
    See /opt/mars/SUNWmsgsr/install/useconfiglog_20061211155037 for more details
  10. HA Messaging Server リソースを作成し、有効にします。


    # scrgadm -a -j ms-rs-mars -t SUNW.ims -g MS_RG_MARS -x IMS_serverroot 
    =/opt/mars/SUNWmsgsr -y Resource_dependencies=meadow,ms-hasp-mars
    # scswitch -e -j mail-rs-mars

    このコマンドでは、/opt/mars/SUNWmsgsr にインストールされた Messaging Server 用に ms-rs-mars という名前の HA Messaging Server リソースを作成します。この HA Messaging Server リソースは、HA ディスクリソース、つまり先に作成したファイルシステムと、HA 論理ホスト名 meadow に依存します。

  11. すべてが動作していることを確認します。

    Messaging Server リソースを第一のノードにフェイルオーバーします。


     # scswitch -z -g MAIL-RG -h mars
  12. 同様にして、Messaging Server の 2 番目のインスタンスに対し、第一のノードが venus、第ニのノード (スタンバイノード) が mars である別のフェイルオーバーリソースグループを作成します。

    手順 3 〜 10 を繰り返します。このリソースグループの第一のノードとして venus、リソースグループとして MS_RG_VENUS、論理ホスト名として pasture、HAStoragePlus リソースとして ms-hasp-venus を使用します。つまり、コマンドは次のようになります。

    リソースグループ MS_RG_VENUS を作成するには、次のコマンドを実行します。


    # scrgadm -a -g MS_RG_VENUS -h venus,mars

    pasture という名前の論理ホスト名リソースを作成してリソースグループに追加し、オンラインにするには、次のコマンドを実行します。


    # scrgadm -a -L -g MS_RG_VENUS -l pasture
    # scrgadm -c -j pasture -y R_description="LogicalHostname resource for pasture"
    # scswitch -Z -g MS_RG_VENUS

    先に作成したファイルシステムで ms-hasp-venus という名前の HAStoragePlus リソースを作成するには、次のコマンドを実行します。


    # scrgadm -a -j ms-hasp-venus -g MS_RG_VENUS -t SUNW.HAStoragePlus -x 
    FileSystemMountPoints ="/opt/venus/SUNWmsgsr, /var/opt/venus/SUNWmsgsr" -x 
    AffinityOn=TRUE

    HAStoragePlus リソースを有効にするには、次のコマンドを実行します。


    # scswitch -e -j ms-hasp-venus

    第一のノードで ha_ip_config スクリプトを実行し、論理 IP アドレスを指定するには、次のコマンドを実行します。


    # /opt/venus/SUNWmsgsr/sbin/ha_ip_config

    HA Messaging Server リソースを作成し、有効にするには、次のコマンドを実行します。


    # scrgadm -a -j ms-rs-venus -t SUNW.ims -g MS_RG_VENUS -x IMS_serverroot 
    =/opt/venus/SUNWmsgsr -y Resource_dependencies=pasture,ms-hasp-venus
    # scswitch -e -j mail-rs-venus

    リソースグループを第ニのノード (venus) にフェイルオーバーするには、次のコマンドを実行します。


    # scswitch -z -g MS_RG_MARS -h venus

    第ニのノード (mars) で useconfig を実行するには、次のように useconfig ユーティリティーを実行します。


    # useconfig /var/opt/venus/SUNWmsgsr/setup/configure_20061201124116

    Messaging Server リソースを第一のノードにフェイルオーバーすることで、すべてが動作していることを確認するには、次のコマンドを実行します。


     # scswitch -z -g MAIL-RG -h venus

ProcedureHA 対称配備を設定解除する

設定解除は、Messaging Server または Sun Cluster をアップグレードする必要がある場合や、Messaging Server をアンインストールする必要がある場合に行われます。ここでは、システムが前の例を使用して設定されていると仮定します。

最初の手順では、クラスタ内の各リソースグループを削除します。この例では、2 つのリソースグループ MS_RG_MARS および MS_RG_VENUS があります。どちらも削除する必要があります。

  1. クラスタからリソースグループ MS_RG_MARS を削除します。

    1 つのノードだけで次のコマンドを使用します。各ノードで実行する必要はありません。

    1. クラスタ内のすべてのノードでリソースグループをオフラインにします。


      # scswitch -F -g MS_RG_MARS
    2. 固有の Messaging Server リソースすべてを無効にします。


      # scswitch -n -j ms-rs-mars
      # scswitch -n -j meadow
      # scswitch -n -j ms-hasp-mars
    3. 固有の Messaging Server リソースすべてを削除します。


      # scrgadm -r -j ms-rs-mars
      # scrgadm -r -j meadow
      # scrgadm -r -j ms-hasp-mars
    4. リソースグループを削除します。


      scrgadm -r -g MS_RG_MARS
  2. クラスタからリソースグループ MS_RG_VENUS を削除します。

    1 つのノードだけで次のコマンドを使用します。各ノードで実行する必要はありません。

    1. クラスタ内のすべてのノードでリソースグループをオフラインにします。


      # scswitch -F -g MS_RG_VENUS
    2. 固有の Messaging Server リソースすべてを無効にします。


      # scswitch -n -j ms-rs-venus 
      # scswitch -n -j pasture
      # scswitch -n -j ms-hasp-venus
    3. 固有の Messaging Server リソースすべてを削除します。


      # scrgadm -r -j ms-rs-venus
      # scrgadm -r -j pasture
      # scrgadm -r -j ms-hasp-venus
    4. リソースグループを削除します。


      scrgadm -r -g MS_RG_VENUS
  3. 使用していないリソースタイプを登録解除します。


    # scrgadm -r -t SUNW.HAStoragePlus
    # scrgadm -r -t SUNW.ims

Procedure2 ノード HA 非対称 Messaging Server を設定する — 例

この例では、物理ホスト名 daisy.red.siroe.com および lavender.red.siroe.com と論理ホスト名 budgie が設定された 2 ノードクラスタを仮定します。

daisy.red.siroe.com では、バイナリが /opt/SUNWmsgsr に、設定データが /var/opt/SUNWmsgsr にインストールされています。

論理ホスト名 budgie には、論理 IP アドレスが割り当てられています。たとえば、/etc/hosts ファイルは、次のようになっています。


192.18.75.157 budgie.red.siroe.com budgie
  1. Messaging Server Sun Cluster エージェント (SUNWscims) を両方のノードにインストールします。

  2. ファイルシステムを作成します。

    この例のファイルシステム /var/opt/SUNWmsgsr は、共有ディスクにマウントされています。このファイルシステムは、クラスタファイルシステムでもローカルファイルシステム (フェイルオーバーファイルシステム) でもかまいません。

  3. 第一のノード (daisy) を設定します。

    1. 第一のノードに必要なリソースタイプを追加します。

      使用する予定のリソースタイプを認識するように Sun Cluster を設定します。Messaging Server および HAStoragePlus リソースを登録するには、次のコマンドを使用します。


      # scrgadm -a -t SUNW.HAStoragePlus
      # scrgadm -a -t SUNW.ims 
    2. Messaging Server インスタンスに対して MS_RG_DAISY という名前のリソースグループを作成します。


      # scrgadm -a -g MS_RG_daisy -h daisy,lavender
    3. meadow という名前の論理ホスト名リソースを作成してリソースグループに追加し、オンラインにします。


      # scrgadm -a -L -g MS_RG_DAISY -l meadow
      # scrgadm -c -j meadow -y R_description="LogicalHostname resource for meadow"
      # scswitch -Z -g MS_RG_DAISY
    4. 先に作成したファイルシステムで ms-hasp-daisy という名前の HAStoragePlus リソースを作成します。


      # scrgadm -a -j ms-hasp-daisy -g MS_RG_DAISY -t SUNW.HAStoragePlus -x 
      FileSystemMountPoints ="/var/opt/SUNWmsgsr" -x 
      AffinityOn=TRUE
    5. HAStoragePlus リソースを有効にします。


      # scswitch -e -j ms-hasp-daisy
  4. 第一のノードに Messaging Server をインストールし、設定します (「1.3 Messaging Server の初期実行時設定を作成する」を参照)。

    初期実行時設定で、完全修飾ホスト名が要求されます。論理ホスト名 meadow.red.siroe.com を入力します。設定ディレクトリの指定も要求されます。/var/opt/SUNWmsgsr と入力します。

  5. 第一のノードで ha_ip_config スクリプトを実行し、論理 IP アドレスを指定します。

    第一のノードのみで実行し、第ニのノードでは実行しません。ha_ip_config スクリプトは、sbin ディレクトリの下のインストールディレクトリにあります。次に例を示します。


    # /opt/SUNWmsgsr/sbin/ha_ip_config
    
    Please specify the IP address assigned to the HA logical host name. 
    Use dotted decimal form, a.b.c.d
    
    Logical IP address: 192.18.75.155 
    # This value is the logical IP address of the logical hostname. Refer 
    # to the /etc/hosts file.
    Please specify the path to the top level directory in which iMS is
    installed.
    
    iMS server root: /opt/SUNWmsgsr
    
    . . . 
    
    Updating the file /opt/SUNWmsgsr/config/dispatcher.cnf
    Updating the file /opt/SUNWmsgsr/config/job_controller.cnf
    Setting the service.listenaddr configutil parameter
    Setting the local.snmp.listenaddr configutil parameter
    Setting the service.http.smtphost configutil parameter
    Setting the local.watcher.enable configutil parameter
    Setting the local.autorestart configutil parameter
    Setting the metermaid.config.bindaddr configutil parameters
    Setting the metermaid.config.serveraddr configutil parameters
    Setting the local.ens.port parameter
    Configuration successfully updated
  6. imta.cnf ファイルを修正して、物理ホスト名 (daisy) の出現箇所すべてを HA 論理ホスト名 (meadow) に置き換えます。

  7. リソースグループを第ニのノード (lavender) にフェイルオーバーします。

    フェイルオーバー後、第ニのノード (lavender) を設定します。


    # scswitch -z -g MS_RG_LAVENDER -h daisy
  8. 第ニのノード (lavender) で、Messaging Server をインストールし、useconfig ユーティリティーを実行します。「3.3.3 useconfig ユーティリティーの使用」を参照してください。

    初期実行時設定プログラム (configure) を実行する必要はありません。

    次の例で、/var/opt/SUNWmsgsr は共有設定ディレクトリです。


    # useconfig /var/opt/SUNWmsgsr/setup/configure_20061201124116
    cp /var/opt/SUNWmsgsr/setup/configure_20061201124116/Devsetup.properties
    /opt/SUNWmsgsr/lib/config-templates/Devsetup.properties
    /usr/sbin/groupadd mail
    /usr/sbin/useradd -g mail -d / mailsrv
    /usr/sbin/usermod -G mail mailsrv
    sed -e "s/local.serveruid/mailsrv/" -e "s/local.serveruid/mail/" -e "s:<msg·RootPath>:/opt/SUNWmsgsr:" 
    /opt/SUNWmsgsr/lib/config-templates/devtypes.txt.template > 
    /opt/SUNWmsgsr/lib/config-templates/devtypes.txt
    sed -e "s/local.serveruid/mailsrv/" -e "s/local.serveruid/mail/" -e 
    "s:<msg·RootPath>:/opt/SUNWmsgsr:" 
    /opt//SUNWmsgsr/lib/config-templates/config.ins.template > 
    /opt/SUNWmsgsr/lib/config-templates/config.ins
    /opt/SUNWmsgsr/lib/devinstall -l sepadmsvr:pkgcfg:config -v -m -i 
    /opt/SUNWmsgsr/lib/config-templates/config.ins 
    /opt/SUNWmsgsr/lib/config-templates 
    /opt/SUNWmsgsr/lib/jars /opt/SUNWmsgsr/lib
    devinstall returned 0
    crle -c /var/ld/ld.config -s
     /usr/lib/secure:/opt/SUNWmsgsr/lib:/opt/SUNWmsgsr/lib:/opt/SUNWmsgsr/lib 
    -s /opt/SUNWmsgsr/lib
    See /opt/SUNWmsgsr/install/useconfiglog_20061211155037 for more details
  9. HA Messaging Server リソースを作成し、有効にします。


    # scrgadm -a -j ms-rs-daisy -t SUNW.ims -g MS_RG_DAISY -x IMS_serverroot 
    =/opt/SUNWmsgsr -y Resource_dependencies=meadow,ms-hasp-daisy
    # scswitch -e -j mail-rs-daisy

    このコマンドでは、/opt/SUNWmsgsr にインストールされた Messaging Server 用に ms-rs-daisy という名前の HA Messaging Server リソースを作成します。この HA Messaging Server リソースは、HA ディスクリソース、つまり先に作成したファイルシステムと、HA 論理ホスト名 meadow に依存します。

  10. すべてが動作していることを確認します。

    Messaging Server リソースを第一のノードにフェイルオーバーします。


     # scswitch -z -g MAIL-RG -h daisy

3.4.3.1 Sun Cluster でデバッグを有効にする方法

Messaging Server Data Service Sun Cluster エージェントでは、2 つの API を使用してデバッグメッセージをログに記録します。

scds_syslog_debug() は、デバッグ用メッセージを 1 レベルでシステムログに書き込みます。

scds_syslog() は、メッセージを daemon.noticedaemon.info、および daemon.error の各レベルでシステムログに書き込みます。

すべての syslog メッセージには、次のプレフィックスが付きます。


SC[resourceTypeName, resourceGroupName, resourceName,methodName]

次に例を示します。


Dec 11 18:24:46 mars SC[SUNW.ims,MS-RG,mail-rs,ims_svc_start]: [ID 831728daemon.debug]
Groupname mail exists. 
Dec 11 18:24:46 mars SC[SUNW.ims,MS-RG,mail-rs,ims_svc_start]: [ID 383726daemon.debug] 
Username mailsrv exists.
Dec 11 18:24:46 mars SC[SUNW.ims,MS-RG,mail-rs,ims_svc_start]: [ID 244341daemon.debug] 
IMS_serverroot = /opt/mars/SUNWmsgsr
Dec 11 15:55:52 mars SC[SUNW.ims,MS_RG,MessagingResource,ims_svc_validate]: 
[ID 855581daemon.error] Failed to get the configuration info
Dec 11 18:24:46 mars SC[SUNW.ims,MS-RG,mail-rs,ims_svc_start]: [ID 833212daemon.info]
Attempting to start the data service under process monitor facility.

Messaging Server リソースタイプ SUNW.ims からのメッセージをログに記録するには、次のようにして /var/cluster の下にリソースタイプディレクトリを作成します。


mkdir -p /var/cluster/rgm/rt/SUNW.ims

リソースタイプ SUNW.ims のデバッグメッセージをすべて表示するには、全クラスタノード上で次のコマンドを発行します。


echo 9 > /var/cluster/rgm/rt/SUNW.ims/loglevel

リソースタイプ SUNW.ims のデバッグメッセージを抑制するには、全クラスタノード上で次のコマンドを発行します。


echo 0 > /var/cluster/rgm/rt/SUNW.ims/loglevel

Sun Cluster Data サービスからのデバッグメッセージと、Messaging Server エージェントからの一般的なデバッグ情報をログに記録するには、syslog.conf ファイルを編集します。たとえばすべての syslog メッセージをファイル /var/adm/clusterlog に記録するには、次の行を syslog.conf ファイルに追加します。


daemon.debug /var/adm/clusterlog

これは、レベル emergalertcriticalerror warningnoticeinformationdebug のすべてのメッセージを書き込みます。詳細については、syslog.conf マニュアルページを参照してください。

syslogd デーモンを再起動します。


pkill -HUP syslogd