Sun Cluster の概念 (Solaris OS 版)

デバイスグループ

Sun Cluster ソフトウェアでは、多重ホストデバイスをすべてSun Cluster ソフトウェアで管理する必要があります。最初に多重ホストディスク上にボリュームマネージャーのディスクグループ (Solaris Volume Managerのディスクセットまたは VERITAS Volume Manager ディスクグループのいずれか) を作成します。次に、ボリュームマネージャーのディスクグループを「デバイスグループ」として登録します。デバイスグループは、広域デバイスの一種です。さらに、Sun Cluster ソフトウェアは、個々のディスクデバイスやテープデバイスごとに raw デバイスグループを自動的に作成します。ただし、これらのクラスタデバイスグループは、広域デバイスとしてアクセスされるまではオフラインの状態になっています。

この登録によって、Sun Cluster ソフトウェアは、どのノードがどのボリュームマネージャーディスクグループへのパスをもっているかを知ることができます。この時点でそのボリュームマネージャーデバイスグループは、クラスタ内で広域アクセスが可能になります。あるデバイスグループが複数のノードから書き込み可能 (マスター) な場合は、そのデバイスグループに格納されるデータは、高度な可用性を有することになります。高度な可用性を備えたデバイスグループには、クラスタファイルシステムを格納できます。


注 –

デバイスグループは、リソースグループとは別のものです。あるノードまたはゾーンは、データサービスプロセスのグループを表すリソースグループをマスターすることができます。別のノードは、データサービスによりアクセスされているディスクグループをマスターすることができます。ただし、もっとも良い方法は、特定のアプリケーションのデータを保存するデバイスグループと、アプリケーションのリソース (アプリケーションデーモン) を同じノードに含むリソースグループを維持することです。デバイスグループとリソースグループの関係についての詳細は、『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』「リソースグループとデバイスグループの関係」を参照してください。


あるノードがディスクデバイスグループを使用するとき、ボリュームマネージャーのディスクグループは実際に使用するディスクに対してマルチパスサポートを提供するため、そのディスクグループは「広域」になります。多重ホストディスクに物理的に接続された各クラスタノードは、デバイスグループへのパスを提供します。

デバイスグループのフェイルオーバー

ディスク格納装置は複数のノードに接続されるため、現在デバイスグループをマスターしているノードに障害が生じた場合でも、代替パスによってその格納装置にあるすべてのデバイスグループにアクセスできます。デバイスグループをマスターするノードの障害は、回復と一貫性の検査を実行するために要する時間を除けば、デバイスグループへのアクセスに影響しません。この時間の間は、デバイスグループが使用可能になるまで、すべての要求は (アプリケーションには透過的に) 阻止されます。

図 3–1 フェイルオーバー前後のデバイスグループ

図 : この図については、前の本文中で説明しています。

多重ポートデバイスグループ

この節では、多重ポートディスク構成において性能と可用性をバランスよく実現するディスクデバイスグループのプロパティーについて説明します。Sun Cluster ソフトウェアには、多重ポートディスク構成を設定するためのプロパティーが 2 つあります。つまり、preferencednumsecondaries です。preferenced プロパティーは、フェイルオーバーの発生時に各ノードがどの順で制御を取得するかを制御します。numsecondaries プロパティーを使用して、デバイスグループに対する二次ノードの必要な数を設定します。

高可用性サービスは、主ノードまたはゾーンが停止し、かつ、主ノードまたはゾーンになる資格のある二次ノードまたはゾーンが存在しないときに、完全に停止したと見なされます。preferenced プロパティーが true に設定されている場合、 サービスのフェイルオーバーが発生すると、ノードリストの順序に従って、二次ノードまたはゾーンが選択されます。ノードリストは、ノードまたはゾーンが、主制御を引き受ける順序、またはスペアから二次への移行を引き受ける順序を決めます。clsetup コマンドを使用して、デバイスサービスの優先順序を動的に変更できます。従属サービスプロバイダ (広域ファイルシステムなど) に関連する設定は、デバイスサービスの設定と同じになります。

主ノードは、正常な運用時に二次ノードのチェックポイントをとります。多重ポートディスク構成では、二次ノードのチェックポイントをとるたびに、クラスタの性能の低下やメモリーのオーハーヘッドの増加が発生します。スペアノードのサポートが実装されているのは、このようなチェックポイントによる性能の低下やメモリーのオーバーヘッドを最小限に抑えるためです。デフォルトでは、デバイスグループには 1 つの主ノードと 1 つの二次ノードがあります。残りのプロバイダノードはスペアノードです。フェイルオーバーが発生すると、二次ノードが主ノードになり、ノードリスト上でもっとも優先順位の高い (スペア) ノードが二次ノードになります。

二次ノードの望ましい数には、任意の整数 (1 から、デバイスグループ内の動作可能な主ノード以外のプロバイダノードの数まで) を設定できます。


注 –

Solaris Volume Manager を使用している場合、 numsecondariesプロパティーにデフォルト以外の数字を設定するには、まず、デバイスグループを作成する必要があります。


デバイスサービスのためのデフォルトの望ましい二次ノード数は 1 です。望ましい数とは、複製フレームワークによって維持される二次プロバイダノードの実際の数です。ただし、動作可能な主ノード以外のプロバイダノードの数が望ましい数よりも小さい場合を除きます。ノードを構成に追加したり、ノードを構成から切り離す場合は、numsecondaries プロパティーを変更したあと、ノードリストを十分に確認する必要があります。ノードリストと二次ノードの望ましい数を正しく保つことによって、構成されている二次ノードの数と、フレームワークによって与えられている実際の数の不一致を防げます。