この章では、Solaris Volume Manager for Sun Cluster の概要について説明します。
この章では、次の内容について説明します。
Solaris 9 9/04 リリースから、Solaris ボリュームマネージャでは、Sun Cluster 環境の記憶装置をマルチオーナーディスクセットを使用して管理できるようになりました。 「マルチオーナーディスクセット」を使用すると、複数のノードがディスクセットの所有権を共有したり、共有ディスクに同時に書き込むことができます。 従来の共有ディスクセットは、参加しているすべてのホストから認識できても、アクセスできるのは 1 度に 1 つのホストだけでした。マルチオーナーディスクセットは Sun Cluster および Oracle9i Real Application Clusters などのアプリケーションの組み合わせで機能します。 Sun Cluster の互換性のあるリリースについては、http://wwws.sun.com/software/clusterを参照してください。
マルチオーナーディスクセットと Solaris ボリュームマネージャの共有ディスクセットは同じノードに共存できます。 ただし、これら 2 つの構成間でディスクセットを移動することはできません。
マルチオーナーディスクセット用の Solaris Volume Manager for Sun Cluster デバイス ID サポートは利用できません。 したがって、現在のところ、あるシステムから別のシステムへのマルチオーナーディスクセットのインポートはサポートされません。
Solaris Volume Manager for Sun Cluster は、Solaris ボリュームマネージャで作成できるものと同じコンポーネント、つまり、ストライプ、連結、ミラー、ソフトパーティション、ホットスペアを作成できます。 Solaris Volume Manager for Sun Cluster は RAID-5 とトランザクションボリュームはサポートしません。
次の図に、典型的なクラスタ構成におけるソフトウェアと共有記憶装置間の関係を示します。
各ノードはローカル記憶装置を持っており、また、共有記憶装置へのパスを少なくとも 1 つ持っています。 クラスタにおけるマルチオーナーディスクセットは、Solaris オペレーティングシステム (Solaris OS) の一部である Solaris Volume Manager for Sun Cluster によって管理されます。
Solaris Volume Manager for Sun Cluster が管理する記憶装置は、マルチオーナーディスクセットにグループ化されます。 マルチオーナーディスクセットを使用すると、複数のノードがディスクセットの所有権を共有したり、共有ディスクに同時に書き込むことができます。 Oracle9i Real Application Clusters のようなアプリケーションのインスタンスはクラスタ内の各ノード上で実行されるため、マルチオーナーディスクセットはスケーラビリティを提供します。 アプリケーションの各インスタンスは共有記憶装置に直接アクセスするため、マルチオーナーディスクセットを使用すると、アプリケーションの性能も上がります。
マルチオーナーディスクセット機能が有効になるのは、Sun Cluster 環境においてのみです。 「ノード」とは、Sun Cluster システムの一部である物理的なマシンのことです。
どのマルチオーナーディスクセットにも、ノードのリストが関連付けられています。 これらのノードがこのディスクセットの所有権を共有しています。 次の metaset -s disk-set コマンドは、マルチオーナーディスクセットの出力を表示します。
# metaset -s blue Multi-owner Set name = blue, Set number = 1, Master = nodeone Host Owner Member nodeone multi-owner Yes nodetwo multi-owner Yes Drive Dbase d9 Yes d13 Yes |
この出力は、ノードリスト内の nodeone と nodetwo がディスクセットの所有権を共有していることを示しています。 また、nodeone が「マスターノード」であることも示しています。
どのマルチオーナーディスクセットにも、マスターノードが 1 つあります。 ディスクセットの作成後、最初のディスクを追加したノードが、そのディスクセットのマスターノードになります。 マスターノードは、ディスクセットの状態データベースの複製を作成、削除、および更新します。
状態データベースの複製の詳細については、第6章「状態データベース (概要)」を参照してください。
次の metaset コマンドからの出力は、最初のディスクをディスクセットに追加した時点で、nodeone がこのディスクセットのマスターノードになることを示しています。
nodeone# metaset -s red Multi-owner Set name = red Multi-owner Set name = red, Set number = 1, Master = Host Owner Member nodeone Yes nodetwo Yes nodeone# metaset -s red -a /dev/did/dsk/d9 nodeone# metaset -s red Multi-owner Set name = red, Set number = 1, Master = nodeone Host Owner Member nodeone multi-owner Yes nodeone multi-owner Yes Drive Dbase d9 Yes |
Solaris Volume Manager for Sun Cluster では、ディスクセットのノードリストが互いに異なっていても、さらには重複があっても、共存が可能です。 ディスクセットごとにマスターノードが存在するため、同じクラスタ上に複数のマスターが共存することもあります。
Solaris Volume Manager for Sun Cluster でディスクセットに関連する作業を実行するには、通常、Solaris ボリュームマネージャと同じコマンドを使用します。 しかし、metaset コマンドには、マルチオーナーディスクセット専用のオプションがいくつか追加されています。 たとえば、マルチオーナーディスクセットを作成する作業には、metaset コマンドに -M オプションを指定する必要があります。 次の出力は、metaset -s diskset-name -a -M -h hostname コマンドを使用して、マルチオーナーディスクセットを作成する方法を示しています。
# metaset -s red -a -M -h nodeone # metaset Multi-owner Set name = red, Set number = 1, Master = Host Owner Member nodeone Yes |
さらに、metaset コマンドには、ディスクセットを取得および解放するコマンドなど、マルチオーナーディスクセットで使用されないオプションもいくつかあります。 詳細については、metaset(1M) のマニュアルページを参照してください。
ディスクを処理する際も、Sun Cluster 環境では作業方法が異なります。 Sun Cluster は各ディスクに一意のディスク ID (DID) 番号を割り当てます。 ディスクを識別するときには、cntndn 形式を使用するのではなく、Sun Cluster の DID パス名 /dev/did/dsk/dN を使用します。 変数 N は、Sun Cluster によって割り当てられたデバイス番号です。
次の出力は、マルチオーナーディスクセットにディスクを追加するときに、metaset -s diskset-name -a disk-name コマンドと Sun Cluster の DID パス名を使用してディスクを識別する方法を示しています。
nodeone# metaset -s red Multi-owner Set name = red Multi-owner Set name = red, Set number = 1, Master = Host Owner Member nodeone Yes nodetwo Yes nodeone# metaset -s red -a /dev/did/dsk/d13 nodeone# metaset -s red Multi-owner Set name = red, Set number = 1, Master = nodeone Host Owner Member nodeone multi-owner Yes Drive Dbase d13 Yes |
Oracle9i Real Application Clusters 用の マルチオーナーディスクセットを作成する方法の詳細については、Sun Cluster のマニュアルを参照してください。
ディスクセットに関連する作業については、第21章「ディスクセット (作業)」を参照してください。
Solaris Volume Manager for Sun Cluster は次の構成をサポートします。
Solaris Volume Manager for Sun Cluster は最大で 32 個のディスクセットをサポートします。 これらのディスクセットは、マルチオーナーディスクセット、共有ディスクセット、およびローカルディスクセットのいずれの組み合わせでも構いません。
Solaris ボリュームマネージャ環境で利用できるディスクセットのさまざまな種類の詳細については、 「ディスクセットのタイプ」を参照してください。
マルチオーナーディスクセットでは、ディスクセットごとに最大で 8192 個のボリュームをサポートします。
状態データベースの複製のデフォルトサイズは 16M バイトです。 最小サイズは 16M バイトです。 最大サイズは 256M バイトです。
マルチオーナーディスクセットを使用するには、Solaris OS とともに、次のソフトウェアをインストールする必要があります。
Sun Cluster ソフトウェア
Oracle9i Real Application Clusters ソフトウェア
Sun Cluster の互換性のあるリリースについては、http://wwws.sun.com/software/clusterを参照してください。
マルチオーナーディスクセット用の RAID-1 ボリューム (つまり、ミラー) は、共有ディスクセット用の RAID-1 ボリュームと同じように機能します。 しかし、マルチオーナーディスクセット用の RAID-1 ボリュームには追加の機能がいくつかあります。
ミラー所有権の概念はマルチオーナーディスクセットに固有です。 Solaris ボリュームマネージャの共有ディスクセット用の RAID-1 ボリュームとは異なり、マルチオーナーディスクセット用の RAID-1 ボリュームには通常、1 つの所有者が関連付けられています。 ミラーボリュームの所有権は、ボリュームマネージャによって選択されます。 ディスクセットのノードリストに記載されたノードの 1 つがこのボリュームの所有者になります。 このボリュームに書き込むことができるのは、RAID-1 ボリュームの所有者だけです。 所有者でないノードがそのボリュームに書き込もうとした場合、書き込み操作を行おうとしているこのノードへ、所有者が切り換わります。 次の metastat -s diskset-name コマンドの出力は、 nodeone が RAID-1 ボリューム d24 の所有者であることを示しています。
# metastat -s red red/d24: Mirror Submirror 0: red/d20 State: Okay Submirror 1: red/d21 State: Okay Pass: 1 Read option: roundrobin (default) Write option: parallel (default) Resync option: optimizedresync Owner: nodeone Size: 825930 blocks (403 MB) |
Solaris ボリュームマネージャ用の RAID-1 ボリュームと同様に、Solaris Volume Manager for Sun Cluster 用の RAID-1 ボリュームはデータの整合性を保つための操作を実行します。 Solaris Volume Manager for Sun Cluster は、データの管理と回復のための 2 つのオプションを RAID-1 ボリュームに提供します。
Solaris Volume Manager for Sun Cluster 用の最適化された再同期は、Solaris ボリュームマネージャ用の最適化された再同期と同じように機能します。 しかし、マルチオーナーディスクセットは、再同期オプションが最適化された再同期に設定された RAID-1 ボリュームは常に、ミラー所有者を持ちます。 次の metastat -s diskset-name コマンドからの出力は、最適化オプションが optimizedresync (最適化された再同期) に設定されていることを示しています。
# metastat -s red red/d24: Mirror Submirror 0: red/d20 State: Okay Submirror 1: red/d21 State: Okay Pass: 1 Read option: roundrobin (default) Write option: parallel (default) Resync option: optimizedresync Owner: nodeone Size: 825930 blocks (403 MB) |
RAID-1 ボリュームの最適化された再同期の一般的な情報については、「再同期の最適化」を参照してください。
Solaris Volume Manager for Sun Cluster のデータ回復を最適化するためには、Oracle9i Real Application Clusters などのアプリケーションは、データの回復を管理および制御する機能を必要とします。 アプリケーションが回復を制御できると、回復の性能が上がります。 ioctl の DKIOGETVOLCAP、DKIOSETVOLCAP、および DKIODMR は、クラスタ環境におけるアプリケーションのデータ管理回復のサポートを提供します。 これらの ioctl は、アプリケーションに次の機能を提供します。
アプリケーションベースの回復 (Application Based Recovery, ABR) アプリケーションがミラー化されたボリューム上でデータの回復を制御できるようにします。
指定されたミラー読み取り (Directed Mirror Reads, DMR) アプリケーションが特定のサブミラーへの読み取りを指示し、データの状態を調べます。
アプリケーションベースのデータ管理回復で使用される ioctl の詳細については、dkio(7I) のマニュアルページを参照してください。
再同期オプションをアプリケーションベースの回復に設定した RAID-1 ボリュームがミラー所有者を持つのは、アプリケーションベースの回復プロセスの間だけです。 次の metastat -s diskset-name コマンドからの出力は、RAID-1 ボリュームの通常の状態を示しています。 再同期オプションは application based (アプリケーションベースの回復) に設定されており、ミラー所有者はありません。
# metastat -s red red/d24: Mirror Submirror 0: red/d20 State: Okay Submirror 1: red/d21 State: Okay Pass: 1 Read option: roundrobin (default) Write option: parallel (default) Resync option: application based Owner: None Size: 825930 blocks (403 MB) |