Sun Cluster データサービスの計画と管理 (Solaris OS 版)

第 1 章 Sun Cluster データサービスの計画

この章では、Sun Cluster データサービスのインストールと構成を計画するにあたってのガイドラインを説明します。 この章の内容は次のとおりです。

データサービス、リソースタイプ、リソース、およびリソースグループについての概念的な情報については、『 Sun Cluster の概念 (Solaris OS 版)』のマニュアルを参照してください。

Sun Cluster データサービスとして現在提供されていないアプリケーションについては、『 Sun Cluster データサービス開発ガイド (Solaris OS 版)』を参照してください。アプリケーションを高可用性データサービスとして構成する方法について説明されています。

Sun Cluster データサービス構成のガイドライン

この節では、Sun Cluster データサービスを構成するためのガイドラインを説明します。

データサービス固有の要件の確認

Solaris と Sun Cluster のインストールを開始する前に、すべてのデータサービスの要件を確認します。 計画に不備があった場合、インストールエラーが発生し、Solaris や Sun Cluster ソフトウェアを完全にインストールし直す必要が生じる可能性もあります。

たとえば、Sun Cluster Support for Oracle Parallel Server/Real Application Clusters の Oracle Parallel Fail Safe/Real Application Clusters Guard オプションには、ユーザーがクラスタ内で使用するホスト名に関する特殊な要件があります。 Sun Cluster HA for SAP にも特殊な要件があります。 Sun Cluster ソフトウェアをインストールした後にホスト名は変更できないため、このような必要条件は Sun Cluster ソフトウェアをインストールする前に調整しておく必要があります。Sun Cluster Support for Oracle Parallel Server/Real Application Clusters および Sun Cluster HA for SAP は、どちらも x86 ベースのクラスタではサポートされていないので注意してください。

アプリケーションバイナリの格納先の決定

アプリケーションソフトウェアおよびアプリケーション構成ファイルは、次のいずれかの場所にインストールできます。

nsswitch.conf ファイルの内容の確認

nsswitch.conf ファイルは、ネームサービスの検索用の構成ファイルです。 このファイルは次の情報を指定します。

一部のデータサービスについては、「group」検索の対象の先頭を「files」に変更してください。 具体的には、nsswitch.conf ファイル内の「group」行を変更し、「files」エントリが最初にリストされるようにします。 「group」行を変更するかどうかを判断するには、構成するデータサービスに関する章を参照してください。

Sun Cluster 環境で nsswitch.conf ファイルを構成する方法の追加情報については、『 Sun Cluster ソフトウェアのインストール (Solaris OS 版) 』の計画の章を参照してください。

クラスタファイルシステムの構成の計画

データサービスによっては、Sun Cluster の要件を満たす必要があります。 特別な検討事項が必要かどうかを判断するには、そのデータサービスに関する章を参照してください。

リソースタイプ HAStoragePlus を使用すると、フェイルオーバー用に構成された Sun Cluster 環境で HA ローカルファイルシステムを使用できます。 HAStoragePlus リソースタイプの設定方法については、HA ローカルファイルシステムの有効化 を参照してください。

クラスタファイルシステムの作成方法については、『 Sun Cluster ソフトウェアのインストール (Solaris OS 版)』の計画の章を参照してください。

リソースグループとディスクデバイスグループの関係

Sun Cluster は、ディスクデバイスグループとリソースグループに関し、ノードリストという概念を持っています。 ノードリストには、ディスクデバイスグループまたリソースグループの潜在的マスターであるノードが順にリストされています。 ダウンしていたノードがクラスタに再結合し、そのノードがノードリストで現在の稼働系より前に設定されているときの挙動を決定するために、Sun Cluster は「フェイルバックポリシー」を使用します。 フェイルバックが True に設定されていると、デバイスグループまたはリソースグループが現在の稼働系から、再結合したノードに切り替えられ、このノードが新しい稼働系になります。

フェイルオーバーリソースグループの高可用性を保証するために、そのグループのノードリストと関連するディスクデバイスグループのノードリストとを一致するようにしてください。 スケーラブルリソースグループの場合、そのリソースグループのノードリストは必ずしもデバイスグループのノードリストと一致するとは限りません。これは、現段階では、デバイスグループのノードリストには 2 つのノードしか含むことができないためです。 2 ノードを超えるクラスタの場合は、スケーラブルリソースグループのノードリストに、3 ノード以上を含むことができます。

たとえば、ノード phys-schost-1phys-schost-2 が含まれるノードリストを持つディスクデバイスグループ disk-group-1 があり、フェイルバックポリシーが Enabled に設定されているとします。 さらに、 アプリケーションデータの保持に disk-group-1 を使用する resource-group-1 というフェイルオーバーリソースグループも持っているとします。 このような場合は、resource-group-1 を設定するときに、リソースグループのノードリストに phys-schost-1phys-schost-1 も指定し、フェイルバックポリシーを True に設定します。

スケーラブルリソースグループの高可用性を保証するために、そのスケーラブルサービスグループのノードリストをディスクデバイスグループのノードリストのスーパーセットにしてください。 スーパーセットにすることで、ディスクに直接接続されるノードは、スケーラブルリソースグループを実行するノードになります。 この利点は、データに接続されている少なくとも 1 つのクラスタノードがクラスタで起動されているときに、スケーラブルサービスも同様に利用できるようにスケーラブルリソースグループが同じノード上で実行できることです。

ディスクデバイスグループの設定方法の詳細は、『 Sun Cluster ソフトウェアのインストール (Solaris OS 版)』を参照してください。 ディスクデバイスグループとリソースグループの関係の詳細については、『Sun Cluster の概念 (Solaris OS 版)』のマニュアルを参照してください。

HAStorageHAStoragePlus の概要

リソースタイプ HAStorageHAStoragePlus は、次のオプションの設定に使用できます。

HAStoragePlus は、マウントされていない状態であることが確認されたグローバルファイルシステムをマウントすることもできます。 詳細については、クラスタファイルシステムの構成の計画 を参照してください。


注 –

HAStorage または HAStoragePlus リソースがオンラインの間にデバイスグループが別のノードに切り替えられた場合、AffinityOn の設定は影響しないので、リソースグループはデバイスグループと共に別のノードに移行することはありません。 一方、リソースグループが別のノードに切り替わった場合、AffinityOnTrue に設定されていると、デバイスグループはリソースグループと一緒に新しいノードに移動します。


ディスクデバイスグループとリソースグループ間の関係については、リソースグループとディスクデバイスグループ間での起動の同期 を参照してください。 追加情報は、SUNW.HAStorage(5) および SUNW.HAStoragePlus(5) のマニュアルページにあります。

VxFS などのファイルシステムをローカルモードでマウントする方法については、HA ローカルファイルシステムの有効化 を参照してください。 詳細は、SUNW.HAStoragePlus(5) のマニュアルページを参照してください。

データサービスが HAStorage または HAStoragePlus を必要とするかどうかを確認する方法

HAStorage または HAStoragePlus の選択

データサービスリソースグループ内で HAStorage リソースと HAStoragePlus リソースのどちらを作成すべきかを決定するには、以下の基準を考慮してください。

考慮事項

この節の情報は、データサービスのインストールまたは構成について計画する場合に利用してください。 これらの情報に目を通すことで、ユーザーの決定がデータサービスのインストールと構成に及ぼす影響について理解できるでしょう。 使用しているデータサービスの具体的な考慮事項については、そのデータサービスについて説明された『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』内の章を参照してください。

ノードリストプロパティ

データサービスを構成するときに、次の 3 つのノードリストを指定できます。

  1. installed_nodes – データサービスのリソースタイプのプロパティ。 このプロパティには、リソースタイプがインストールされ、実行が有効になるクラスタノード名の一覧が含まれます。

  2. nodelist — リソースグループのプロパティ。優先順位に基づいて、グループをオンラインにできるクラスタノード名の一覧が含まれます。 これらのノードは、リソースグループの稼動系もしくは待機系です。 フェイルオーバーサービスについては、リソースグループノードリストを 1 つだけ設定します。 スケーラブルサービスの場合は、2 つのリソースグループを設定するため、ノードリストも 2 つ必要になります。 一方のリソースグループとそのノードリストは、共有アドレスをホストするノードを識別します。 このノードリストは、スケーラブルリソースが依存するフェイルオーバーリソースグループを構成します。 もう一方のリソースグループとそのノードリストは、アプリケーションリソースをホストするノードを識別します。 アプリケーションリソースは、共有アドレスに依存します。 そのため、共有アドレスを含むリソースグループ用のノードリストは、アプリケーションリソース用のノードリストのスーパーセットでなければなりません。

  3. auxnodelist — 共有アドレスリソースのプロパティ。 このプロパティは、クラスタノードを識別する物理ノード ID の一覧です。このクラスタノードは共有アドレスをホストできますが、フェイルオーバー時に稼動系になることはありません。 これらのノードは、リソースグループのノードリストで識別されるノードとは、相互に排他的な関係になります。 このノードリストは、スケーラブルサービスにのみ適用されます。 詳細は、scrgadm(1M) のマニュアルページを参照してください。

インストールと構成プロセスの概要

データサービスをインストールして構成するには、次の手順を使用します。

データサービスのインストールと構成を開始する前に『Sun Cluster ソフトウェアのインストール (Solaris OS 版)』を参照してください。このマニュアルには、データサービスソフトウェアパッケージのインストール方法と、ネットワークリソースが使用する インターネットプロトコルネットワークマルチパス (IP ネットワークマルチパス) グループを構成する方法を確認してください。


注 –

以下のデータサービスのインストールと構成には、SunPlexTM Manager を使用できます。 Sun Cluster HA for Oracle、Sun Cluster HA for Sun Java System Web Server、Sun Cluster HA for Sun Java System Directory Server、 Sun Cluster HA for Apache、Sun Cluster HA for DNS、および Sun Cluster HA for NFS。 Sun Cluster HA for Oracle および Sun Cluster HA for Apache は、SPARC ベースのクラスタでのみサポートされているので注意してください。 詳細は、SunPlex Manager のオンラインヘルプを参照してください。


インストールと構成の作業の流れ

表 1–1 に、Sun Cluster フェイルオーバーデータサービスのインストールおよび構成作業と、その手順が説明されている参照先を示します。

表 1–1 Task Map: Sun Cluster データサービスのインストールと構成

作業 

参照箇所  

Solaris と Sun Cluster ソフトウェアのインストール 

Sun Cluster ソフトウェアのインストール (Solaris OS 版)

IP ネットワークマルチパス グループの設定 

Sun Cluster ソフトウェアのインストール (Solaris OS 版)

多重ホストディスクの設定 

Sun Cluster ソフトウェアのインストール (Solaris OS 版)

リソースとリソースグループの計画 

付録 C 「データサービス構成のワークシートと記入例 」

アプリケーションバイナリの格納先の決定 (nsswitch.conf の構成)

アプリケーションバイナリの格納先の決定

nsswitch.conf ファイルの内容の確認

アプリケーションソフトウェアのインストールと構成 

該当する Sun Cluster データサービスブック  

データサービスソフトウェアパッケージのインストール 

Sun Cluster ソフトウェアのインストール (Solaris OS 版)』または該当する Sun Cluster データサービスブック

データサービスの登録と構成  

該当する Sun Cluster データサービスブック  

SPARC: 例

この節では、例として高可用性フェイルオーバーデータサービスとして設定されている Oracle アプリケーション用に、リソースタイプ、リソース、リソースグループを設定する方法を紹介します。

この例とスケーラブルデータサービスの例との主な違いは、ネットワークリソースを含むフェイルオーバーリソースグループに加えて、スケーラブルデータサービスはアプリケーションリソース用に別のリソースグループ (スケーラブルリソースグループのこと) を必要とすることです。

Oracle アプリケーションは、サーバーとリスナーの 2 つのコンポーネントを持ちます。 Sun は Sun Cluster HA for Oracle データサービスを提供しているため、これらのコンポーネントはすでに Sun Cluster リソースタイプに対応付けられています。 これら両方のリソースタイプが、リソースとリソースグループに関連付けられます。

この例は、フェイルオーバーデータサービスの例なので、論理ホスト名ネットワークリソースを使用し、稼動系から待機系にフェイルオーバーする IP アドレスを使用します。 フェイルオーバーリソースグループに論理ホスト名リソースを入れ、Oracle サーバーリソースとリスナーリソースを同じリソースグループに入れます。 この順に入れることで、フェイルオーバーを行うすべてのリソースが 1 つのグループになります。

Sun Cluster HA for Oracle をクラスタ上で実行するには、次のオブジェクトを定義する必要があります。

データサービスリソースを管理するためのツール

この節では、インストールや構成の作業に使用するツールについて説明します。

SunPlex Manager グラフィカルユーザーインタフェース (GUI)

SunPlex Manager は、次の作業を実行できる Web ベースのツールです。

SunPlex Manager を使用し、クラスタソフトウェアをインストールする方法については、『 Sun Cluster ソフトウェアのインストール (Solaris OS 版)』を参照してください。 管理作業については、SunPlex Manager のオンラインヘルプを参照してください。

SPARC: Sun Management Center GUI 用の Sun Cluster モジュール

Sun Cluster モジュールを使用すると、クラスタの監視やリソースおよびリソースグループに対する処理の一部を Sun Management Center GUI から行えます。 Sun Cluster モジュールのインストール要件と手順については、『Sun Cluster ソフトウェアのインストール (Solaris OS 版)』を参照してください。 Sun Management Center の詳細は、http://docs.sun.com にある Sun Management Center ソフトウェアのマニュアルを参照してください。

scsetup ユーティリティー

scsetup(1M) ユーティリティーは、メニュー主導型のインタフェースで、Sun Cluster の一般的な管理に使用できます。 このユーティリティーは、さらに、データサービスのリソースやリソースグループの構成にも使用できます。 この場合には、scsetup のメインメニューからオプション 2 を選択して、「Resource Group Manager」というサブメニューを起動してください。

scrgadm コマンド

scrgadm コマンドにより、データサービスリソースの登録や構成を行うことができます。 データサービスの登録と構成の方法については、データサービスのブックを参照してください。 たとえば、Sun Cluster HA for Oracle を使用する場合は、『Sun Cluster Data Service for Oracle ガイド (Solaris OS 版)』の手順を参照してください。 第 2 章「データサービスリソースの管理」 にも、scrgadm コマンドを使ってデータサービスリソースを管理する方法が記載されています。 最後に、追加情報については、scrgadm(1M) のマニュアルページを参照してください。

データサービスリソースの管理作業

次の表に、データサービスリソースの管理作業に使用できるツール (コマンド行以外の) を示します。 これらの作業の詳細や、関連する手順をコマンド行から行う方法については、第 2 章「データサービスリソースの管理」を参照してください。

表 1–2 データサービスリソースの管理作業に使用できるツール

作業 

SunPlex Manager 

SPARC: Sun Management Center 

scsetup ユーティリティー

リソースタイプを登録する 

可 

不可 

可 

リソースグループを作成 

可 

不可 

可 

リソースグループへソースを追加する 

可  

不可 

可 

リソースグループをオンラインにする  

可 

可 

不可 

リソースグループを削除 

可 

可 

不可 

リソースを削除する 

可 

可 

不可 

リソースグループの現在の稼動系を切り替える  

可 

不可 

不可 

リソースを使用不可にする 

可 

可 

不可 

無効なリソースのリソースグループを非管理状態にする 

可 

不可  

不可 

リソースタイプ、リソースグループ、リソース構成情報を表示する 

可 

可  

不可 

リソースプロパティを変更する 

可  

不可 

不可 

リソースの STOP_FAILED エラーフラグを消去する

可  

不可 

不可 

ノードをリソースグループに追加する 

可  

不可 

不可 

Sun Cluster データサービスフォルトモニター

この節では、データサービスフォルトモニターの一般的な事項について説明します。 Sun が提供するデータサービスには、パッケージに組み込まれているフォルトモニターがあります。 フォルトモニター (または障害検証機能) は、データサービスの状態を検証するプロセスです。

フォルトモニターの呼び出し

フォルトモニターは、リソースグループとそのリソースをオンラインにしたときに、RGM によって呼び出されます。 この呼び出しによって、RGM はそのデータサービスの MONITOR_START メソッドの呼び出しを内部で行います。

フォルトモニターは、次の 2 つの機能を実行します。

サーバープロセスの異常終了の監視

プロセスモニタファシリティ(PMF) は、データサービスプロセスを監視します。

データサービスの障害検証は、無限ループで実行され、 Thorough_probe_interval リソースプロパティによって設定された調整可能な期間に休止状態 (スリープ) になります。 休止している間に、検証機能は プロセスが終了したかどうかについて PMF により検査します。 サーバープロセスが終了した場合は、その後、検証機能はデータサービスの状態を「Service daemon not running」で更新し、操作を実行します。 実行する操作には、データサービスをローカルで再起動する、またはセカンダリクラスタノードにデータサービスをフェイルオーバーするなどが含まれます。 検証機能は、そのデータサービスアプリケーションリソースの Retry_count および Retry_interval リソースプロパティで設定されている値を調べ、データサービスを再起動するか、フェイルオーバーするかどうかを決定します。

データサービスの健全性の検査

通常、検証機能とデータサービスとの間の通信は、専用のコマンドまたは指定したデータサービスポートとの正常な接続によって行われます。

検証機能は主に以下のことを行います。

  1. 休止します (Thorough_probe_interval)。

  2. タイムアウトプロパティ Probe_timeout でヘルスチェック (健全性の検査) を実行します。 Probe_timeoutは、ユーザーが設定可能な各データサービスのリソース拡張プロパティです。

  3. 手順 2 が成功、すなわちサービスが健全であれば、成功/失敗の履歴を更新します。 Retry_interval リソースプロパティに設定されている値よりも古い履歴を消去 (パージ) することで、成功/失敗の履歴を更新します。 検証機能は、リソースの状態メッセージを「Service is online」に設定し、手順 1 に戻ります。

    手順 2 が失敗に終了したならば、サービスの状態に異常があれば、検証機能は失敗履歴を更新します。 その後、ヘルスチェックに失敗した総数を計算します。

    ヘルスチェックの結果は、致命的な失敗から成功までの範囲があります。 結果の判断は、個々のデータサービスに依存します。 たとえば、検証機能が正常にサーバーに接続でき、ハンドシェイクメッセージをサーバーに送信できるにも関わらず、この検証機能がタイムアウト前に一部の応答しか受け取ることができない場合を考えてみます。 この場合、最も可能性のある原因はシステムの過負荷です。 サービスの再起動など、操作を何か実行すると、クライアントはそのサービスに接続するため、さらにシステムの負荷が増大します。 このような場合に、データサービスのフォルトモニターが、この「一部」の失敗を致命的なものとして扱わないようにします。 代わりに、モニターは、サービスの致命的ではない検証としてこの失敗を追跡します。 これらの一部の失敗は、Retry_interval プロパティによって指定された期間、累積されます。

    ただし、検証機能がまったくサーバーに接続できない場合は、致命的な失敗であると認識されます。 一部の失敗が、断片的な量によって失敗カウントの増加につながります。 致命的な失敗、または一部の失敗の累積のいずれかによって、失敗カウントが 合計カウントに到達するたびに、検証機能はデータサービスの再起動またはフェイルオーバーによってこの状況を修正しようとします。

  4. 手順 3 (履歴期間内での異常の数)での計算の結果、Retry_count リソースプロパティの値よりも少ない場合は、検証機能は、状況をローカルで修正しようとします (たとえば、サービスの再起動)。 検証機能は、リソースの状態メッセージを「Service is degraded」に設定し、手順 1 に戻ります。

  5. Retry_interval で指定した期間内で発生した失敗の数が Retry_count の値を超える場合、検証機能は、scha_control を「giveover」オプション付きで呼び出します。 このオプションは、サービスのフェイルオーバーを要求します。 この要求によって失敗が修正されると、このノードでのフォルトモニターが停止されます。 検証機能は、リソースの状態メッセージを「Service has failed」に設定します。

  6. さまざまな理由により、前の手順で発行された scha_control 要求が Sun Cluster によって拒否されることがあります。 この理由は、scha_control の戻り値で識別できます。 検証機能は、戻り値を調べます。 scha_control が拒否される場合、検証機能は失敗/成功履歴をリセットし、新たに開始します。 検証機能が履歴をリセットするのは、失敗の数がすでに Retry_count を超えているため、フォルトモニターが各後続の繰り返しで scha_control を発行しようとするためです (ただし、再び拒否されます)。 この要求は、システムの負荷をさらに高め、サービス障害がさらに生じる可能性が増大します。

    その後、検証機能は、手順 1 に戻ります。