RHEL 6.7+Oracle 11gR2 RACのテスト環境を構築しよう。④2号機側と共有ディスクの設定

ドーモ、読者=サン。さくらい(@sakutomo0615)です。

道のりはまだまだ長いです。まぁ、これだけ手間がかかると構築作業費用が高くなってしまうのもしょうがないかな?って気もしますね。

たまーに『40万とかでOracle RAC構築して、パフォーマンスもチューニングして下さい』って話が来ますが、どうか他の会社にお願いして下さい。そして、引き受けてくれる会社があったら私に教えて下さい。私も依頼しますんで(笑)

まぁ、そのくらい大変なんですよね。慣れもあるんですが、慣れがあってもメンドクサイものはメンドクサイのです。

では続きに入ります。

  1. RHEL 6.7+Oracle 11gR2 RACのテスト環境を構築しよう。①事前準備編
  2. RHEL 6.7+Oracle 11gR2 RACのテスト環境を構築しよう。②OSインストール編
  3. RHEL 6.7+Oracle 11gR2 RACのテスト環境を構築しよう。③クラスタ用の設定
  4. RHEL 6.7+Oracle 11gR2 RACのテスト環境を構築しよう。④2号機側と共有ディスクの設定
  5. RHEL 6.7+Oracle 11gR2 RACのテスト環境を構築しよう。⑤Oracle Gridのインストール
  6. RHEL 6.7+Oracle 11gR2 RACのテスト環境を構築しよう。⑥Oracle Databaseのインストールと作成

 

1号機をクローンして、2号機を構築する

ある程度の共通の仕込みは出来ているので、1号機をクローンして2号機を作ります。

clone01

Virtual Boxを開き、停止した1号機を右クリックしてクローンを開きます。

 

clone02

新しいマシン名:rac11g2、MACアドレスまでコピーされては困るので、『全てのネットワークカードのMACアドレスを再初期化』にチェックを入れて『次へ』

 

clone03

クローンのタイプは『すべてをクローン』を選び、クローン開始。

 

clone04

2号機が出来上がります。しかし、このままだと問題があるんです!

1号機側に作成しておいた、『共有ディスクもクローンされてしまっている!』んですね。

clone04_1

なので、2号機からクローンされてしまった共有ディスクを削除して、1号機側で作成した共有ディスクを割り当てます。

 

clone04_2

2号機を選んで右クリック→設定を開きます。

 

clone04_3

ストレージを開き、ディスク2~3の割り当てを除去します。紛らわしいので、ついでに仮想ディスクファイルも消してしまいましょう。

ファイルのパスは『場所』にフルパスが書いてあります。

 

共有ディスクの割り当て

clone04_4

コントローラーSATAの+ボタンをクリックして、ディスクを追加します。

 

clone04_5

ディスクは既に1号機で作ってあるので、『既存のディスクを選択』

 

clone04_6

1号機で作成した共有ディスクファイル(ここでは2つ)を全て追加します。

 

clone04_7

追加する時は1号機と追加順序を一致させること!(各ディスクのSATAポート番号を一致させます。)

ここを間違えると、1号機の/dev/sdbが2号機の/dev/sdcとして認識されたりして、非常にメンドクサイ事になります。

2号機側のNICの設定

クローン直後は2号機に新しいMACアドレスが付与されるので、NICが4枚になってしまいます。

1号機・・・eth0(public)、eth1(private)

2号機・・・eth3(public)、eth4(private)

こんな状況ですね。これは実にブサイクと言うか、よろしくないので修正します。

(oracle databaseをインストールしてる時にPRC-1302に襲われる温床にもなりかねない)

udev01

root#vi /etc/udev/rules.d/70-persistent-net.rules

udev02

なので、eth0とeth1のMACアドレスを2号機の正しいMACアドレスに書き換えます。書き換えたら、一度再起動しておきましょう。

 

2号機側の固有パラメーターの設定

ホスト名・IPアドレス等の固有パラメーターの設定を修正します。

それでは2号機を起動しましょう。

clone05

まずはサービス用NICのIPアドレスを修正します。

 

clone06

次に内部通信用NICのアドレスを修正します。

 

clone07

ホスト名も直しましょう。(/etc/sysconfig/network)

 

clone08

2号機のホスト名に直します。

 

clone09

割り当てた共有ディスクが見えるかも確認します。

ASMディスクの初期化

作成した共有ディスクをOracle RAC上で使用するためにASMディスクに変換します。今回作成するディスクは以下の通りです。

デバイス名サイズASMディスク名用途
/dev/sdb110GBDATA01oracleデータ用1
/dev/sdc110GBDATA02oracleデータ用2

 

※今回は仮想サーバーなので省略してますが、物理サーバーでファイバーチャネルやiSCSIでマルチパス構成にする場合は、この作業の前にDevice Mapperの設定を終わらせておく事。

共有ディスクのパーティション作成(1号機側)

最初のディスク変換は1号機で行いますので、1号機にログインします。

oracleasm03

まだ全然パーティションを作っていないので、パーティションを作ります。

fdisk /dev/sdb1

↑の画像のように、1ディスク1パーティションで作成します。(sdb~sdfまで全部ね)

oracleasmの設定(1号機側)

oracleasm01

oracleasmの初期設定を行います。

root#oracleasm configure -i

 

oracleasm02

# oracleasm configure -i
Configuring the Oracle ASM library driver.

This will configure the on-boot properties of the Oracle ASM library
driver. The following questions will determine whether the driver is
loaded on boot and what permissions it will have. The current values
will be shown in brackets (‘[]’). Hitting <ENTER> without typing an
answer will keep that current value. Ctrl-C will abort.

Default user to own the driver interface []: grid
Default group to own the driver interface []: asmadmin
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration: done

このまんま初期設定をして下さい。

 

次にoracleasmを初期化します。

[root@rac11g1 ~]# oracleasm init
Creating /dev/oracleasm mount point: /dev/oracleasm
Loading module “oracleasm”: oracleasm
Configuring “oracleasm” to use device physical block size
Mounting ASMlib driver filesystem: /dev/oracleasm

ASMへのディスク登録(1号機側)

次に作成したディスクをASMに登録します。

oracleasm04

root#oracleasm create DATA01 /dev/sdb1

root#oracleasm create DATA02 /dev/sdc1

 

これを全てのディスクで実行します。(全部で2つ)

 

oracleasm05

登録できたか確認してみます。

root#oracleasm listdisks

1号機側での登録作業はこれで完了です。

oracleasmの設定(2号機側)

2号機でもoracleasmの初期設定を行います。

root#oracleasm configure -i

oracleasm06

 

[root@rac11g2 ~]# oracleasm configure -i
Configuring the Oracle ASM library driver.

This will configure the on-boot properties of the Oracle ASM library
driver. The following questions will determine whether the driver is
loaded on boot and what permissions it will have. The current values
will be shown in brackets (‘[]’). Hitting <ENTER> without typing an
answer will keep that current value. Ctrl-C will abort.

Default user to own the driver interface []: grid
Default group to own the driver interface []: asmadmin
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration: done

 

次にoracleasmを初期化します。

[root@rac11g2 ~]# oracleasm init
Creating /dev/oracleasm mount point: /dev/oracleasm
Loading module “oracleasm”: oracleasm
Configuring “oracleasm” to use device physical block size
Mounting ASMlib driver filesystem: /dev/oracleasm

ASMディスクの検出(2号機側)

oracleasm07

画像がちょっと違います。DATA01とDATA02が出るはず

[root@rac11g2 ~]# oracleasm scandisks

1号機側で作成したASMディスクが検出できればOKです。

次回でいよいよGrid Infrastructureのインストールに入ります。

ABOUTこの記事をかいた人

櫻井智行

ネットワーク・サーバー系のフリーのインフラエンジニア。得意分野はデータベース・ネットワーク・負荷分散あたりです。30歳の頃に独立しましたが、それまでに巻き込まれた様々なデスマーチと火消しの実績からトラブルシュート案件ばかりが依頼される様に・・・。 ビットクリア設立後は趣味の炎上・デスマーチ観察を軸にデスマーチソムリエとして小田原市・東京を中心にグローバルに活動中。