Oracle新人のRACインストール その5
<Oracle新人のRACインストール その5>
ペンネーム:world famous beagle
今週も引き続き、共有ディスクの設定です。
「よし、じゃあ早速共有ディスクの設定をやってみよう。まずは、手順を確認
しよう」
「印旛くん、パーティションの設定だけど、サイズとかは僕が考えておいたか
らとりあえずその通りにやっといてね」
「はい、わかりました」
■パーティションの作成
$ fdisk /dev/sdb
→「RAIDだから、1つのディスクのように見えているんだよね。ここで、パー
ティションを作成して、論理的にディスクの領域を作るんだな。なるほど」
(注:今回は、OCR用、Voting Disk用、ASM用DiskGroup×2の4つの領域が必要。
4つ目以降のパーティションは、拡張領域を指定して、その中を区切る必要が
あるので注意!詳しくは、次回以降説明予定)
■RAWデバイスへのパーティションのバインド
$ vi /etc/sysconfig/rawdevices # raw device bindings /dev/raw/raw1 /dev/sdb1 #OCR /dev/raw/raw2 /dev/sdb2 #Voting Disk /dev/raw/raw3 /dev/sdb3 #ASM Diskgroup1 /dev/raw/raw4 /dev/sdb4 #拡張領域用 /dev/raw/raw5 /dev/sdb5 #ASM Diskgroup2
→「RAWデバイス?バインド? “生のデバイス”ってこと?なんだそれ?
聞いたことない・・・。まだ手順1つしか進んでないのに、もう進めないのか・・・」
「岸田さん、RAWデバイスっていうのは何ですか?」
「RAWって何か知ってるの?」
「”raw fish”のRAWですか?」
「は?・・・・・」
「”raw material”の方ですか?原料みたいな?」
「・・・・・」
あ、岸田さんが怒り始める!!
「すいません。調べます!」
—–RAWデバイスとは—–
RAWデバイスとは、一般的に”ファイルシステムを使わないパーティション”と
定義されています。
ファイルシステムと何が違うかというと、キャッシュを使わない、ファイルシ
ステムの更新情報を管理しない、という2点になります。
この2点によって、通常は更新、追加処理がファイルシステムに比べ高速化さ
れます。
しかし、キャッシュに必要なデータが載っている場合は、当然、常にディスク
I/Oを伴うRAWデバイスの処理の方が遅くなります。
もう1つ違う点は、RAWパーティションは、OS側から認識されないため、ディス
クに紐付ける必要があります。このことをバインドするといいます。
これが、/etc/sysconfig/rawdevices ファイルを設定する理由です。
また、RAWデバイスを機能させるためには、ASYNC I/Oを使う必要があります。
ASYNC I/Oを使うことで、キャッシュを使わないRAWデバイスの処理をより高速化
させることができるようになります。
ASYNC I/Oとは、非同期書き込み機能のことをいいます。
書き込み処理をパラレル実行することで、ディスクへの転送速度を上げること
が出来ます。
物理ディスクへの書き込みは、通常、1つの物理ディスクへの書き込みが終了し
てから、次のディスクへの書き込みがなされます。
つまり、ASYNC I/Oを活用しても、ディスクが1本しかないような状況では、処
理がキューイングされるだけで、転送速度は上がりません。
「なるほど、いくら、RAWデバイスが更新情報を管理しなくていいといっても、
キャッシュにデータが載っていたら、当然ファイルシステムの方が高速に処理
できるもんね」
「印旛くん、RAWデバイスについて調べてるのはいいけど、今回はASMを使うの
はわかってるよね?」
「ASMとRAWデバイスって何か関係あるんですか?」
「今回は、OracleのStandard Editionをインストールするから、RAWデバイスは
使えないはずなんだけど」」
「調べます・・・」
—–RAWデバイスのデメリットとASM—–
RAWデバイスは、ファイルシステムを使わないため、管理が難しいといえます。
また、データベースに格納予定のデータファイル、制御ファイル、REDOファイ
ル、表領域などのパーティションをあらかじめ作成しておく必要があります。
■ASMとは
Automatic Storage Management(自動ストレージ管理)の略。
これは、Oracle10gからの機能でRAWデバイスの管理の難しさを補うために、
Oracleが提供するRAWデバイスの自動管理アプリケーションです。
Oracle Standard Editionを使用する場合の共有記憶域管理はASMのみ使用する
ことが出来ます。
「わかった!ASMとRAWデバイスっていうのは、別物ではなくて、RAWデバイス
を自動で管理してくれるのがASMなんだ」
—–先週からのまとめ—–
共有ディスクの設定について、RAIDやRAWデバイス、ASMなど様々な事柄が出て
きたので、少し整理すると・・・
→ 物理ディスクをRAID構成にする
→ 10本のディスクが、仮想的に1つのディスクとしてOSに認識される
→ 仮想的に1つのディスクにみえているディスクをRAWパーティションで区切る
→ RAWパーティションをASMが自動管理する
というようになります。
おわかり頂けたでしょうか?
では、本筋の共有ディスクの設定に戻って・・・
■RAWデバイスのサービスをスタートする
$ /etc/init.d/rawdevices start
→「これは、OS側のRAWデバイスのサービスを起動するってことだね」
■RAWデバイスへの書き込み確認
$ dd if=/dev/zero of=/dev/sda1 $ dd if=/dev/zero of=/dev/raw/raw1 bs=1024k count=100 100+0 records in 100+0 records out"
→「サービスを開始して、正常に書き込みができることを確認して、と。
わかるわかる」
■サービスの再起動
$ /etc/init.d/rawdevices restart
■RAWデバイスの所有者変更、権限変更
$ chown oracle:oinstall /dev/raw/raw1 $ chown oracle:oinstall /dev/raw/raw2 $ chown oracle:dba /dev/raw/raw3 $ chown oracle:dba /dev/raw/raw5 $ chmod 660 /dev/raw/raw*
→「所有者をOracleに変えないと、RAWデバイスへの書き込みができないもんね」
■RedHat Enterprise Linux4.0 固有のRAWデバイスの構成設定
RedHat Enterprise Linux4.0では、システムを再起動すると、RAWデバイスの
所有権と権限がデフォルトのrootに戻ります。
これでは、システムの再起動をするとASMが起動できなくなりOracleも起動で
きなくなってしまいます。
このため、以下のファイルで、このデフォルトの動作を無効にし、それぞれの
RAWパーティションの所有者、権限情報を入力する必要があります。
$ vi /etc/udev/permissions.d/oracle.permissions #ASM chown oracle:dba /dev/raw/raw3 chown oracle:dba /dev/raw/raw5 #OCR chown oracle:oinstall /dev/raw/raw1 #Voting Disk chown oracle:oinstall /dev/raw/raw2 $ vi /etc/udev/permissions.d/50-udev.permissions rawdevicesの設定をコメントアウトする
「完璧だ!共有ディスクの設定終了!!」
迷走中の印旛くんですが・・・
Kupatea njia ndiko kujyua njia.(道に迷ってこそ、道を知ることができる)