高可用性 (HA) に対応した Instant Messaging を設定すると、ソフトウェアおよびハードウェア障害の監視および復旧機能が提供されます。高可用性機能は、スケーラブルサービスではなく、フェイルオーバーデータサービスとして実装され、Solaris のみでサポートされます。この章では、Sun Cluster ソフトウェアを使用した Instant Messaging HA 設定について説明します。Sun Cluster の提供するスケーラブルサービスおよびフェイルオーバーデータサービスの詳細については、「HA 関連のマニュアル」を参照してください。
この章では、Instant Messaging HA サービスの設定方法について説明します。次の節が含まれます。
Instant Messaging で Sun Cluster を使用して、高可用性配備を作成します。この節では、HA の要件、この章の例で使用する用語、および HA の設定に必要なアクセス権について次の各項で説明します。
開始する前に、HA の一般的な概念、および特に Sun Cluster ソフトウェアについてよく理解しておいてください。詳細は、「HA 関連のマニュアル」を参照してください。
Instant Messaging HA の設定を行うには、表 4–1 に示されているソフトウェアが必要です。
表 4–1 Instant Messaging HA 設定のソフトウェア要件
ソフトウェアおよびバージョン |
注記およびパッチ |
---|---|
Solaris 9 OS |
Solaris 9 OS のすべてのバージョンがサポートされています。 Solaris 9 OS には Sun Cluster 3.0 U3 以降が必要です。 Solaris 9 OS には、Solaris Logical Volume Manager (LVM) が含まれています。 |
Solaris 10 OS |
Solaris 10 OS のすべてのバージョンがサポートされています。 |
Sun Cluster 3.1 |
クラスタ内のすべてのノードに Sun Cluster ソフトウェアがインストールおよび設定されている必要があります。 Sun Cluster をインストールするには、Communications Suite インストーラを使用します。インストール手順については、『Sun Java Communications Suite 5 インストールガイド』を参照してください。 Sun Cluster ソフトウェアのインストール後に、クラスタを設定する必要があります。詳細は、『Sun Cluster System Administration Guide for Solaris OS』を参照してください。関連するマニュアルについては、「HA 関連のマニュアル」を参照してください。 Sun Cluster パッチ Solaris 9 および 10 の場合は、SunSolve Online からパッチをダウンロードできます。 |
Veritas Volume Manager (VxVM) 3.x |
バージョン 3.5 以降および必須パッチが必要です。 |
Veritas File System (VxFS) 3.x |
バージョン 3.5 以降および必須パッチが必要です。 HAStoragePlus では、パッチ 110435-08 以降が必要です。 |
Instant Messaging HA 設定をインストールおよび設定するには、ユーパーユーザー (root) としてログインするか、スーパーユーザーになり、/dev/console に送信されたメッセージを表示するコンソールまたはウィンドウを指定します。
表 4–2 は、この章の設定例で使用する変数の用語についての説明です。また、Instant Messaging 用の HA を設定する前に、情報を収集する必要があります。設定時に、この情報を指定するように求められます。このチェックリストを、表 1–1 に記載されているチェックリストとともに使用してください。
表 4–2 HA 設定のチェックリスト
例で使用される名前 |
説明 |
値 |
---|---|---|
/global/im |
クラスタファイルシステムまたは HAStoragePlus で使用されるグローバルファイルシステムのマウントポイント。 | |
/local/im |
HAStoragePlus を使用している場合に、共有ディスクのマウントポイントとして使用するローカルディレクトリ。 | |
im-logical-host |
論理ホスト名 | |
im-logical-host-ip |
論理ホストの IP アドレス (数値) | |
im-node–1 |
ノード 1 の FQDN | |
im-node–2 |
ノード 2 の FQDN | |
im-resource-group |
Instant Messaging リソースグループ | |
im-resource-group-store |
Instant Messaging ストレージリソース | |
im-resource |
Instant Messaging リソース | |
im-runtime-base (im-runtime-base/db および im-runtime-base/logs を含む) |
実行時ディレクトリ (データベースおよびログサブディレクトリを含む) の場所には、グローバルな共有パーティションを選択します。次に例を示します。
実行時ディレクトリおよびデータベースとログサブディレクトリについては、「Instant Messaging サーバーのディレクトリ構造」を参照してください。 |
次のリストに、2 つのノードを持つ Instant Messaging HA 設定のインストールおよび設定に必要な大まかな手順を示します。
開始する前に、求められる要件にもっとも適切なのは次の配備のどちらであるかを決定する必要があります。いずれの環境でも、共有コンポーネントはクラスタ内のすべてのノード上にローカルにインストールされます。また、いずれの環境でも、実行時ファイルが共有ディスクにインストールされます。
設定ファイルおよびバイナリ用にローカルディスクを使用する。この設定方法の利点は、Instant Messaging がオフラインになっているノード上でアップグレードを実行できるため、Instant Messaging をアップグレードする際に最小の停止時間で済むことです。欠点は、クラスタ内のすべてのノードに、Instant Messaging の同一の設定およびバージョンが存在することを確認する必要があることです。
また、このオプションを選択した場合は、Instant Messaging データサービスがオンラインになったときに、HAStoragePlus を使用して各ノード上の共有ディスクからファイルシステムをマウントするかどうか、またはグローバルの実行時ファイルに対してクラスタファイルシステムを使用するかどうかを決定する必要があります。
設定ファイルおよびバイナリ用に共有ディスクを使用する。この設定方法は、管理が容易ですが、アップグレードする前にクラスタ内のすべてのノードで Instant Messaging を停止する必要があります。
クラスタ内の各ノードで、コンポーネントを実行する Instant Messaging ランタイムユーザーおよびグループを作成する必要があります。UID および GID 番号は、クラスタ内のすべてのノードで同じである必要があります。
実行時ユーザー ID。Instant Messaging サーバーを実行するユーザー名です。この名前は、root にはしないでください。デフォルトは inetuser です。
実行時グループ ID。Instant Messaging サーバーを実行するグループです。デフォルトは inetgroup です。
configure ユーティリティーでもこれらの名前を作成できますが、設定プログラムを実行する前に、この章で説明する各ノードの準備の一環としてこれらの名前を作成できます。また、ローカルディスクまたは共有ディスクのどちらを使用しているかによって、特定のノード上で configure を実行しない場合があります。その場合、実行時ユーザー ID および実行時グループ ID を手動で作成する必要があります。
実行時ユーザー ID および実行時グループ ID 名は、次のファイルに存在する必要があります。
inetuser または選択した名前は、クラスタ内のすべてのノードのクラスタ内のすべてのノードの /etc/passwd に存在する必要があります
inetgroup または選択した名前は、クラスタ内のすべてのノードの /etc/group に存在する必要があります
手順については、「UNIX システムユーザーおよびグループの作成」を参照してください。ユーザーおよびグループの詳細については、使用しているオペレーティングシステムのマニュアルを参照してください。
Instant Messaging では、Java Enterprise System インストーラは、Solaris の /opt/SUNWiim をデフォルトのインストールディレクトリ (im-svr-base) として使用します。ただし、設定ファイルおよびバイナリ用の共有ディスクを使用している場合は、グローバル (共有) インストールディレクトリを指定する必要があります。次に例を示します。 /global/im/opt/SUNWiim。
ローカルディスクを使用している場合は、Instant Messaging をデフォルトのディレクトリにインストールできます。ただし、Instant Messaging をノード内の各マシン上の同じディレクトリにインストールする必要があります。
製品およびパッケージのインストールには、Communications Suite インストーラプログラムを使用します。インストーラについては、『Sun Java Communications Suite 5 インストールガイド』を参照してください。
表 4–3 は、複数ノードのクラスタ設定に必要な製品またはパッケージの一覧です。
表 4–3 複数ノードの Instant Messaging HA 設定に必要な製品およびパッケージ
製品またはパッケージ |
ノード 1 |
ノード n |
Sun Cluster ソフトウェア |
必要 |
必要 |
Instant Messaging 7.2 サーバー |
必要 |
必要 (設定ファイルおよびバイナリ用にローカルディスクを使用している場合)。不要 (設定ファイルおよびバイナリ用に共有ディスクを使用している場合)。 |
Sun Cluster Agent for Instant Messaging (SUNWiimsc) |
必要 |
必要 (設定ファイルおよびバイナリ用にローカルディスクを使用している場合)。不要 (設定ファイルおよびバイナリ用に共有ディスクを使用している場合)。 |
共有コンポーネント HAStoragePlus を使用している場合は、SUNWscu もインストールする必要があります |
必要 |
必要 |
実行する必要がある手順は、設定ファイルおよびバイナリ用にローカルディスクを使用しているか、共有ディスクを使用しているかによって異なります。
設定ファイルおよびバイナリ用にローカルディスクを使用している場合は、次の 2 つの手順説明に示された手順を実行します。
設定ファイルおよびバイナリ用に共有ディスクを使用している場合は、次の 2 つの手順説明に示された手順を実行します。
表 1–1 および表 4–2 のチェックリストに記入して、要求されたら回答をすぐに指定できるようにしておいてください。
Java Enterprise System インストーラを使用して製品およびパッケージをインストールします。
インストールディレクトリの選択の具体的な手順については、「インストールディレクトリ (im-svr-base) の選択」を参照してください。
HA に必要な製品およびパッケージのリストについては、表 4–3 を参照してください。具体的な手順については、『Sun Java Communications Suite 5 インストールガイド』を参照してください。
実行時ファイル用に HAStoragePlus を使用している場合は、共有ディスクをローカルディレクトリにマウントします。そうでない場合は、手順 3 に進みます。
次に例を示します。
マウントポイント (/local/ im/im-runtime-base/) が存在しない場合は、マウントポイントを作成します。
手順 4 での設定中に指定するよう求められた場合は、このディレクトリ (/local/ im/im-runtime-base/) を Instant Messaging サーバーの実行時ファイルのディレクトリとして指定します。
mount コマンドを使用して、ディスクを /local/im/im-runtime-base にマウントします。
configure ユーティリティーを実行します。
手順については、第 1 章「インストール後の Instant Messaging の設定」を参照してください。
Instant Messaging サーバーの実行時ファイルのディレクトリを指定するよう求められたら、次のいずれかを入力します。
実行時ファイルで HAStoragePlus を使用している場合は、 /local/im/im-runtime-base/を入力します。
実行時ファイルでクラスタファイルシステムを使用している場合は、/global/im/im-runtime-base/ を入力します。/global/im は、クラスタファイルシステム内のグローバルディレクトリです。
Instant Messaging のホスト名の指定を求められたら、論理ホストを入力します。
configure ユーティリティーが指定されたホストに接続できない場合でも、論理ホストの受け入れを選択します。論理ホストのリソースは、configure ユーティリティーの実行時にオフラインの可能性があります。
設定後やシステムの起動時に Instant Messaging を自動的に起動させるオプションを選択しないようにしてください。
HA 設定では、Instant Messaging が正しく動作するために、Instant Messaging サービスでも論理ホストがオンラインになっている必要があります。
実行時ファイルで HAStoragePlus を使用している場合は、共有ディスクをマウント解除します。
前の手順 (「設定ファイルおよびバイナリ用にローカルディスクを使用して、ノード 1 上に HA を設定する」) の説明に従ってノード 1 上の HA 設定が完了していることを確認します。
表 1–1 および表 4–2 のチェックリストの回答をすぐに指定できるようにしておきます。
Java Enterprise System インストーラを使用して製品およびパッケージをインストールします。
クラスタ内の後続の各ノードで、ノード 1 で Instant Messaging をインストールしたときと同じパスを選択します。具体的な手順については、「インストールディレクトリ (im-svr-base) の選択」を参照してください。
HA に必要な製品およびパッケージのリストについては、表 4–3 を参照してください。具体的な手順については、『Sun Java Communications Suite 5 インストールガイド』を参照してください。
configure ユーティリティーを実行します。
手順については、第 1 章「インストール後の Instant Messaging の設定」を参照してください。
Instant Messaging サーバーの実行時ファイルディレクトリを指定するよう求められたら、ノード 1 で指定したものと同じ値を入力します。
Instant Messaging ホスト名を指定するよう求められたら、ノード 1 で指定したものと同じ論理ホストを入力します。
configure ユーティリティーが指定されたホストに接続できない場合でも、論理ホストの受け入れを選択します。論理ホストのリソースは、configure ユーティリティーの実行時にオフラインの可能性があります。
ユーザーおよびグループの入力を求められたら、ノード 1 で指定したものと同じ値を入力します。
設定後やシステムの起動時に Instant Messaging を自動的に起動させるオプションを選択しないようにしてください。
HA 設定では、Instant Messaging が正しく動作するために、Instant Messaging サービスでも論理ホストがオンラインになっている必要があります。
表 1–1 および表 4–2 のチェックリストに記入して、要求されたら回答をすぐに指定できるようにしておいてください。
設定ファイルおよびバイナリ用に共有ディスクを使用する場合は、HAStoragePlus ではなくクラスタファイルシステムを使用する必要があります。
Java Enterprise System インストーラを使用して、クラスタファイルシステム内のディレクトリに製品およびパッケージをインストールします。
Instant Messaging をインストールする場合は、デフォルトディレクトリ以外のディレクトリを指定する必要があります。具体的な手順については、「インストールディレクトリ (im-svr-base) の選択」を参照してください。
HA に必要な製品およびパッケージのリストについては、表 4–3 を参照してください。具体的な手順については、『Sun Java Communications Suite 5 インストールガイド』を参照してください。
/etc/opt/SUNWiim から /global/im/etc/opt/SUNWiim をリンク先とするソフトリンクを作成します。
Instant Messaging をインストールしたグローバルディレクトリ (/global/ im/im-svr-base/configure) から configure ユーティリティーを実行します。
手順については、第 1 章「インストール後の Instant Messaging の設定」を参照してください。
Instant Messaging サーバーの実行時ファイルディレクトリを指定するよう求められたら、/global/ im/im-runtime-base の値を入力します。
Instant Messaging のホスト名の指定を求められたら、論理ホストを入力します。
configure ユーティリティーが指定されたホストに接続できない場合でも、論理ホストの受け入れを選択します。論理ホストのリソースは、configure ユーティリティーの実行時にオフラインの可能性があります。
設定後やシステムの起動時に Instant Messaging を自動的に起動させるオプションを選択しないようにしてください。
HA 設定では、Instant Messaging が正しく動作するために、Instant Messaging サービスでも論理ホストがオンラインになっている必要があります。
前の手順 (「設定ファイルおよびバイナリ用に共有ディスクを使用して、ノード 1 上に HA を設定する」) の説明に従ってノード 1 上の HA 設定が完了していることを確認します。
表 1–1 および表 4–2 のチェックリストの回答をすぐに指定できるようにしておきます。
/etc/opt/SUNWiim から /global/im/etc/opt/SUNWiim をリンク先とするソフトリンクを作成します。
リソースタイプ登録 (RTR) ファイルのソフトリンクを作成します。
ln -s /global/im/im-svr-base/cluster/SUNW.iim \ /usr/cluster/lib/rgm/rtreg/SUNW.iim |
Instant Messaging を起動する前に、リソースグループの作成、論理ホストの追加、およびリソースグループのオンライン化を実行する必要があります。
Instant Messaging のフェイルオーバーリソースグループを im-resource-group という名前で作成します。
# scrgadm -a -g im-resource-group -h im-node-2,im-node-1 |
リソースグループに論理ホスト名 im-logical-host を追加します。
Instant Messaging は、このホスト名で待機します。
# scrgadm -a -L -g im-resource-group -l im-logical-host |
リソースグループをオンラインにします。
# scswitch -Z -g im-resource-group |
Instant Messaging データサービスをオンラインにする前に、この節で説明されている手順に従って、ストレージリソースを登録して有効にする必要があります。
ストレージリソースを登録します。
グローバルファイルシステム (GFS) を使って HAStoragePlus を使用する場合、マウントポイントを FileSystemMountPoints プロパティーの値として設定します。次に例を示します。
# scrgadm -a -j im-resource-group-store -g im-resource-group -t SUNW.HAStorage \ -x FileSystemMountPoints=/global/im -x AffinityOn=True |
そうでない場合は、マウントポイントを ServicePaths プロパティーの値として設定します。次に例を示します。
# scrgadm -a -j im-resource-group-store -g im-resource-group -t SUNW.HAStorage \ -x ServicePaths=/global/im -x AffinityOn=True |
ストレージリソースを有効にします。
# scswitch -e -j im-resource-group-store |
HA Instant Messaging サーバーまたはマルチプレクサを起動する前に、Sun Cluster でリソースタイプ SUNWiimsc を登録して、リソースを作成する必要があります。
リソースタイプを登録します。
# scrgadm -a -t SUNW.iim |
リソースを作成します。
次のコマンドを 1 行で入力します。
# scrgadm -a -j im-resource -g im-resource-group -t SUNW.iim -x Confdir_list=/global/im/im-resource-group -y Resource_dependencies=im-resource-group-store |
リソースを有効にします。
# scswitch -e -j im-resource |
Instant Messaging コンポーネントを起動します。
Instant Messaging の起動後に、この節で説明する手順に従って HA 設定を検証する必要があります。
すべての必要なプロセスが実行中であることを確認します。
高可用性を保証するため、サービスをバックアップノードに切り替えます。
たとえば、サービスが im-node-1 上で稼働している場合、次のコマンドを実行して、サービスを im-node-2 に切り替えます。
# scswitch -z -g im-resource-group -h im-node-2 |
すべての必要なプロセスが im-node-2 上で起動していることを確認します。
トラブルシューティングをしやすくするため、エラーログにエラーメッセージが書き込まれます。このログは、syslog 機能によって制御されます。ログ機能の使用については、「HA 関連のマニュアル」および syslog.conf のマニュアルページを参照してください。
Instant Messaging HA サービスを起動および停止するには、Sun Cluster の scswitch コマンドを使用します。
Sun Cluster の scswitch コマンドについては、『 Sun Cluster Reference Manual for Solaris OS』を参照してください。
imadmin コマンドは、Instant Messaging コンポーネントの停止、起動、および再起動を試行する前に、クラスタノードで Instant Messaging コンポーネントが実行中でないことを確認します。imadmin が、クラスタノードで Sun Cluster が実行中であると判断した場合、コマンドを実行せずにエラーを返します。Sun Cluster を使用している配備で Instant Messaging コンポーネントを停止、起動、および再起動するには、Sun Cluster の管理ユーティリティーを使用してください。
リソースタイプ登録 (RTR) ファイルとは、Resource Group Manager (RGM) の制御下で動作する高可用性リソースタイプについて記述している ASCII テキストファイルのことです。RTR ファイルは、クラスタ設定にリソースタイプを登録するための入力ファイルとして scrgadm コマンドによって使用されます。Instant Messaging RTR ファイルの SUNW.iim は、HA の設定時に、SUNWiimsc パッケージをインストールするときに作成されます。
ここでは、このファイルの管理方法について、次の各節で説明します。
次の表は、Instant Messaging に固有の Instant Messaging RTR ファイル (SUNW.iim) の拡張プロパティーの一覧です。
表 4–4 SUNW.iim の拡張プロパティー
拡張プロパティー |
デフォルト |
説明 |
---|---|---|
Server_Root |
設定ファイルおよびバイナリの格納にローカルディスクを使用する場合: im-svr-base 設定ファイルおよびバイナリの格納に共有ディスクを使用する場合: /global/im/im-svr-base |
Instant Messaging サーバーのインストールディレクトリの絶対パスを定義します。デフォルトでは、im-svr-base は Solaris の /opt/SUNWiim です。 |
Confdir_list |
なし |
Instant Messaging 設定ディレクトリの絶対パスを定義します。この値は、SUNWiimsc のインストール時に設定されます。
|
Monitor_retry_count |
4 |
プロセスモニター機能 (PMF) が、障害モニターが稼働していないことを検出した場合に、障害モニターの再起動を試みる回数を定義します。 |
Monitor_retry_interval |
2 (分) |
PMF により障害モニターの再起動が試みられる時間間隔 (分単位)。 |
Probe_timeout |
30 (秒) |
Sun Cluster によるプローブで、Instant Messaging への接続が成功するまでの待機時間 (秒単位)。 |
Failover_enabled |
True |
設定した再試行間隔 (retry_interval) の間に設定した再試行回数 (retry_count) を超えた場合、別のノードにフェイルオーバーするかどうかを決定します。再試行およびそのほかのパラメータについては、『Sun Cluster Reference Manual for Solaris OS 』を参照してください。 |
Instant Messaging RTR ファイル (SUNW.iim) の拡張プロパティーの値をいくつか変更して、HA 環境を設定できます。拡張プロパティーは、リソースタイプに固有のプロパティーです。これらのプロパティーは、同タイプのすべてのリソースに継承されます。Instant Messaging 拡張プロパティーについては、表 4–4 で説明しています。
リソースタイプ登録ファイルの内容および拡張プロパティーの値のカスタマイズ方法については、『Sun Cluster Reference Manual for Solaris OS』の rt_reg および property_attributes に関する説明を参照してください。
HA 環境から Instant Messaging を削除するには、この節で説明する手順に従って Instant Messaging クラスタエージェント SUNWiimsc を削除する必要があります。
この手順の説明に従って SUNWiimsc パッケージを削除すると、RTR ファイル SUNW.iim に対して行なったカスタマイズがすべて失われます。あとでカスタマイズを復元したいのであれば、SUNWiimsc パッケージを削除する前に、SUNW.iim のバックアップコピーを作成しておいてください。
Instant Messaging データサービスを停止します。
scswitch -F -g im-resource-group |
Instant Messaging リソースグループ (im-resource-group) 内のすべてのリソースを無効にします。
# scswitch -n -j im-resource # scswitch -n -j im-logical-host # scswitch -n -j im-resource-group-store |
Instant Messaging リソースグループからリソースを削除します。
# scrgadm -r -j im-resource # scrgadm -r -j im-logical-host # scrgadm -r -j im-resource-group-store |
Instant Messaging リソースグループを削除します。
# scrgadm -r -g im-resource-group |
Instant Messaging リソースタイプを削除します。
# scrgadm -r -t SUNW.iim |
Java Enterprise System インストーラを使用するか、次の方法で手動で SUNWiimsc パッケージを削除します。
pkgrm SUNWiimsc |
パッケージを削除すると、RTR ファイルに対して行なったカスタマイズがすべて失われます。
設定ファイルおよびバイナリ用に共有ディレクトリを使用している場合は、HA の設定時に作成したすべてのソフトリンクを削除します。
ノード 1 で、次のコマンドを実行します。
rm /etc/opt/SUNWiim |
そのほかのすべてのノードで次のコマンドを実行します。
rm /usr/cluster/lib/rgm/rtreg/SUNW.iim |
『Sun Java Enterprise System 2005Q4 技術の概要』
『Sun Java Communications Suite 5 インストールガイド』では、Communications Suite インストーラ (およびアンインストーラ) とサポートされるインストールシナリオについて説明しています。
『Sun Java Enterprise System 5 リリースノート (UNIX 版)』では、Sun Java Enterprise System 製品に関する最新情報が提供されています。
『Sun Cluster Concepts Guide for Solaris OS』では、Sun Cluster ソフトウェア、データサービス、および用語 (リソースタイプ、リソース、リソースグループ) の一般的な背景情報が提供されています。
『Sun Cluster Data Services Planning and Administration Guide for Solaris OS』では、データサービスの計画および管理に関する一般的な情報が提供されています。
『Sun Cluster System Administration Guide for Solaris OS』には、Sun Cluster 設定を管理するためのソフトウェアの手順が示されています。
『Sun Cluster Reference Manual for Solaris OS』では、Sun Cluster ソフトウェアで利用可能なコマンド (SUNWscman パッケージや SUNWccon パッケージのみに存在するコマンドを含む) およびユーティリティーについて説明しています。
『Sun Java Communications Suite 5 配備計画ガイド』では、Instant Messaging で HA を実装する方法の詳細情報が提供されています。