Sun Cluster の概念 (Solaris OS 版)

ディスクデバイスグループ

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

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


注 –

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


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

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

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

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

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

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

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

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

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

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


注 –

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


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