この章では、Solaris Volume Manager for Sun Cluster の概要について説明します。
この章では、次の内容について説明します。
Solaris 9 9/04 リリースから、Solaris ボリュームマネージャでは Sun Cluster 環境の記憶装置を複数所有者ディスクセットを使用して管理できるようになりました。「複数所有者ディスクセット」を使用すると、複数のノードがディスクセットの所有権を共有したり、共有ディスクに同時に書き込むことができます。従来の共有ディスクセットは、参加しているすべてのホストから認識できても、アクセスできるのは 1 度に 1 つのホストだけでした。複数所有者ディスクセットは Sun Cluster および Oracle9 Real Application Clusters などのアプリケーションの組み合わせで機能します。
複数所有者ディスクセットと 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 を使用するには、Solaris OS とともに次のソフトウェアをインストールする必要があります。
Sun Cluster 初期クラスタフレームワーク
Sun Cluster Support for Oracle Real Application Clusters ソフトウェア
Oracle Real Application Clusters ソフトウェア
Sun Cluster と Oracle Real Application Clusters ソフトウェアの設定については、『Sun Cluster ソフトウェアのインストール (Solaris OS 版)』および『Sun Cluster Data Service for Oracle Real Application Clusters ガイド (Solaris OS 版)』を参照してください。
Solaris Volume Manager for Sun Cluster が管理する記憶装置は、複数所有者ディスクセットとしてグループ分けされます。複数所有者ディスクセットを使用すると、複数のノードがディスクセットの所有権を共有したり、共有ディスクに同時に書き込むことができます。Oracle 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 章「状態データベース (概要)」を参照してください。
Solaris Volume Manager for Sun Cluster では、ディスクセットのノードリストが互いに異なっていても、さらには重複があっても、共存が可能です。ディスクセットごとにマスターノードが存在するため、同じクラスタ上に複数のマスターが共存することもあります。
次の metaset コマンドからの出力は、最初のディスクをディスクセットに追加した時点で、nodeone がマスターノードになることを示しています。
nodeone# metaset -s 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 nodetwo multi-owner Yes Drive Dbase d9 Yes |
Solaris Volume Manager for Sun Cluster では、ディスクセットのノードリストが互いに異なっていても、さらには重複があっても、共存が可能です。ディスクセットごとにマスターノードが存在するため、同じクラスタ上に複数のマスターが共存することもあります。
複数所有者ディスクセットを構成する前に、Solaris OS とともに次のソフトウェアをインストールしておく必要があります。
Sun Cluster 初期クラスタフレームワーク
Sun Cluster Support for Oracle Real Application Clusters ソフトウェア
Oracle Real Application Clusters ソフトウェア
Sun Cluster と Oracle Real Application Clusters ソフトウェアの設定については、『Sun Cluster ソフトウェアのインストール (Solaris OS 版)』および『Sun Cluster Data Service for Oracle Real Application Clusters ガイド (Solaris OS 版)』を参照してください。
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 |
Oracle Real Application Clusters に対応する複数所有者ディスクセットの作成方法については、『Sun Cluster Data Service for Oracle Real Application Clusters ガイド (Solaris OS 版)』の「Oracle Real Application Clusters データベース用の Solaris Volume Manager for Sun Cluster にマルチオーナーディスクセットを作成」を参照してください。
ディスクセットに関連する作業については、第 19 章「ディスクセット (作業)」を参照してください。
Solaris Volume Manager for Sun Cluster は次の構成をサポートします。
Solaris Volume Manager for Sun Cluster は最大で 32 個のディスクセットをサポートします。これらのディスクセットは、複数所有者ディスクセット、共有ディスクセット、およびローカルディスクセットの任意の組み合わせにできます。
異なる種類のディスクセットの詳細については、「ディスクセットのタイプ」を参照してください。
複数所有者ディスクセットでは、ディスクセットごとに最大で 8192 個のボリュームをサポートします。
状態データベースの複製のデフォルトサイズは 16M バイトです。最小サイズは 16M バイトです。最大サイズは 256M バイトです。
Sun Cluster Support for Oracle Real Application Clusters で拡張されたプロパティーの多くは、再構成プロセスの手順でタイムアウトを指定するものです。タイムアウトの設定については、『Sun Cluster Data Service for Oracle Real Application Clusters ガイド (Solaris OS 版)』の「Sun Cluster Support for Oracle Real Application Clusters の調整」を参照してください。
複数所有者ディスクセットに作成された RAID-1 ボリューム (つまり、ミラー) は、Solaris ボリュームマネージャ共有ディスクセットの 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) |
最適化された再同期の詳細については、「再同期の最適化」を参照してください。
Solaris Volume Manager for Sun Cluster のデータ回復を最適化するためには、Oracle Real Application Clusters などのアプリケーションは、データの回復を管理および制御する機能を必要とします。アプリケーションが回復を制御できると、回復の性能が上がります。ioctl の DKIOGETVOLCAP、DKIOSETVOLCAP、および DKIODMR は、クラスタ環境におけるアプリケーションのデータ管理回復のサポートを提供します。これらの ioctl は、アプリケーションに次の機能を提供します。
アプリケーションベースの回復 (ABR)— アプリケーションがミラーボリューム上のデータの回復を制御できるようにします。
指定されたミラー読み取り — アプリケーションが特定のサブミラーに対する読み取りを指定して、データの状態を調べることができるようにします。
アプリケーションベースのデータ管理回復で使用される ioctl の詳細については、dkio(7I) のマニュアルページを参照してください。
再同期オプションをアプリケーションベースの回復に設定した RAID-1 ボリュームがミラー所有者を持つのは、アプリケーションベースの回復プロセスの間だけです。次の metastat -s diskset-name コマンドからの出力は、RAID-1 ボリュームの通常の状態を示しています。再同期オプションはアプリケーションベースの回復に設定されています。ミラー所有者は存在しません。
# 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) |