この作業を行なうのは Solaris Volume Manager for Sun Cluster を使用する場合だけです。
Solaris Volume Manager for Sun Cluster を使用する場合は、Solaris ボリュームマネージャー によって、Oracle Real Application Clusters データベース用のマルチオーナーディスクセットが必要になります。Solaris Volume Manager for Sun Cluster のマルチオーナーディスクセットについては、『Solaris ボリュームマネージャの管理』の「複数所有者ディスクセットの概念」を参照してください。
Sun Cluster Support for Oracle Real Application Clusters ソフトウェアパッケージが各ノードにインストールされているか確認します。詳細は、「Sun Cluster Support for Oracle Real Application Clusters パッケージのインストール」を参照してください。
マルチオーナーディスクセットを使用するのは raw データファイルだけであるため、このディスクセットにはファイルシステムを作成しないでください。
マルチオーナーディスクセットに追加するディスクデバイスは、すべてのクラスタノードに直接接続されていなければなりません。
マルチオーナーディスクセットを作成します。
これには metaset(1M) コマンドを使用します。
# metaset -s setname -M -a -h nodelist |
作成するディスクセットの名前を指定します。
作成するディスクセットがマルチオーナーディスクセットであることを意味します。
-h オプションで指定するノードをディスクセットに追加することを意味します。
ディスクセットに追加するノードをスペースで区切って指定します。Sun Cluster Support for Oracle Real Application Clusters ソフトウェアパッケージは、このリストの各ノードにインストールする必要があります。
手順 1 で作成したディスクセットに広域デバイスを追加します。
# metaset -s setname -a devicelist |
手順 1 で作成したディスクセットを変更していることを指定します。
devicelist で指定するデバイスをディスクセットに追加することを意味します。
ディスクセットに追加する広域デバイスの完全なデバイス ID パス名をスペースで区切って指定します。クラスタのどのノードからでも各デバイスに一貫してアクセスできるためには、各デバイス ID パス名の形式が /dev/did/dsk/dN になっている必要があります。N はデバイス番号です。
手順 1 で作成したディスクセットに対して、Oracle Real Application Clusters データベースで使用するボリュームを作成します。
Oracle データファイル用のボリュームを多数作成する場合は、ソフトパーティションを使うとこのステップが簡単になります。詳細は、『Solaris ボリュームマネージャの管理』の第 12 章「ソフトパーティション (概要)」と 『Solaris ボリュームマネージャの管理』の第 13 章「ソフトパーティション (作業)」を参照してください。
手順 2 で追加した広域デバイス上のスライスを連結してそれぞれのボリュームを作成します。これには metainit(1M) コマンドを使用します。
# metainit -s setname volume-abbrev numstripes width slicelist |
各ノードがマルチオーナーディスクセットに正しく追加されているか確認します。
これには metastat(1M) コマンドを使用します。
# metastat -s setname |
手順 1 で作成したディスクセットを確認していることを指定します。
このコマンドを実行すると、ディスクセットに正しく追加されているノードごとに、次の情報を示す表が表示されます。
Host 列にはノード名が表示されます。
Owner 列には multi-owner というテキストが表示されます。
Member 列には Yes というテキストが表示されます。
マルチオーナーディスクセットが正しく構成されているか確認します。
# scconf -pvv | grep setname |
手順 1 で作成したディスクセットだけの構成情報を表示することを指定します。
このコマンドを実行すると、ディスクセットのデバイスグループ情報が表示されます。マルチオーナーディスクセットの場合、デバイスグループタイプは Multi-owner_SVM です。
マルチオーナーディスクセットのオンライン状態を確認します。
# scstat -D |
このコマンドを実行すると、オンラインになっている、マルチオーナーディスクセット内のノードの名前が表示されます。
ディスクセットを所有する可能性のある個々のノードで、手順 3 で作成した各ボリュームの所有権を次のように変更します。
所有者: oracle
グループ: dba
所有権を変更するのは、Oracle Real Application Clusters データベースが使用するボリュームだけにしてください。
# chown oracle:dba volume-list |
そのディスクセットに対して作成したボリュームの論理名をスペースで区切って指定します。論理名の形式は、ボリュームが存在するデバイスのタイプによって異なります。
ブロックデバイスの場合: /dev/md/setname /dsk/dV
raw デバイスの場合: /dev/md/setname /rdsk/dV
これらの論理名の変数の意味は次のとおりです。
このリストは、手順 3 で作成した各ボリュームを指定するようにします。
ディスクセットを所有する可能性のある各ノードで、手順 7 で所有権を変更したボリュームごとに、読み取りアクセス権と書き込みアクセス権を oracle ユーザーに付与します。
アクセス権を変更するのは、Oracle Real Application Clusters データベースが使用するボリュームだけにしてください。
# chmod u+rw volume-list |
oracle ユーザーに読み取りアクセス権と書き込みアクセス権を付与するボリュームの論理名をスペースで区切って指定します。このリストには、手順 7 で指定したボリュームが含まれるようにします。
この例では、Solaris Volume Manager for Sun Cluster にマルチオーナーディスクセットを作成します。この例では、すべてのボリュームが raw デバイス上にあることを想定します。
次のコマンドを実行して、マルチオーナーディスクセットを作成します。
# metaset -s racdbset -M -a -h rachost1 rachost2 rachost3 rachost4 |
マルチオーナーディスクセットに racdbset という名前を付けます。このディスクセットにノード rachost1、rachost2、rachost3、rachost4 を追加します。
次のコマンドを実行して、ディスクセットに広域デバイス /dev/did/dsk/d0 を追加します。
# metaset -s racdbset -a /dev/did/dsk/d0 |
次のコマンドを実行して、ディスクセットに対してボリュームを作成します。
# metainit -s racdbset d0 1 1 /dev/did/dsk/d0s0 |
ボリュームには d0 という名前を付けます。このボリュームは、スライス /dev/did/dsk/d0s0 を 1 対 1 で連結したものです。スライスはストライプ化されません。
次のコマンドを実行して、各ノードがマルチオーナーディスクセットに正しく追加されているか確認します。
# metastat -s racdbset Multi-owner Set name = racdbset, Set number = 1, Master = rachost2 Host Owner Member rachost1 multi-owner Yes rachost2 multi-owner Yes rachost3 multi-owner Yes rachost4 multi-owner Yes Drive Dbase d6 Yes d10 Yes |
次のコマンドを実行して、マルチオーナーディスクセットが正しく構成されているか確認します。
# scconf -pvv | grep racdbset デバイスグループ名: racdbset (racdbset) デバイスグループタイプ: Multi-owner_SVM (racdbset) デバイスグループフェイルバック使用可能: no (racdbset) デバイスグループノードリスト: rachost1, rachost2, rachost3, rachost4 (racdbset) デバイスグループの順序付きノードリスト: no (racdbset) デバイスグループの希望のセカンダリ数: 0 (racdbset) デバイスグループディスクセット名: racdbset |
次のコマンドを実行して、マルチオーナーディスクセットのオンライン状態を確認します。
# scstat -D -- デバイスグループのサーバー -- デバイスグループ プライマリ セカンダリ ------------ ------- --------- -- デバイスグループの状態 -- デバイスグループ 状態 ------------ ------ -- 複数所有者のデバイスグループ -- デバイスグループ Online Status ------------ ------------- Multi-owner device group: racdbset rachost1,rachost2,rachost3,rachost4 |
次のコマンドを実行して、ディスクセット内のボリュームの所有権をグループ dba のオーナー oracle に変更します。
# chown oracle:dba /dev/md/racdbset/rdsk/d0 |
このコマンドは、ディスクセットを所有する可能性のあるすべてのノードで実行する必要があります。
次のコマンドを実行して、ディスクセット内のボリュームへの読み取りアクセス権を oracle ユーザーに付与します。
# chmod u+rw /dev/md/racdbset/rdsk/d0 |
このコマンドは、ディスクセットを所有する可能性のあるすべてのノードで実行する必要があります。