Oracle中心にIT全般の技術情報を気が向くままに書いています。他にLinux、仮想化技術(VMWare)やトラブルに役立つ情報などがあります。

スポンサーサイトRAC構築 11gR2 on Oracle Linux5.8[VMWare] (6)ASM用共有ディスク追加


上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
RAC構築 11gR2 on Oracle Linux5.8[VMWare]
(1)全体設計
(2)OSインストール
(3)VMWare Toolsインストール(任意)
(4)OS設定
(5)NTP環境構築
(6)ASM用共有ディスク追加
(7)ユーザ設定その他
(8)ゲストOS複製(RACノード2作成)
(9)Grid Infrastructureインストール
(10)Oracleソフトウェアインストール
(11)RAC用データベース作成
【参考】このディスクが依存するスナップショットディスクを開くことができません
【参考】Timed out waiting for the CRS stack to start
【参考】ゲストOSが突然フリーズする
【参考】root.shエラー時に再実行する


ASMで使用するディスクについて、VMWareで仮想的にディスクを作成したいと思います。


作成するディスクについて
作成するASM用の共有ディスクは下記の通りです。
ACFS用の領域については、作成しなくても問題ありません。

■ディスク構成
ASMディスクグループASM識別名ディスクデバイス容量[GB]格納データ
ASMDATAasmdata1/dev/sdb110データファイル
制御ファイル
オンラインREDOログファイル
OCR
投票ディスク
ASMACFSasmacfs1/dev/sdc110その他ファイル格納用。
今回はACFS環境の作成まで行いませんが、手順上では将来のために追加しています。

VMWareでのディスク追加
・VMWareで仮想マシン設定画面を開き、追加ボタンをクリックします。


・ハードディスクを選択し、次へボタンをクリックします。


・仮想ディスクの新規作成を選択し、次へボタンをクリックします。


・そのまま次へボタンをクリックします。


・ディスク最大サイズに"10"を指定し、"今すぐ全ディスク容量を割り当てる"にチェックし、次へボタンをクリックします。


・保存するフォルダとファイル名を指定して完了ボタンをクリックします。
 この時に指定するフォルダは現在作成中のゲストOSのフォルダとは異なるフォルダを指定します。
 ※同じフォルダを指定すると、RACノードを増やす際のフォルダコピーが少々面倒になるし、分かりづらくなります。


以上を2回繰り返してディスクを2つ追加し、下記の通り、新規ハードディスクが2つ追加されたことを確認し、OKボタンをクリックします。



VMXファイルへの共有ディスク設定の追加
(1)ゲストOS停止
・"shutdown -h now"コマンドでゲストOSを停止します。

(2)VMXファイルへの共有ディスク設定の追加
ゲストOSがインストールされているホストOS上のフォルダ内にあるvmxファイルへ下記の記述を追記して保存ます。
(今回の例では、"V:\Virtual Machines\11gR2RAC01\11gR2RAC01.vmx")
 ~省略~
scsi0:1.present = "TRUE"
scsi0:1.fileName = "E:\Virtual Machines\ASMDISK\asmdata1.vmdk"
scsi0:2.present = "TRUE"
scsi0:2.fileName = "E:\Virtual Machines\ASMDISK\asmacfs1.vmdk"
scsi0:1.redo = ""
scsi0:2.redo = ""
disk.locking = "false"                    ←追記
diskLib.dataCacheMaxSize = "0"            ←追記
diskLib.dataCacheMaxReadAheadSize = "0"   ←追記
diskLib.dataCacheMinReadAheadSize = "0"   ←追記
diskLib.dataCachePageSize = "4096"        ←追記
diskLib.maxUnsyncedWrites = "0"           ←追記
scsi0:1.shared = "true"                   ←追記
scsi0:1.writeThrough = "TRUE"             ←追記
scsi0:2.shared = "true"                   ←追記
scsi0:2.writeThrough = "TRUE"             ←追記
mainMem.useNamedFile = "FALSE"            ←追記

・disk.lockingは、起動時にディスクをロックしないための設定です。
・dikLib.XXXは、ディスクキャッシュを行わないための設定です。
 VMWare ESXiの場合は設定不要です。
・scsiX:X.XXXは、共有ディスクとして使用するための設定です。
 ASM用に追加したディスクがscsi0:1~scsi0:2であるため、その分だけ定義しています。
・mainMem.useNamedFileは、ゲストOSのメモリ確保をディスク上ではなく実メモリで行うようにします。
 本設定を行わないと、ディスクI/Oが激しすぎてゲストOSが重くなる場合があります。
 VMWare ESXiの場合は設定不要です。



パーティション設定
(1)ディスクの確認
サーバを起動し、fdiskコマンドの実行結果により、"/dev/sdb","/dev/sdc"という名前の2つのディスクが追加されたことを確認します。

[root@11gR2RAC01 ~]# fdisk -l

Disk /dev/sda: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14        2610    20860402+  8e  Linux LVM

Disk /dev/sdb: 10.7 GB, 10737418240 bytes
64 heads, 32 sectors/track, 10240 cylinders
Units = シリンダ数 of 2048 * 512 = 1048576 bytes

ディスク /dev/sdb は正常な領域テーブルを含んでいません

Disk /dev/sdc: 10.7 GB, 10737418240 bytes
64 heads, 32 sectors/track, 10240 cylinders
Units = シリンダ数 of 2048 * 512 = 1048576 bytes

ディスク /dev/sdc は正常な領域テーブルを含んでいません

Disk /dev/dm-0: 19.2 GB, 19226689536 bytes
255 heads, 63 sectors/track, 2337 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

ディスク /dev/dm-0 は正常な領域テーブルを含んでいません

Disk /dev/dm-1: 2113 MB, 2113929216 bytes
255 heads, 63 sectors/track, 257 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

ディスク /dev/dm-1 は正常な領域テーブルを含んでいません


(2) パーティションの作成
下記のようにfdiskコマンドでパーティションを作成します。
(2ディスクなので下記のように2回分実行します。)
[root@11gR2RAC01 ~]# fdisk /dev/sdb
デバイスは正常な DOS 領域テーブルも、Sun, SGI や OSF ディスクラベルも
含んでいません
新たに DOS ディスクラベルを作成します。あなたが書き込みを決定するまで、変更は
メモリ内だけに残します。その後はもちろん以前の内容は修復不可能になります。

このディスクのシリンダ数は 10240 に設定されています。
間違いではないのですが、1024 を超えているため、以下の場合
に問題を生じうる事を確認しましょう:
1) ブート時に実行するソフトウェア (例. バージョンが古い LILO)
2) 別の OS のブートやパーティション作成ソフト
   (例. DOS FDISK, OS/2 FDISK)
警告: 領域テーブル 4 の不正なフラグ 0x0000 は w(書き込み)によって
正常になります

コマンド (m でヘルプ): n
コマンドアクション
   e   拡張
   p   基本領域 (1-4)
p
領域番号 (1-4): 1
最初 シリンダ (1-10240, default 1):
Using default value 1
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-10240, default 10240):
Using default value 10240

コマンド (m でヘルプ): w
領域テーブルは交換されました!

ioctl() を呼び出して領域テーブルを再読込みします。
ディスクを同期させます。
[root@11gR2RAC01 ~]# fdisk /dev/sdc
デバイスは正常な DOS 領域テーブルも、Sun, SGI や OSF ディスクラベルも
含んでいません
新たに DOS ディスクラベルを作成します。あなたが書き込みを決定するまで、変更は
メモリ内だけに残します。その後はもちろん以前の内容は修復不可能になります。

このディスクのシリンダ数は 10240 に設定されています。
間違いではないのですが、1024 を超えているため、以下の場合
に問題を生じうる事を確認しましょう:
1) ブート時に実行するソフトウェア (例. バージョンが古い LILO)
2) 別の OS のブートやパーティション作成ソフト
   (例. DOS FDISK, OS/2 FDISK)
警告: 領域テーブル 4 の不正なフラグ 0x0000 は w(書き込み)によって
正常になります

コマンド (m でヘルプ): n
コマンドアクション
   e   拡張
   p   基本領域 (1-4)
p
領域番号 (1-4): 1
最初 シリンダ (1-10240, default 1):
Using default value 1
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-10240, default 10240):
Using default value 10240

コマンド (m でヘルプ): w
領域テーブルは交換されました!

ioctl() を呼び出して領域テーブルを再読込みします。
ディスクを同期させます。

(3) パーティション作成結果の確認
fdiskコマンドの実行結果により、パーティションが作成されたことを確認します。
[root@11gR2RAC01 ~]# fdisk -l

Disk /dev/sda: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14        2610    20860402+  8e  Linux LVM

Disk /dev/sdb: 10.7 GB, 10737418240 bytes
64 heads, 32 sectors/track, 10240 cylinders
Units = シリンダ数 of 2048 * 512 = 1048576 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/sdb1               1       10240    10485744   83  Linux

Disk /dev/sdc: 10.7 GB, 10737418240 bytes
64 heads, 32 sectors/track, 10240 cylinders
Units = シリンダ数 of 2048 * 512 = 1048576 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/sdc1               1       10240    10485744   83  Linux

Disk /dev/dm-0: 19.2 GB, 19226689536 bytes
255 heads, 63 sectors/track, 2337 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

ディスク /dev/dm-0 は正常な領域テーブルを含んでいません

Disk /dev/dm-1: 2113 MB, 2113929216 bytes
255 heads, 63 sectors/track, 257 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

ディスク /dev/dm-1 は正常な領域テーブルを含んでいません


ASMLibによるASMディスク設定
(1) ASMLibインストール
ASMLIBについて、必須ではないですが便利ツールということで宣伝されています。ASMLibがデバイスマッピングをしてくれてディスク管理が楽になるとのことなのでインストールしたいと思います。
インストーラはhttp://www.oracle.com/technetwork/server-storage/linux/downloads/index-088143.htmlからダウンロードします。

Oracle Linuxの場合は、ULNから最新モジュールを入手すべきですが、ULNに入っていないので、今回は上記サイトで「Red Hat Enterprise Linux 5 AS」を選択してoracleasmlibをダウンロード・導入してみたいと思います。

必要なファイルは下記です。
 ・oracleasmlib-2.0: Oracle ASMライブラリ
 ・oracleasm-support-2.0: ASMLibの管理に必要なユーティリティ
 ・oracleasm: Oracle ASMライブラリ用のカーネル・モジュール

下記のようにインストールを行います。
[root@11gR2RAC01 oracleasm]# rpm -ivh oracleasmlib-2.0.4-1.el5.x86_64.rpm oracleasm-support-2.1.7-1.el5.x86_64.rpm oracleasm-2.6.18-308.el5-2.0.5-1.el5.x86_64.rpm
警告: oracleasmlib-2.0.4-1.el5.x86_64.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 1e5e0159
準備中...                ########################################### [100%]
   1:oracleasm-support      ########################################### [ 33%]
   2:oracleasm-2.6.18-308.el########################################### [ 67%]
   3:oracleasmlib           ########################################### [100%]

(2) ASM用ユーザ情報の確認
gridユーザおよびasmadminグループのIDを確認します。
 ・gridユーザ:1102
 ・asmadminグループ:1003
[root@11gR2RAC01 ~]# id grid
uid=1102(grid) gid=1001(oinstall) 所属グループ=1001(oinstall),1003(asmadmin),1004(asmdba)

(3) ASMLib構成設定
"oracleasm configure -i"コマンドを実行し、プロンプトで情報を問われるので下記のように入力してEnterキーを押します。
[root@11gR2RAC01 ~]# 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  without typing an
answer will keep that current value.  Ctrl-C will abort.

Default user to own the driver interface []: 1102  <- gridユーザのID
Default group to own the driver interface []: 1003  <- asmadminグループのID
Start Oracle ASM library driver on boot (y/n) [n]: y  <- yを入力
Scan for Oracle ASM disks on boot (y/n) [y]: y  <- yを入力
Writing Oracle ASM library driver configuration: done

(4) ASMLibによるディスク設定
VMWareにより追加したディスクパーティションをOracle Universal Installer(OUI)に認識させる為、ASMで利用可能なディスクパーティションを"create disk"コマンドにより指定します。
[root@11gR2RAC01 ~]# oracleasm createdisk asmdata1 /dev/sdb1
Writing disk header: done
Instantiating disk: done
[root@11gR2RAC01 ~]# oracleasm createdisk asmacfs1 /dev/sdc1
Writing disk header: done
Instantiating disk: done

これでデバイスマッピングが完了ですが,rawデバイスマッピングを手動で行う場合と比べて非常に簡単なことが分かりました。




以上です。




トラックバックURL

この記事にトラックバックする(FC2ブログユーザー)



前ページへ:RAC構築 11gR2 on Oracle Linux5.8[VMWare] (5)NTP環境構築
次ページへ:RAC構築 11gR2 on Oracle Linux5.8[VMWare] (7)ユーザ設定その他

ページのトップへ

必ずお読みください

本ブログ記事をご利用になって生じたいかなる損害についても当方は一切責任を負いません。
ご利用は自己責任でお願いします。(^―^)

広 告





ブログランキング/その他


ビジネスブログ100選

ブログランキング・にほんブログ村へ
blogramで人気ブログを分析




最新トラックバック


RSSリンクの表示

QRコード

QR

アクセスカウンター

ユニーク:
トータル:


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。