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

第 7 章 高可用性 (フェイルオーバーサービス) の設定

Calendar Server の高可用性 (HA) 設定により、ソフトウェアとハードウェアの障害を監視し、回復処理を行うことができます。Calendar Server の高可用性機能は、フェイルオーバーサービスとして実装されます。この章では、Sun Cluster ソフトウェアによる Calendar Server HA の設定について説明します。

この章では、Calendar Server HA サービスのインストールと設定の方法について、次の項目で説明します。

付録 C 「高可用性 (HA) 設定のワークシート」 には、Calendar Server の高可用性設定の計画に役立つワークシートが用意されています。

HA 設定の要件

Calendar Server の HA 設定には、次の表に示すソフトウェアが必要です。

ソフトウェアとバージョン 

注意とパッチ 

Solaris 9 OS 

SPARC プラットフォームのみ 

Solaris 9 OS のすべてのバージョンがサポートされます。 

Solaris 9 OS は Sun Cluster 3.0 U3 以降を必要とします。 

Solaris 9 OS には Solaris LVM (Logical Volume Manager) が含まれます。 

Solaris 8 OS 

SPARC プラットフォームのみ 

Solaris 8 MU7 (Maintenance Update 7) OS 以降、および必要パッチの追加 

Sun Cluster 3.0 U3 または 3.1 

クラスタのすべてのノードに Sun Cluster ソフトウェアがインストールされ、設定が完了している必要があります。 

Sun Cluster 3.1 をインストールするには、『Sun Java Enterprise System 2005Q4 Installation Guide for UNIX』に記載されているインストール手順に従って Java Enterprise System インストーラを使用します。

Sun Cluster ソフトウェアのインストールが完了したら、クラスタを設定する必要があります。詳細は、Sun Cluster System Administration Guide for Solaris OSを参照してください。関連するマニュアルについては、「関連マニュアル」を参照してください。

Sun Cluster のパッチ

Solaris 9 OS については、Sun Cluster InfoDoc 49704 を参照してください。 

Solaris 8 OS については、Sun Cluster InfoDoc 49705 を参照してください。 

Solstice DiskSuite 4 

Solstice DiskSuite は Solaris 8 OS だけで利用できます。 

Solaris 9 OS には LVM (Logical Volume Manager) が含まれるので、Solstice DiskSuite は必要ありません。 

VxVM (Veritas Volume Manager) 3.x 

Solaris 8 OS はバージョン 3.2 以降および必須パッチを必要とします。 

Solaris 9 OS はバージョン 3.5 以降および必須パッチを必要とします。 

VxFS (Veritas File System) 3.x 

Solaris 8 OS はバージョン 3.4 以降および必須パッチを必要とします。 

Solaris 9 OS はバージョン 3.5 以降および必須パッチを必要とします。 

HAStoragePlus は 110435-08 以降のパッチを必要とします。 

インストールと設定

ここで紹介する Calendar Server の HA 設定の例では、次の名前を使用します。

例で使用する名前 

説明 

/global/cal/

グローバルファイルシステムのマウントポイント 

cal-logical-host

論理ホスト名 

cal-logical-host-ip

論理ホストの IP 数値アドレス 

cs-admin@cal-logical-host

Calendar Server 管理者の電子メールアドレス 

cal-node-1

ノード 1 

cal-node-2

ノード 2 

cal-resource-group

カレンダリソースグループ 

cal-resource-group-store

Calendar Server のストレージリソース 

cal-resource

Calendar Server リソース 

ProcedureCalendar Server の HA 設定をインストールおよび設定するには

これは Calendar Server HA 設定のインストールおよび設定に必要な手順の詳細なリストです。

手順
  1. 「スーパーユーザーとしてログインする」

  2. 「クラスタ内の各ノードを準備する」

  3. 「Sun Java Enterprise System の製品とパッケージをインストールする」

  4. 「論理ホストを設定する」

  5. 「ストレージリソースを有効化する」

  6. 「インストール後の設定プログラムを実行する」

  7. 「自動バックアップディレクトリを共有ストレージに配置する」

  8. 「Calendar Server の config ディレクトリを変更する」

  9. 「Calendar Server の ics.conf ファイルを編集する」

  10. 「HA Calendar Server を起動する」

  11. 「HA 設定を検証する」

スーパーユーザーとしてログインする

Calendar Server の HA 設定をインストールおよび設定するには、スーパーユーザー (root) としてログインするか、スーパーユーザーになり、/dev/console に送信されるメッセージを表示するコンソールまたはウィンドウを指定します。

クラスタ内の各ノードを準備する

クラスタ内の各ノードで次の手順を実行します。

  1. 次の方法で、Calendar Server を実行する Calendar Server ランタイムユーザーおよびグループを作成します。

    1. /etc/group ファイルに icsgroup (または選択した値) を追加します。

    2. /etc/passwd ファイルに icsuser (または選択した値) を追加します。


    ヒント –

    デフォルト名は icsusericsgroup です。別の名前を使用することもできますが、UIDGID の番号は、クラスタ内のすべてのノードで同一である必要があります。ユーザー名を root とすることはできません

    ユーザー名とグループ名は、「インストール後の設定プログラムを実行する」の手順を実行するときに指定する必要があります。


  2. /etc/vfstab ファイルの次のフィールドを追加または設定します。

    • mount point/global/cal (または 「Calendar Server のインストールディレクトリの選択」で選択したファイルシステムのマウントポイント) に設定します。

      • mount at boot オプションを no に設定します。

      • mount options を、FFS の場合は logging、GFS の場合は global,logging に設定します。

Sun Java Enterprise System の製品とパッケージをインストールする

Sun Java Enterprise System 製品 (Calendar Server など) のインストールは、従来の Sun 製品 (Sun ONE、iPlanet など) から大幅に変更されています。Sun Java Enterprise System 製品をインストールするには、Sun Java Enterprise System インストーラを使用する必要があります。

このインストーラについては、『Sun Java Enterprise System 2005Q4 Installation Guide for UNIX』を参照してください。

次の表は、Calendar Server の HA 設定に必要な Sun の製品とパッケージを示しています。

製品またはパッケージ 

ノード 1 

ノード 2 

Sun Cluster ソフトウェア 

必要 

必要 

Calendar Server (6.0 以降) 

必要 

不要 

Calendar Server 用の Sun Cluster エージェント (SUNWscics パッケージ)

必要 

必要 

共有コンポーネント (SUNWicuSUNWldkSUNWprSUNWsaslSUNWtls の各パッケージ)

必要 

必要 

ノード 1

ノード 1 には、選択されているすべての製品とパッケージを Java Enterprise System インストーラを使用してインストールします。Calendar Server をインストールするときは、デフォルトディレクトリ以外のディレクトリを指定する必要があります。「Calendar Server のインストールディレクトリの選択」を参照してください。

ノード 2

ノード 2 では、次の手順を実行します。

  1. Java Enterprise System インストーラを使用して、Sun Cluster と Calendar Server 用の Sun Cluster エージェント (SUNWscics パッケージ) をインストールします。

  2. 注: Calendar Server 用の Sun Cluster エージェントだけをインストールすることはできません。Sun Cluster 用の Sun Java Enterprise System エージェントを選択すると、Java Enterprise System インストーラはすべてのエージェントをインストールします。

  3. pkgadd コマンドを使用して、共有コンポーネント (SUNWicuSUNWldkSUNWprSUNWsaslSUNWtls の各パッケージ) をインストールします。「共有コンポーネントのインストール」を参照してください。

Calendar Server のインストールディレクトリの選択

Calendar Server のインストールでは、Java Enterprise System インストーラはデフォルトインストールディレクトリ /opt を使用します。

しかし、HA 設定では、グローバルインストールディレクトリを指定する必要があります。例: /global/cal/opt/

共有コンポーネントのインストール

ノート 2 で必要な共有コンポーネントを利用できるようにするには、次のパッケージをインストールする必要があります。

これらのパッケージは、次のディレクトリに格納されています。

.../Solaris_sparc/Product/shared_components/Packages/SUNWldk
 .../Solaris_sparc/Product/shared_components/Solaris_8/Packages
 .../Solaris_sparc/Product/shared_components/Solaris_9/Packages

これらのパッケージをインストールするには、上のいずれかのディレクトリに移動し、pkgadd コマンドを実行します。次に例を示します。

# pkgadd -d . SUNWicu SUNWpr SUNWsasl SUNWtls

論理ホストを設定する

論理ホストを設定するには、次の手順を実行します。

  1. cal-resource-group という Calendar Server フェイルオーバーリソースグループを作成します。


    # scrgadm -a -g cal-resource-group -h cal-node-2,cal-node-1
    
  2. リソースグループに cal-logical-host という論理ホスト名を追加します。Calendar Server はこのホスト名を待機します。


    # scrgadm -a -L -g cal-resource-group -l cal-logical-host
    
  3. リソースグループをオンライン状態にします。


    # scswitch -Z -g cal-resource-group
    

ストレージリソースを有効化する

ストレージリソースを有効化するには、次の手順を実行します。

  1. ServicePaths プロパティーにマウントポイントを指定して、ストレージリソースを登録します。


    # scrgadm -a 
        -j cal-resource-group-store
        -g cal-resource-group
        -t SUNW.HAStorage
        -x ServicePaths=/global/cal
        -x AffinityOn=True
  2. ストレージリソースを有効化します。


    # scswitch -e -j cal-resource-group-store
    

    SUNW.HAStoragePlus がグローバルファイルシステム (GFS) の設定も選択している場合は、ServicePaths プロパティーではなく、FileSystemMountPoints プロパティーの設定が必要です。

インストール後の設定プログラムを実行する

Calendar Server のインストールが完了したら、第 2 章「ディレクトリ準備スクリプト (comm_dssetup.pl)」で説明している手順に従って Directory Server セットアップスクリプト (comm_dssetup.pl) と Calendar Server 設定プログラム (csconfigurator.sh) を実行します。

次の表は、HA 設定用に指定が必要な設定情報を示しています。

表 7–1 HA 設定用の Calendar Server 設定オプション

設定パネル 

説明 

ランタイム設定 

「ランタイムユーザー ID」と「ランタイムグループ ID」

  • 「ランタイムユーザー ID」は、Calendar Server を実行するユーザーの名前です。この名前に root を指定することはできません。デフォルトは icsuser です。

  • 「ランタイムグループ ID」は、Calendar Server を実行するグループの名前です。デフォルトは icsgroup です。

    これらの名前は設定プログラムによって自動的に作成されますが、この章の最初に説明した各ノードの準備の一環として、設定プログラムを実行するに作成しておいてください。

    これらの名前は次のファイルに設定されている必要があります。

  • クラスタ内のすべてのノードの /etc/passwd に格納されている icsuser (または選択した名前)

  • クラスタ内のすべてのノードの /etc/etc/group に格納されている icsgroup (または選択した名前)

    Calendar Server の起動

    次のオプションはどちらも選択しないでください

  • インストールが成功したら起動する

  • システムの起動時に起動する

ディレクトリの選択 

データベース、一時ファイル、ログファイルの場所として、グローバルパーティションを選択します。次に例を示します。 

  • データベースの場合: /global /cal/var/csdb

  • 一時ファイルの場合: /global /cal/var/tmp

  • ログの場合: /global /cal/var/logs

  • バックアップの場合: /global /cal/var/hotbackupdb、および /global /cal/var/archivedb

自動バックアップディレクトリを共有ストレージに配置する

HA 用の自動バックアップを設定するときは、クラスタの個々のノードで不完全なコピーが作成されないように、バックアップディレクトリを共有ストレージパーティションに配置する必要があります。バックアップディレクトリは容量が大きいため、パーティションのサイズに特に注意してください。

シンボリックリンクに対しては、ディスク容量の計算がうまく行われません。このため、自動バックアップディレクトリにはシンボリックリンクを使用しないでください。

Calendar Server の config ディレクトリを変更する

Calendar Server は、設定ファイルを config ディレクトリに格納します。以前のリリースの場合は、config ディレクトリの場所が変更されています。新しい場所は次のとおりです。

/etc/opt/SUNWics5/config/

古い config ディレクトリへのシンボリックリンクは次のディレクトリに格納されます。

Calendar Server 設定プログラム csconfigurator.sh の実行後、後続の手順で説明するように、古い各ディレクトリのシンボリックリンクを削除して新しいディレクトリへのリンクに置き換えます。これらの手順では、/etc/opt/SUNWics5/config にある元の設定ファイルの設定が維持されることに注意してください。

開始する前に、config ディレクトリの内容の所有者が icsusericsgroup (またはランタイムユーザー ID とランタイムグループ ID に指定した名前) であることを確認します。

# ls -ld config
 ... icsuser icsgroup ... config/

/opt/SUNWics5/cal で見つかったシンボリックリンクを変更する方法

  1. /global/cal/opt/SUNWics5/cal ディレクトリに移動します。次に例を示します。


    # cd /global/cal/opt/SUNWics5/cal/

    この /global/cal はファイルシステムのマウントポイントです。

  2. config が新しい config ディレクトリへのシンボリックリンクであることを確認します。次に例を示します。


    # ls -l config
     ... config -\> /etc/opt/SUNWics5/config/
  3. /opt/SUNWics5/cal/ ディレクトリでシンボリックリンク config を削除します。


    # cd /opt/SUNWics5/cal
    # rm config
  4. 所有者と権限を維持したまま、/etc/opt/SUNWics5/config の内容を新しい HA ディレクトリにコピーします。


    # cd /global/cal/opt/SUNWics5/cal
    # cp -pr /etc/opt/SUNWics5/config .

/opt/SUNWics5/lib で見つかったシンボリックリンクを変更する方法

  1. /global/cal/opt/SUNWics5/cal/lib ディレクトリで、config/etc/opt/SUNWics5/config へのシンボリックリンクであることを確認します。


    # cd /global/cal/opt/SUNWics5/cal/lib
     # ls -l config
     ... config -\> /etc/opt/SUNWics5/config/
  2. config シンボリックリンクを削除します。


    # rm config
  3. 新しい config の場所へのシンボリックリンクを作成します。


    # ln -s ../config config
  4. 新しいリンクを検証します。


    # ls -l config
     ... config -\> ../config/

/opt/SUNWics5/sbin で見つかったシンボリックリンクを変更する方法

  1. /global/cal/opt/SUNWics5/cal/lib ディレクトリで、config/etc/opt/SUNWics5/config へのシンボリックリンクであることを確認します。


    # cd /global/cal/opt/SUNWics5/cal/sbin
     # ls -l config
     ... config -\> /etc/opt/SUNWics5/config/
  2. config シンボリックリンクを削除します。


    # rm config
  3. 新しい config の場所へのシンボリックリンクを作成します。


    # ln -s ../config config
  4. 新しいリンクを検証します。


    # ls -l config
     ... config -\> ../config/

    注 –

    Calendar Server をアンインストールするときは、Java Enterprise System アンインストーラを使用します。このアンインストーラは、SUNWics5 および SUNWica5 パッケージを削除します。

    ただし、Calendar Server の HA 設定では、アンインストーラを実行する前に、まず、場所を変更した config ディレクトリとその内容を削除する必要があります。次に例を示します。


    # cd /global/cal/opt/SUNWics5/cal/
     # rm -rf config

    config ディレクトリを削除しないと、SUNWics5 パッケージのアンインストール処理は失敗します。


Calendar Server の ics.conf ファイルを編集する

/opt/SUNWics5/cal/config ディレクトリで、ics.conf 設定ファイルを次のように編集します。

  1. 次のパラメータを追加します。


    local.server.ha.enabled="yes"
     local.server.ha.agent="SUNWscics"
  2. service.listenaddr パラメータの名前を service.http.listenaddr に変更し、このパラメータに論理ホストの IP アドレスを設定します。次に例を示します。


    service.http.listenaddr = "cal-logical-host-ip"

    この “cal-logical-host-ip” は、論理ホストの数値 IP アドレスです。例: 123.321.12.2

  3. ローカルホスト名を参照するすべてのパラメータが、論理ホスト名を参照するように変更します。次に例を示します。


    local.hostname="cal-logical-host"
     local.servername="cal-logical-host"
     service.ens.host="cal-logical-host"
     service.http.calendarhostname="cal-logical-host.sesta.com"

HA Calendar Server を起動する

HA Calendar Server を起動する前に、次のようにカレンダリソースのタイプを SUNWscics として登録し、カレンダリソースを作成します。

  1. カレンダリソースのタイプを登録します。


    # scrgadm -a -t SUNW.scics
  2. カレンダリソースを作成します。


    # scrgadm -a 
            -j cal-resource 
            -g cal-resource-group
            -t SUNW.scics 
            -x Confdir_list=/global/cal/cal-resource-group 
            -y Resource_dependencies=cal-resource-group-store 
            -y Port_list=80/tcp
  3. リソースを有効化し、Calendar Server を起動します。


    # scswitch -e -j cal-resource
    

HA 設定を検証する

Calendar Server を起動したら、すべての必要プロセスまたはデーモン (csadmindenpdcsnotifydcshttpd) が稼動していることを確認します。

また、バックアップノードへのサービスの切り替えを行い、高可用性が確保されていることを確認します。たとえば、サービスが cal-node-1 で稼動している場合、次のコマンドを実行してサービスを cal-node-2 に切り替えます。

# scswitch -z -g cal-resource-group
                            -h cal-node-2

次に、cal-node-2 ですべてのプロセスが開始されることを確認します。

トラブルシューティング用に、エラーメッセージがコンソールと /var/adm/messages に出力されます。

ログレベルは /var/cluster/rgm/rt/SUNW.scics/loglevel ファイルに設定されています。詳細度を最大にするときは、“9” に設定します。

ログ機能の使用方法については、「関連マニュアル」を参照してください。

Calendar Server の HA サービスの起動と停止

Calendar Server の HA サービスを起動、停止するときは、Sun Cluster の scswitch コマンドを使用します。Calendar Server の start-calcsstartstop-cal、または csstop ユーティリティーを使用しないでください。次に例を示します。

Calendar Server の HA サービスを起動するには

# scswitch -e -j cal-resource

Calendar Server の HA サービスを停止するには

# scswitch -n -j cal-resource

Calendar Server の HA サービスを再起動するには

# scswitch -R -j cal-resource

Sun Cluster の scswitch コマンドについては、『Sun Cluster Reference Manual for Solaris OS』を参照してください。

関連マニュアル