この章では、Sun Cluster データサービスのインストールと構成を計画するにあたってのガイドラインを説明します。この章の内容は次のとおりです。
データサービス、リソースタイプ、リソース、およびリソースグループについての概念的な情報については、『 Sun Cluster の概念 (Solaris OS 版)』のマニュアルを参照してください。
Sun Cluster ソフトウェアがサービスを提供できるのは、 Sun Cluster 製品で提供されるデータサービス、または、 Sun Cluster データサービス API (Application Programming Interface) で作成されたデータサービスだけです。
Sun Cluster データサービスとして現在提供されていないアプリケーションについては、『 Sun Cluster データサービス開発ガイド (Solaris OS 版)』を参照してください。アプリケーション用の高可用性データサービスを開発する方法について説明されています。
Sun Cluster ソフトウェアは、sendmail(1M) サブシステム用のデータサービスを提供しません。sendmail サブシステムを個々のクラスタノードで実行することは認められていますが、sendmail の機能 (メールの配信、経路設定、待ち行列化、再試行など) は HA 対応ではありません。
この節では、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 ベースのクラスタではサポートされていないので注意してください。
アプリケーションソフトウェアおよびアプリケーション構成ファイルは、次のいずれかの場所にインストールできます。
各クラスタノードのローカルディスク – ソフトウェアと構成ファイルを個々のクラスタノードに配置すると、次のようなメリットが得られます。あとでアプリケーションを更新する場合に、サービスを停止することなく実施できます。
ただし、ソフトウェアや構成ファイルの異なるコピーが存在するため、保守や管理をするファイルが増えるという欠点があります。
クラスタファイルシステム – アプリケーションバイナリをクラスタファイルシステムに格納した場合、保守や管理をするコピーが 1 つだけになります。しかし、アプリケーションソフトウェアをアップグレードするには、クラスタ全体でデータサービスを停止する必要があります。アップグレード時に多少の時間停止できるようであれば、アプリケーションおよび構成ファイルの 1 つのコピーをクラスタファイルシステムに格納することが可能です。
クラスタファイルシステムの作成方法については、『 Sun Cluster ソフトウェアのインストール (Solaris OS 版)』の計画の章を参照してください。
HA ローカルファイルシステム - HAStoragePlus を使用すると、ローカルファイルシステムを Sun Cluster 環境に統合して、ローカルファイルシステムの可用性を高めることができます。HAStoragePlus は、Sun Cluster でローカルファイルシステムのフェイルオーバーを行うための付加的なファイルシステム機能 (チェック、マウント、強制的なマウント解除など) も提供します。フェイルオーバーを行うには、アフィニティスイッチオーバーが有効な広域ディスクグループ上にローカルファイルシステムが存在していなければなりません。
HAStoragePlus リソースタイプを使用する方法については、各データサービスガイド、または 「高可用性ローカルファイルシステムの有効化」を参照してください。
nsswitch.conf ファイルは、ネームサービスの検索用の構成ファイルです。このファイルは次の情報を指定します。
ネームサービスの検索に使用する Solaris 環境内のデータベース
データベースの検索順序
一部のデータサービスについては、「group」検索の対象の先頭を「files」に変更してください。具体的には、nsswitch.conf ファイル内の「group」行を変更し、「files」エントリが最初にリストされるようにします。「group」行を変更するかどうかを判断するには、構成するデータサービスに関するマニュアルを参照してください。
Sun Cluster 環境で nsswitch.conf ファイルを構成する方法の追加情報については、『 Sun Cluster ソフトウェアのインストール (Solaris OS 版) 』の計画の章を参照してください。
データサービスによっては、Sun Cluster の要件を満たす必要があります。特別な検討事項が必要かどうかを判断するには、そのデータサービスに関するマニュアルを参照してください。
クラスタファイルシステムの作成方法については、『 Sun Cluster ソフトウェアのインストール (Solaris OS 版)』の計画の章を参照してください。
リソースタイプ HAStoragePlus を使用すると、フェイルオーバー用に構成された Sun Cluster 環境で HA ローカルファイルシステムを使用できます。HAStoragePlus リソースタイプの設定方法については、「高可用性ローカルファイルシステムの有効化」を参照してください。
Sun Cluster は、ディスクデバイスグループとリソースグループに関し、ノードリストという概念を持っています。ノードリストには、ディスクデバイスグループまたリソースグループの潜在的マスターであるノードが順にリストされています。ダウンしていたノードがクラスタに再結合し、そのノードがノードリストで現在の稼働系より前に設定されているときの挙動を決定するために、Sun Cluster は「フェイルバックポリシー」を使用します。フェイルバックが True に設定されていると、デバイスグループまたはリソースグループが現在の稼働系から、再結合したノードに切り替えられ、このノードが新しい稼働系になります。
フェイルオーバーリソースグループの高可用性を保証するには、そのグループのノードリストと関連するディスクデバイスグループのノードリストとを一致させます。スケーラブルリソースグループの場合、そのリソースグループのノードリストは必ずしもデバイスグループのノードリストと一致するとは限りません。これは、現段階では、デバイスグループのノードリストには 2 つのノードしか含むことができないためです。2 ノードを超えるクラスタの場合は、スケーラブルリソースグループのノードリストに、3 ノード以上を含むことができます。
たとえば、ノード phys-schost-1 と phys-schost-2 が含まれるノードリストを持つディスクデバイスグループ disk-group-1 があり、フェイルバックポリシーが Enabled に設定されているとします。さらに、 アプリケーションデータの保持に disk-group-1 を使用する resource-group-1 というフェイルオーバーリソースグループも持っているとします。このような場合は、resource-group-1 を設定するときに、リソースグループのノードリストに phys-schost-1 と phys-schost-1 も指定し、フェイルバックポリシーを True に設定します。
スケーラブルリソースグループの高可用性を保証するためには、そのスケーラブルサービスグループのノードリストをディスクデバイスグループのノードリストのスーパーセットにします。スーパーセットにすることで、ディスクに直接接続されるノードは、スケーラブルリソースグループを実行するノードになります。この利点は、データに接続されている少なくとも 1 つのクラスタノードがクラスタで起動されているときに、スケーラブルリソースグループがこれらと同じノード上で実行されても、スケーラブルサービスは利用できることです。
ディスクデバイスグループの設定方法の詳細は、『 Sun Cluster ソフトウェアのインストール (Solaris OS 版)』を参照してください。ディスクデバイスグループとリソースグループの関係の詳細については、『Sun Cluster の概念 (Solaris OS 版)』のマニュアルを参照してください。
リソースタイプ HAStorage と HAStoragePlus は、次のオプションの設定に使用できます。
ディスクデバイスリソースが利用可能になるまで、HAStorage または HAStoragePlus のリソースを含む同じリソースグループ内にあるほかのリソースの START メソッドを待機させることによって、ディスクデバイスとリソースグループの起動の順番を調整できます。
AffinityOn を True に設定することで、リソースグループとディスクデバイスグループを同一ノード上におき、ディスクに負荷がかかることの多いデータサービスのパフォーマンスを向上させます。
HAStoragePlus は、マウントされていない状態であることが確認されたグローバルファイルシステムをマウントすることもできます。詳細については、「クラスタファイルシステムの構成の計画」を参照してください。
HAStorage または HAStoragePlus リソースがオンラインの間にデバイスグループが別のノードに切り替えられた場合、AffinityOn の設定は無視され、リソースグループはデバイスグループと共に別のノードに移行することはありません。一方、リソースグループが別のノードに切り替わった場合、AffinityOn が True に設定されていると、デバイスグループはリソースグループと一緒に新しいノードに移動します。
ディスクデバイスグループとリソースグループ間の関係については、「リソースグループとディスクデバイスグループ間での起動の同期」を参照してください。追加情報は、SUNW.HAStorage(5) および SUNW.HAStoragePlus(5) のマニュアルページにあります。
VxFS などのファイルシステムをローカルモードでマウントする方法については、「高可用性ローカルファイルシステムの有効化」を参照してください。詳細は、SUNW.HAStoragePlus(5) のマニュアルページを参照してください。
データサービスリソースグループがノードリストを持っており、その一部のノードが記憶装置に直接接続されていない場合は、リソースグループ内で HAStorage または HAStoragePlus リソースを構成し、ほかのデータサービスリソースの依存性を HAStorage リソースまたは HAStoragePlus リソースに設定する必要があります。この条件によって、ストレージとデータサービス間の起動の順番が調整されます。
ディスクに負荷がかかるデータサービスの場合 (Sun Cluster HA for Oracle や Sun Cluster HA for NFS など)、次の作業を行う必要があります。
HAStorage リソースまたは HAStoragePlus リソースをデータリソースグループに追加します。
HAStorage リソースまたは HAStoragePlus リソースをオンラインに切り替えます。
データサービスリソースの依存性を HAStorage リソースまたは HAStoragePlus リソースに設定します。
AffinityOn を True に設定します。
これらの作業を行うと、リソースグループとディスクデバイスグループは同じノード上に配置されます。
フェイルバック設定は、リソースグループとデバイスグループで同一にする必要があります。
起動時に全ファイルを読み込むなどによりデータサービスがディスクにさほど負荷をかけない場合 (Sun Cluster HA for DNS など) は、HAStorage または HAStoragePlus リソースタイプの構成を省略することもできます。
データサービスリソースグループ内で HAStorage リソースと HAStoragePlus リソースのどちらを作成すべきかを決定するには、以下の基準を考慮してください。
Sun Cluster 3.0 5/02 または Sun Cluster 3.1 を使用する場合は、HAStoragePlus を使用してください (フェイルオーバーが構成された Sun Cluster にローカルアクセスを構成するようにファイルシステムを統合するには、Sun Cluster 3.0 5/02 または Sun Cluster 3.1 にアップグレードし、HAStoragePlus リソースタイプを使用してください。詳細については、「クラスタファイルシステムの構成の計画」を参照してください。)
Sun Cluster 3.0 12/01 以前を使用している場合は、HAStorage を使用してください。
この節の情報は、データサービスのインストールまたは構成について計画する場合に利用してください。これらの情報に目を通すことで、ユーザーの決定がデータサービスのインストールと構成に及ぼす影響について理解できるでしょう。特定のデータサービスについては、そのデータサービスのマニュアルを参照してください。
データサービスが入出力中心で、クラスタとして大規模のディスクで構成している場合にディスクに障害が発生すると、入出力サブシステムが再試行するので、アプリケーションは遅延を感じることがあります。入出力サブシステムが再試行し、障害から回復するまで、数分かかることもあります。この遅延によって、最終的にディスクが自分自身で回復したとしても、Sun Cluster がアプリケーションを別のノードにフェイルオーバーすることがあります。このような場合のフェイルオーバーを回避するには、データサービスのデフォルトの検証タイムアウト値を増やしてみてください。データサービスのタイムアウトについての詳細や、タイムアウト値を増やす方法については、ご購入先にお問い合わせください。
よりよいパフォーマンスを保つために、ストレージに直結されたクラスタノードにデータサービスをインストールし、構成してください。
クラスタノード上で動作するクライアントアプリケーションは、HA データサービスの論理 IP アドレスにマッピングしてはなりません。フェイルオーバー後、このような論理 IP アドレスは存在しなくなり、クライアントが切断されたままになる可能性があります。
データサービスを構成するときに、次の 3 つのノードリストを指定できます。
installed_nodes – データサービスのリソースタイプのプロパティ。このプロパティには、リソースタイプがインストールされ、実行が有効になるクラスタノード名の一覧が含まれます。
nodelist — リソースグループのプロパティ。優先順位に基づいて、グループをオンラインにできるクラスタノード名の一覧が含まれます。これらのノードは、リソースグループの潜在的主ノードまたはマスターです。フェイルオーバーサービスについては、リソースグループノードリストを 1 つだけ設定します。スケーラブルサービスの場合は、2 つのリソースグループを設定するため、ノードリストも 2 つ必要になります。一方のリソースグループとノードリストには、共有アドレスをホストするノードが含まれます。このノードリストは、スケーラブルリソースが依存するフェイルオーバーリソースグループを構成します。もう一方のリソースグループとそのノードリストは、アプリケーションリソースをホストするノードを識別します。アプリケーションリソースは、共有アドレスに依存します。共有アドレスを含むリソースグループ用のノードリストは、アプリケーションリソース用のノードリストのスーパーセットになる必要があるためです。
auxnodelist — 共有アドレスリソースのプロパティ。このプロパティは、クラスタノードを識別する物理ノード ID の一覧が含まれます。このクラスタノードは共有アドレスをホストできますが、フェイルオーバー時に主ノードになることはありません。これらのノードは、リソースグループのノードリストで識別されるノードとは、相互に排他的な関係になります。このノードリストは、スケーラブルサービスにのみ適用されます。詳細は、scrgadm(1M) のマニュアルページを参照してください。
データサービスをインストールして構成するには、次の手順を使用します。
パッケージが提供されているインストールメディアから、データサービスパッケージをインストールします。
Sun JavaTM Enterprise System CD
Sun Java Enterprise System Accessory CD Volume 3
クラスタ環境で実行するアプリケーションをインストールして構成する。
データサービスが使用するリソースおよびリソースグループを構成する。データサービスを構成するときは、Resource Group Manager (RGM) によって管理される、リソースタイプ、リソース、リソースグループを指定します。これらの手順は、各データサービスに関するマニュアルで説明されています。
データサービスのインストールと構成を開始する前に『Sun Cluster ソフトウェアのインストール (Solaris OS 版)』を参照してください。このマニュアルには、データサービスソフトウェアパッケージのインストール方法と、ネットワークリソースが使用する Internet Protocol Network Multipathing (IP Networking Multipathing) グループを構成する方法を確認してください。
以下のデータサービスのインストールと構成には、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 ソフトウェアのインストール | |
IP ネットワークマルチパス グループの設定 | |
多重ホストディスクの設定 | |
リソースとリソースグループの計画 | |
アプリケーションバイナリの格納先の決定 (nsswitch.conf の構成) | |
アプリケーションソフトウェアのインストールと構成 |
該当する Sun Cluster データサービスブック |
データサービスソフトウェアパッケージのインストール |
『 Sun Cluster ソフトウェアのインストール (Solaris OS 版)』または該当する Sun Cluster データサービスブック |
データサービスの登録と構成 |
該当する Sun Cluster データサービスブック |
この節では、例として高可用性フェイルオーバーデータサービスとして設定されている Oracle アプリケーション用に、リソースタイプ、リソース、リソースグループを設定する方法を紹介します。
この例とスケーラブルデータサービスの例では、ネットワークリソースを含むフェイルオーバーリソースグループが異なります。さらに、スケーラブルデータサービスには、アプリケーションリソースごとに別のリソースグループ (スケーラブルリソースグループ) が必要です。
Oracle アプリケーションは、サーバーとリスナーの 2 つのコンポーネントを持ちます。Sun は Sun Cluster HA for Oracle データサービスを提供しているため、これらのコンポーネントはすでに Sun Cluster リソースタイプに対応付けられています。これら両方のリソースタイプが、リソースとリソースグループに関連付けられます。
この例は、フェイルオーバーデータサービスの例なので、論理ホスト名ネットワークリソースを使用し、主ノードから二次ノードにフェイルオーバーする IP アドレスを使用します。フェイルオーバーリソースグループに論理ホスト名リソースを入れ、Oracle サーバーリソースとリスナーリソースを同じリソースグループに入れます。この順に入れることで、フェイルオーバーを行うすべてのリソースが 1 つのグループになります。
Sun Cluster HA for Oracle をクラスタ上で実行するには、次のオブジェクトを定義する必要があります。
LogicalHostname リソースタイプ – このリソースタイプは組み込まれているため、明示的に登録する必要はありません。
Oracle リソースタイプ – Sun Cluster HA for Oracle は、2 つの Oracle リソースタイプ (データベースサーバーとリスナー) を定義します。
論理ホスト名リソース – これらのリソースは、ノードで障害が発生した場合にフェイルオーバーする IP アドレスをホストします。
Oracle リソース – Sun Cluster HA for Oracle— 用に 2 つのリソースインスタンス (サーバーとリスナー) を指定する必要があります。
フェイルオーバーリソースグループ – 1 つのグループでフェイルオーバーを行う、Oracle サーバーとリスナー、および論理ホスト名リソースで構成されています。
この節では、インストールや構成の作業に使用するツールについて説明します。
SunPlex Manager は、次の作業を実行できる Web ベースのツールです。
クラスタのインストール
クラスタの管理
リソースやリソースグループの作成と構成
Sun Cluster ソフトウェアを使ったデータサービスの構成
SunPlex Manager を使用し、クラスタソフトウェアをインストールする方法については、『 Sun Cluster ソフトウェアのインストール (Solaris OS 版)』を参照してください。管理作業については、SunPlex Manager のオンラインヘルプを参照してください。
Sun Cluster モジュールを使用すると、クラスタの監視やリソースおよびリソースグループに対する処理の一部を Sun Management Center GUI から行えます。Sun Cluster モジュールのインストール要件と手順については、『Sun Cluster ソフトウェアのインストール (Solaris OS 版)』を参照してください。Sun Management Center の詳細は、http://docs.sun.com にある Sun Management Center ソフトウェアのマニュアルを参照してください。
scsetup(1M) ユーティリティーは、メニュー主導型のインタフェースで、Sun Cluster の一般的な管理に使用できます。このユーティリティーは、さらに、データサービスのリソースやリソースグループの構成にも使用できます。この場合には、scsetup のメインメニューからオプション 2 を選択して、「Resource Group Manager」というサブメニューを起動してください。
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 ユーティリティー |
---|---|---|---|
リソースタイプを登録する |
Yes |
いいえ |
Yes |
リソースグループを作成 |
Yes |
いいえ |
Yes |
リソースグループへソースを追加する |
Yes |
いいえ |
Yes |
リソースグループをオンラインにする |
Yes |
Yes |
いいえ |
リソースグループを削除 |
Yes |
Yes |
いいえ |
リソースを削除する |
Yes |
Yes |
いいえ |
リソースグループの現在の主ノードを切り替える |
Yes |
いいえ |
いいえ |
リソースを使用不可にする |
Yes |
Yes |
いいえ |
無効なリソースのリソースグループを非管理状態にする |
Yes |
いいえ |
いいえ |
リソースタイプ、リソースグループ、リソース構成情報を表示する |
Yes |
Yes |
いいえ |
リソースプロパティを変更する |
Yes |
いいえ |
いいえ |
リソースの STOP_FAILED エラーフラグを消去する |
Yes |
いいえ |
いいえ |
ノードをリソースグループに追加する |
Yes |
いいえ |
いいえ |