この章では、Oracle Real Application Clusters データベース用にストレージを構成する方法について説明します。
表 2–1 は、Oracle Real Application Clusters データベース用にストレージを構成するための作業を要約したものです。
これらの作業は、表に示す順序で行う必要があります。
表 2–1 Oracle Real Application Clusters データベース用のストレージの構成作業
タスク |
参照先 |
---|---|
Real Application Clusters (RAC) フレームワークリソースグループの登録と構成 |
この作業に scsetup ユーティリティーを使用している場合は、「RAC フレームワークリソースグループの登録と構成」を参照してください。 この作業に scrgadm ユーティリティーを使用する場合は、次のマニュアルを参照してください。 |
Oracle Real Application Clusters データベース用のマルチオーナーディスクセットを Solaris Volume Manager for Sun Cluster に作成 | |
Oracle Real Application Clusters データベース用の VxVM 共有ディスクグループの作成 |
「SPARC: Oracle Real Application Clusters データベース用の VxVM 共有ディスクグループの作成」 |
RAC フレームワークリソースグループの登録と構成を行うと、Sun Cluster コマンドを使って Sun Cluster Support for Oracle Real Application Clusters を管理できるようになります。
次のエンティティーに対して RAC フレームワークリソースグループの登録と構成を行うことができます。
クラスタ。詳細は、「クラスタ用に RAC フレームワークリソースグループの登録と構成を行うには」を参照してください。
クラスタ内の選択したノード。詳細は、「指定するノード用に RAC フレームワークリソースグループの登録と構成を行うには」を参照してください。
RAC フレームワークリソースグループを使用すると、Sun Cluster コマンドを使って Oracle Real Application Clusters を管理できるようになります。このリソースグループには、以下のシングルインスタンスのリソースタイプのインスタンスが含まれています。
Sun Cluster コマンドを使って、Oracle Real Application Clusters を管理できるようにするフレームワークを表す SUNW.rac_framework
Sun Cluster Support for Oracle Real Application Clusters の UNIX Distributed Lock Manager (Oracle UDLM) コンポーネントを表す SUNW.rac_udlm
さらに、RAC フレームワークリソースグループには、Oracle Real Application Clusters データベース用に使用しているストレージ管理スキーマを表すシングルインスタンスのリソースタイプのインスタンスが含まれます。
Solaris Volume Manager for Sun Cluster は、SUNW.rac_svm リソースタイプで表されます。
ボリュームマネージャーが装備されていないストレージ管理スキーマの任意の組み合わせは SUNW.rac_hwraid リソースタイプで表されます。
Sun StorEdge QFS 共有ファイルシステムを使用している場合、Sun StorEdge QFS 共有ファイルシステムのメタデータサーバーを表すために追加のリソースが必要です。このリソースは RAC フレームワークリソースグループには含まれていません。このリソースの詳細については、次のマニュアルを参照してください。
『Sun StorEdge QFS and Sun StorEdge SAM-FS File System Administration Guide』
RAC フレームワークリソースグループ用に定義されたリソースタイプでは、リソースグループマネージャー (RGM) で Oracle Real Application Clusters のインスタンスを管理できません。
以下の手順は、scsetup(1M) ユーティリティーを使って、RAC フレームワークリソースグループ用のリソースを構成する方法を説明しています。scsetup ユーティリティーを使用すると、RAC フレームワークリソースグループ用のリソースを対話的に構成できます。これらのリソースを対話的に使うことにより、コマンドの構文エラーまたは脱落による設定エラーが起きる可能性が少なくなります。scsetup ユーティリティーは、必要なリソースがすべてクラスタノードにインストールされたソフトウェアに基づいて作成されるようにします。
scrgadm(1M) ユーティリティーを使って RAC フレームワークリソースグループ用のリソースを構成する方法については、付録 B 「scrgadm ユーティリティーを使用した RAC フレームワークリソースグループの作成、変更、および削除」を参照してください。
RAC フレームワークリソースグループをクラスタ用に登録および設定すると、RAC フレームワークリソースグループが作成されます。
Sun Cluster Support for Oracle Real Application Clusters をクラスタのすべてのノードで実行する必要がある場合は、この手順を実行します。
この手順を実行する前に、必要な Sun Cluster Support for Oracle Real Application Clusters ソフトウェアパッケージが各ノード上にインストールされていることを確認してください。必要なパッケージは、Oracle Real Application Clusters データベース用にどのストレージ管理スキームを使用するかによって異なります。詳細は、「Sun Cluster Support for Oracle Real Application Clusters パッケージのインストール」を参照してください。
スーパーユーザーになります。
1 つのノードからだけ、RAC フレームワークリソースグループを作成します。
以下の手順は、scsetup ユーティリティーを使って、この操作を実行する方法を説明しています。scrgadm ユーティリティーを使ってこの操作を実行する方法については、「scrgadm ユーティリティーを使って RAC フレームワークリソースグループを作成する」を参照してください。
scsetup ユーティリティーを起動します。
# scsetup |
scsetup のメインメニューが表示されます。
データサービスのオプションに対応する番号を入力します。
データサービス メニューが表示されます。
Sun Cluster Support for Oracle Real Application Clusters を設定するためのオプションに対応する番号を入力します。
Sun Cluster Support for Oracle RAC メニューが表示されます。
RAC フレームワークリソースグループを作成するためのオプションに対応する番号を入力します。
scsetup ユーティリティーによってSun Cluster Support for Oracle Real Application Clusters パッケージがインストールされているクラスタノードのリストが表示されます。また、scsetup ユーティリティーからこれらのノードに RAC フレームワークリソースグループが作成されることを確認するように求められます。
scsetup ユーティリティーがリストされたノード上に RAC フレームワークリソースグループを作成すべきであることを確認するには、y と入力します。
scsetup ユーティリティーは、RAC フレームワークリソースグループおよびこのリソースグループに含まれるリソースをリストされたノード上に作成します。
リソースプロパティーの値がデフォルト値から変更された場合、scsetup ユーティリティーはこのプロパティーを、scsetup ユーティリティーが作成するリソースの変更された値に設定します。
RAC フレームワークリソースグループおよびそのリソースがオンラインであるかどうかを調べます。
これには scstat(1M) ユーティリティーを使用します。確認するリソースグループは、rac-framework-rg という名前です。scsetup ユーティリティーは、リソースグループを作成するときに自動的にこの名前を割り当てます。
# scstat -g |
RACフレームワークリソースグループとそのリソースがオンラインでない場合、これらをオンラインにします。
# scswitch -Z -g rac-framework-rg |
リソースとモニターを使用可能にし、リソースグループを 管理 状態にし、オンラインにします。
管理状態に移行し、オンラインになるリソースグループが rac-framework-rg であるように指定します。
次の手順は、次の表に示すように、使用しているボリュームマネージャーに依存します。
ボリュームマネージャー |
次の手順 |
---|---|
Solaris Volume Manager for Sun Cluster | |
クラスタ機能を備えた VxVM |
「SPARC: Oracle Real Application Clusters データベース用の VxVM 共有ディスクグループの作成」 |
なし |
RAC フレームワークリソースグループを、選択したノード用に登録および設定すると、RAC フレームワークリソースグループにノードが追加されます。
この手順は、次のような場合に実行してください。
クラスタにノードを追加していて、それらのノード上で Sun Cluster Support for Oracle Real Application Clusters を実行する場合。
クラスタ内のノードのサブセット上だけで Sun Cluster Support for Oracle Real Application Clusters を実行する場合。
RAC フレームワークリソースグループを登録および構成する対象である各ノード上に、必要な Sun Cluster Support for Oracle Real Application Clusters ソフトウェアパッケージがインストールされていることを確認してください。必要なパッケージは、Oracle Real Application Clusters データベース用にどのストレージ管理スキームを使用するかによって異なります。詳細は、「Sun Cluster Support for Oracle Real Application Clusters パッケージのインストール」を参照してください。
スーパーユーザーになります。
RAC フレームワークリソースグループにノードを追加します。
以下の手順は、scsetup ユーティリティーを使って、この操作を実行する方法を説明しています。scrgadm ユーティリティーを使ってこの操作を実行する方法については、「scrgadm ユーティリティーを使って、RAC フレームワークリソースグループにノードを追加する」を参照してください。
scsetup ユーティリティーを起動します。
# scsetup |
データサービスのオプションに対応する番号を入力します。
データサービス メニューが表示されます。
Sun Cluster Support for Oracle Real Application Clusters を設定するためのオプションに対応する番号を入力します。
Sun Cluster Support for Oracle RAC メニューが表示されます。
RAC フレームワークリソースグループにノードを追加するためのオプションに対応する番号を入力します。
scsetup ユーティリティーは次のように応答します。
RACフレームワークリソースグループに追加できるノードのリストが表示されます。このリストには、 Sun Cluster Support for Oracle Real Application Clusters パッケージがインストールされているクラスタノードが含まれますが、このノード上には、RAC フレームワークリソースグループはまだ存在しません。
scsetup ユーティリティーにより、追加するノードのリストの入力を求めるプロンプトが表示されます。
RAC フレームワークリソースグループに追加するノードのコンマで区切ったリストを入力します。
RAC フレームワークリソースグループおよびそのリソースをオンラインにします。
# scswitch -Z -g rac-framework-rg |
リソースを使用可能にし、リソースグループを 管理 状態にし、オンラインにします。
管理状態に移行し、オンラインになるリソースグループが rac-framework-rg であるように指定します。
次の手順は、次の表に示すように、使用しているボリュームマネージャーに依存します。
ボリュームマネージャー |
次の手順 |
---|---|
Solaris Volume Manager for Sun Cluster | |
クラスタ機能を備えた VxVM |
「SPARC: Oracle Real Application Clusters データベース用の VxVM 共有ディスクグループの作成」 |
なし |
この作業を行なうのは 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 |
このコマンドは、ディスクセットを所有する可能性のあるすべてのノードで実行する必要があります。
「Oracle Real Application Clusters ソフトウェアのインストール」に進みます。
この作業は、クラスタ機能を備えた VxVM を使用している場合にだけ実行してください。
クラスタ機能を備えた VxVM を使用している場合、VxVM には、Oracle Real Application Clusters データベースで使用するための共有ディスクグループが必要です。
Sun Cluster Support for Oracle Real Application Clusters ソフトウェアパッケージが各ノードにインストールされているか確認します。詳細は、「Sun Cluster Support for Oracle Real Application Clusters パッケージのインストール」を参照してください。
共有ディスクグループを使用するのは raw データファイルだけであるため、このディスクグループにはファイルシステムを作成しないでください。
共有ディスクグループに追加するディスクは、すべてのクラスタノードに直接接続する必要があります。
VxVM ライセンスが現在有効な状態であるかを確認します。ライセンスの期限が切れている場合は、ノードにパニックが起こります。
VxVM 共有ディスクグループ作成用に提供されている VERITAS コマンドを使用します。
VxVM 共有ディスクグループについては、VxVM のマニュアルを参照してください。