前回までの記事では、Oracle RAC One nodeを構成するために、Oracle Linuxを導入し、Oracle Grid Infrastructureインストールの下準備を行いました。今回は別Oracleノードと、共有ディスクの構成を行います。
※特に記載がない限り、本記事でのOracle Linuxでの各種コマンドはrootユーザで実行しています。
ーーーーーーーーーーーーーーーーーーーーーーーーーー
▽Oracle RAC One node構成関連ブログ
ステップ1:Oracle Linux環境の導入
ステップ2:Oracle Grid Infrastructureインストールの準備
ステップ3:別Oracleノードの構成と共有ディスクの設定 ←今回の記事
ステップ4:Oracle Grid Infrastructureの導入
ーーーーーーーーーーーーーーーーーーーーーーーーーー

目次
仮想マシンのクローンを使用した別Oracleノードの作成
今まで構成したOra01仮想マシンのクローンを作成することで、Ora02仮想マシンを構成します。仮想マシンのクローンはvSphereの機能で簡単に作成することが可能です。
手順としては、vSphere Client画面から、Ora01仮想マシンを右クリック > クローン作成 > 仮想マシンにクローン作成 を選択します。

仮想マシンのクローン作成ウィザードで、仮想マシン名を「ora02」とし、構成先とする任意のESXiホストやデータストアを指定します。(今回は「ora01」と同一のESXiホスト、データストアを指定しています。) その他の設定はデフォルトのままウィザードを進め、クローンを作成します。

クローンタスクが完了し、「ora02」仮想マシンが作成されました。

ホスト名とネットワークの指定
各Oracleノードのホスト名とネットワークを指定します。まずは「Ora01」マシンから設定します。ホスト名に関しては下記「hostnamectl」コマンドで設定します。
hostnamectl set-hostname 【ホスト名】

ネットワークに関しては、Oracle LinuxのGUI画面の設定 > ネットワークより設定します。今回の環境ではOra01に対して、100のセグメント「192.168.100.131」を、111のセグメント「192.168.111.31」のIPアドレスをそれぞれ設定しました。

「Ora02」マシンに関しても同様の手順で、ホスト名とネットワークを設定します。今回の環境ではOra02に対して、100のセグメント「192.168.100.132」を、111のセグメント「192.168.111.32」のIPアドレスをそれぞれ設定しました。

共有ディスクの設定(マルチライター)
各Oracleノードから参照可能な共有ディスク領域を作成します。今回はvSphereのマルチライター機能を使用して、共有ディスクを構成してみます。
初めに、Ora01仮想マシンに対して、設定の編集画面から、新規仮想ディスクを下記設定で追加します。
ディスクプロビジョニング:シックプロビジョニング(Eager Zeroed)
共有:マルチライター
ディスクモード:独立型:通常

同設定で、ディスク容量「5GB」、「30GB」、「20GB」の3つの仮想ディスクを作成します。

作成完了後は、Ora02仮想マシンの設定の編集画面から、「既存」ハードディスクの追加画面を開き、先ほどOra01仮想マシンに対して作成した3つの各仮想ハードディスク(.vmdkファイル)を指定します。

Ora02仮想マシンに追加した各仮想ディスク設定を、下記内容に変更します。
共有:マルチライター
ディスクモード:独立型:通常

これにより、Ora01とOra02に追加した各仮想ディスクが共有ディスク領域として使用可能となります。
共有ディスク領域のパーティション作成
構成した各共有ディスク領域に対して、パーティションを作成します。パーティション作成作業は、Ora01マシンでのみ実施します。
まずは、下記「fdisk -l」コマンドで共有ディスクのデバイス情報を確認します。今回はそれぞれ「/dev/sdb」「/dev/sdc」「/dev/sdd」となっていました。
fdisk -l

それぞれのデバイスにパーティションを作成します。パーティション作成は下記「fdisk 【デバイス名】」コマンドで実施します。実施後は「n」コマンドを押下、デフォルト設定のままEnterを押していき、パーティションを新規作成後、「w」コマンドで終了します。
fdisk 【デバイス名】

これを「/dev/sdb」「/dev/sdc」「/dev/sdd」のすべてのデバイスに対して実行します。再度「fdisk -l」コマンドを実行すると、各デバイスに「/dev/sdb1」「/dev/sdc1」「/dev/sdd1」パーティションが作成されていることを確認できます。

ASM共有ディスクの設定
Oracle ASMLIBを使用し、Orace ASMを構成します。まずは、Ora01マシンで下記「oracleasm configure -i」コマンドを実行し、ASMLIBの構成を行います。設定パラメータに関しては下記です。
Default user to own the driver interface:grid
Default group to own the driver interface:asmadmin
Start Oracle ASM library driver on boot:y
Scan for Oracle ASM disks on boot:y
oracleasm configure -i

Ora02マシンにおいても同コマンド、同パラメータ設定で、ASMLIBを構成します。

双方のOraマシンの再起動を実行後、双方のOraマシンで「oracleasm status」コマンドを実行し、ステータスが「yes」となっていることを確認します。
oracleasm status

次にOra01仮想マシンにおいて、ASM共有ディスクを作成します。ASMディスクは下記「oracleasm createdisk 【ラベル名】 【パーティション】」コマンドより作成できます。今回は各ディスクを下記のように構成しました。
・/dev/sdb1(容量5GB):クラスタデータ共有領域、ラベル名OCR
・/dev/sdc1(容量30GB):Oracleデータ領域、ラベル名DATA
・/dev/sdd1(容量20GB):Oracleリカバリ領域、ラベル名RECO
oracleasm createdisk OCR /dev/sdb1
oracleasm createdisk DATA /dev/sdc1
oracleasm createdisk RECO /dev/sdd1

ASMディスク作成後は、双方のOraマシンで「oracleasm scandisks」コマンド実施後、「oracleasm listdisks」コマンドを実行し、設定したラベル名でASMディスク情報が出力することを確認します。
oracleasm scandisks
oracleasm listdisks

最後に共有ディスク領域に対してのパーミッションを設定します。双方のOraマシンで下記viコマンドから、UDEVルールファイルを作成します。
vi /etc/udev/rules.d/99-oracle.rules
KERNEL=="sdb1", ACTION=="add|change",OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sdc1", ACTION=="add|change",OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sdd1", ACTION=="add|change",OWNER="grid", GROUP="asmadmin", MODE="0660"

双方のOraマシンの再起動を実行後、「ls -la /dev | grep asm」コマンドよりgridユーザやasmadminグループに対してパーミッションが設定されていることを確認します。
ls -la /dev | grep asm

これで別Oracleノードと共有領域の構成が完了しました。
次回のブログでは、いよいよOracle Grid Infrastructureのインストールを行っていきます。
参考ページ:https://docs.oracle.com/en/operating-systems/oracle-linux/7/install/#Oracle-Linux-7
関連したトピックス
- Oracle RAC One Node環境を構成してみました ステップ4 Oracle Grid Infrastructureの導入
- Oracle RAC One Node環境を構成してみました ステップ1 Oracle Linux環境の導入
- Oracle RAC One Node環境を構成してみました ステップ2 Oracle Grid Infrastructureインストールの準備
- ODBC(オープン・データベース・コネクティビティ)
- Oracle View(ビュー)のパフォーマンスを高速化する – Database Performance Analyzer (DPA)によるチューニング
- 接続ドライバについて【リアルタイムレプリケーションツールDBMoto】
- Teradataを構築してDBMotoでOracle等からTeradataへのリアルタイム・レプリケーション
- Oracle RAC パフォーマンス・チューニング
- DBMotoが使うスレッド数の算出方法【リアルタイムレプリケーションツールDBMoto】
- SQL Server for Linuxがすぐそこに! – WindowsデータベースがHA機能を追加