ASMLibに関する検証 その2
<ASMLibに関する検証 その2>
ペンネーム: ソラ
今回も引き続き、ASMLib Kernel Driver(以下、ASMLib)に関する検証を行いま
す。
■前回のおさらい
前回は、マニュアルからASMLibの概要を確認しました。
今回は、前回確認したASMLibのメリットに関する検証を行います。
以下、ASMLibのメリットです。
[メリット]
(1) ASMディスクの管理・検出が簡単になる
(2) I/O処理の効率がよくなる
今回はメリット(1)に関する検証をします。
前回のメルマガより、ASMLibを使用することでASMディスクの管理がRAWデバ
イスで管理するより簡単になることがわかりましたが、構築後の管理性はも
ちろん、ASMを利用する際のOracleのインストール手順も簡単になるのでしょ
うか?
では、早速ASMLibとRAWデバイスを使用した際のインストール手順を比較しま
す。
検証スタート!!
■■■■■概要■■■■■
1.RAWデバイスを使用する場合のインストール手順
2.ASMLibを使用する場合のインストール手順
3.考察
4.結論
■環境
Red Hat Enterprise Linux AS release 4
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0
1.RAWデバイスを使用する場合のインストール手順
まず、RAWデバイスを使用した場合のインストール手順を確認します。
尚、今回はASMLibとRAWデバイスの比較ということで、ディスク・パーティ
ションをASMディスクとして使用する際に必要になる手順のみを記載します。
以下、必要な作業です。
[必要な作業]
1.RAWデバイスファイルの編集
2.RAWデバイスサービスの起動(再起動)
3.RAWデバイスの初期化
4.RAWデバイスのオーナー変更
5.RAWデバイスの権限変更
6.RAWデバイスの権限設定
7.RAWデバイスのパーティション権限設定
8.ASMディスク・グループの作成(ASMインスタンス作成時)
一目見ただけでは、何をどうすればいいのかよくわかりません。
では、順を追って確認します。
[RAWデバイスの場合]
1.RAWデバイスファイルの編集
まず、RAWデバイスとディスク・パーティションのマッピングを行います。
viを使用し、以下のようにファイルを編集することで「/dev/sdb1」を
「/dev/raw/raw1」にマッピングできます。
# vi /etc/sysconfig/rawdevices /dev/raw/raw1 /dev/sdb1 ##編集内容
2.RAWデバイスサービスの起動(再起動)
マッピングファイルを編集したら、次はRAWデバイスを起動します。
# /etc/init.d/rawdevices start
RAWデバイスへのマッピングが正常に行われているか確認します。
major番号, minor番号を確認することで、バインドされているブロックデバ
イスを確認できます。
# raw -qa /dev/raw/raw1: bound to major 8, minor 17
以下のコマンドでmajor番号, minor番号を調べられます。
# ls -l /dev/sdb* brw-r----- 1 root disk 8, 16 Dec 30 13:25 /dev/sdb brw-r----- 1 root disk 8, 17 Dec 30 13:29 /dev/sdb1
「/dev/sdb1」はmajor番号8, minor番号17なので、無事にマッピングは成功
しています。
3.RAWデバイスの初期化
RAWデバイスを使用できるように、ddコマンドで100MB分(1024KB * 100)の領
域に0を書き込んで初期化します。
# dd if=/dev/zero of=/dev/raw/raw1 bs=1024k count=100
4.RAWデバイスのオーナー変更
ユーザを「oracle」に、グループを「dba」に変更します。
# chown oracle:dba /dev/raw/raw1
5.RAWデバイスの権限変更
所有者を変更しても読み込みや書き込みの権限がなければ、Oracleからの読
み込みや書き込みも行えないため、権限を変更します。
また、セキュリティの観点からoracleユーザ以外からは利用できないように
します。
# chmod 600 /dev/raw/raw1
6.RAWデバイスの権限設定
上記で行ったRAWデバイスの設定が再起動後も有効になるよう、viで以下の
ようにファイルを編集します。
# vi /etc/udev/permissions.d/oracle.permissions raw/raw1:oracle:dba:0600 ##編集内容
7.RAWデバイスのパーティション権限設定
以下のようにファイルをviで編集し、RAWデバイスの設定
(raw/*:root:disk:0660)をコメントアウトします。
# vi /etc/udev/permissions.d/50-udev.permissions #raw/*:root:disk:0660 ##編集内容
8.ASMディスク・グループの作成(ASMインスタンス作成時)
ASMインスタンス作成時にASMディスク・グループを作成します。
以上でRAWデバイスを使用する場合のインストール手順は終了です。
2.ASMLibを使用する場合のインストール手順
次にASMLibを使用する場合はどのような手順が必要になるか確認します。
以下、必要な作業です。
[必要な作業]
1.パッケージのインストール
2.ASMLibの構成
3.ASMディスク・パーティションのマーキング
4.ASMディスク・グループの作成(ASMインスタンス作成時)
必要な作業数を見るとRAWデバイスの設定より少なくなっているようですが、
実際はどうでしょうか?
それでは、手順を見ていきます。
[ASMLibの場合]
1.パッケージのインストール
1-1.パッケージのダウンロード
まず、ASMLibの動作に必要なパッケージをOracleのHPからインストール環境
に合わせてダウンロードします。
必要なパッケージは以下3点です。
・ASMLib Support Tools
・ASMLib Kernel Driver
・ASMLib Library
以下、今回の検証で実際にインストールするパッケージです。
oracleasm-support-2.1.2-1.el4.i386.rpm
oracleasm-2.6.9-55.ELsmp-2.0.3-1.i686.rpm
oracleasmlib-2.0.2-1.i386.rpm
1-2.パッケージのインストール
ダウンロードしたファイルを以下のコマンドでインストールします。
# rpm -Uvh oracleasm-support-2.1.2-1.el4.i386.rpm > oracleasm-2.6.9-55.ELsmp-2.0.3-1.i686.rpm > oracleasmlib-2.0.2-1.i386.rpm Preparing... ################################### [100%] 1:oracleasm-support ################################### [ 33%] 2:oracleasm-2.6.9-55.ELsm################################### [ 67%] 3:oracleasmlib ################################### [100%]
rpmコマンドが正常に終了したら、確認を行います。
1-3.パッケージのインストール確認
以下のコマンドでパッケージのインストールが正常に行われているか確認
します。
# rpm -qa | grep oracleasm oracleasm-support-2.1.2-1.el4 oracleasm-2.6.9-55.ELsmp-2.0.3-1 oracleasmlib-2.0.2-1
2.ASMLibの構成
パッケージをインストールしたら、次はASMLibの構成です。
ASMLibの構成は以下のスクリプトで実行できます。
# /etc/init.d/oracleasm configure
スクリプト実行後、聞かれた内容に従って入力を行います。
以下、出力メッセージと入力内容です。
2-1.ドライバーインターフェイスを所有するユーザを設定
ここではoracleユーザを指定します。
Default user to own the driver interface []:oracle
2-2.ドライバーインターフェイスを所有するグループを設定
Default group to own the driver interface []:dba
2-3.OS起動時の自動起動、ASMディスクの権限の設定
Start Oracle ASM library driver on boot (y/n) []:y Fix permissions of Oracle ASM disks on boot (y/n) []:y
2-4.その他の処理が正常に実行されていることを確認
Writing Oracle ASM library driver configuration: done Initializing the Oracle ASMLib driver: [ OK ] Scanning the system for Oracle ASMLib disks: [ OK ]
尚、上記部分で行われている処理は以下となります。
・/etc/sysconfig/oracleasm構成ファイルの作成
・/dev/oracleasmマウント・ポイントの作成
・oracleasmカーネル・モジュールのロード
・ASMLibドライバのファイル・システムのマウント
3.ASMディスク・パーティションのマーキング
3-1.ASMディスク・パーティションのマーキングを実行
以下のコマンドを実行することで、OracleがディスクをASM用のディスク
として使用できます。
/etc/init.d/oracleasm createdisk
以下、コマンドの実行例です。
# /etc/init.d/oracleasm createdisk DATA /dev/sdb1 Marking disk "DATA" as an ASM disk: [ OK ]
コマンドが正常に終了したら、インストール後の確認をします。
3-2.現在、システムにロードされているモジュールを確認
ドライバがシステムにロードされているか確認します。
# lsmod | grep oracle oracleasm 42032 1
3-3.ASMLibのステータスを確認
以下のコマンドでASMLibが正常に動作しているか確認します。
# /etc/init.d/oracleasm status Checking if ASM is loaded: yes Checking if /dev/oracleasm is mounted: yes
statusは両方ともyesなので、正常に動作しています。
4.ASMディスク・グループの作成(ASMインスタンス作成時)
RAWデバイスの時と同様にASMインスタンス作成時にASMディスク・グループ
を作成します。
以上でASMLibを使用した場合のインストール手順は終了です。
3.考察
それでは、以下の3点について考察します。
1.手順数
2.正確性
3.管理性
1.手順数
単純に手順数だけを比べると、ASMLibのほうがやや少ない手順になります。
しかし、実際に作業をしてみるとそれほど違いはないのでは?と疑問に思っ
てしまうくらい微妙な差でした。
では、設定するディスク・パーティションが複数ある場合はどうでしょう?
複数ある場合、RAWデバイスの設定では「手順1~8」の手順がディスク・パ
ーティションの数だけ必要になります。
ASMLibの場合は、ディスク・パーティションの数だけ必要になるのは「手
順3,4」と非常に少ない手順で設定が済みます。
つまり、設定するディスク・パーティション数が増えれば増えるほどASMLib
のほうが短時間で設定できます。
2.正確性
次に正確性についてです。
上記のように、設定するディスク・パーティション数が増えると必要な手
順が多くなってしまいます。
必要な手順が増えると、手順の抜けが発生する可能性も高くなります。
ASMLibの場合は権限の変更からサーバ再起動時の設定までを一つのスクリ
プトで行っている分、手順の抜けが発生する可能性を低くできます。
3.管理性
最後に管理性についてです。
ASMディスク・グループの設定(RAWデバイス:手順8、ASMLib:手順)でその効
果を感じました。
RAWデバイスの場合、ASMディスク・グループ数、登録ディスク数が多い環
境では登録ディスクが「/dev/raw/raw1」、「/dev/raw/raw2」のように表
示されます。
そのため、DBCAを操作する作業者から見るとどのRAWパーティションをどの
ASMディスク・グループと関連付ければいいのか非常にわかりづらくなりま
す。
ASMLibの場合はディスク名を付けられるため、名前を工夫することで、
DBCAを操作する作業者にとっても非常にわかりやすくできます。
つまり、ASMLibを使用しているほうが、ディスク追加時の管理性も向上する
ということです。
4.結論
設定するディスク・パーティションが一つの場合、RAWデバイスとASMLibを使
用した場合の手順数、正確性、管理性に大差はありません。
しかし、設定するディスク・パーティションが多い場合はASMLibのほうが手順
数、正確性、管理性がよくなります。
ASMLibはディスク・パーティション数が多い環境でこそ、より効果を発揮しま
す。これは、運用中の管理性にも同じことが言えるかもしれません。
ASMLibのメリットが少しわかり始めたところで、今回はここまで!!
次回は、ASMLibを利用した際の管理性のメリットについて検証します。
ベッカム、ACミランへ移籍後初ゴール!! 恵比寿より