技術文書/Linux/CentOS5でrawデバイスを使う
Last-modified: Sat, 29 Jan 2011 15:27:48 JST (4215d)
CentOS 4 と 5 では、raw デバイスの使い方が異なります。
CentOS 4 まで 

/etc/sysconfig/rawdevices にマッピングを書いていました。
/dev/raw/raw1 /dev/sda1 /dev/raw/raw2 8 5
CentOS 5 では 

Red Hat のマニュアルである
Red Hat Enterprise Linux 5 ドキュメント
のリリースノートに詳しく書いてあります。
/etc/udev/rules.d/60-raw.rules に追加していきます。 何も定義されていないときはこのようになっています。
[root@localhost ~]# cat /etc/udev/rules.d/60-raw.rules # This file and interface are deprecated. # Applications needing raw device access should open regular # block devices with O_DIRECT. # # Enter raw device bindings here. # # An example would be: # ACTION=="add", KERNEL=="sda", RUN+="/bin/raw /dev/raw/raw1 %N" # to bind /dev/raw/raw1 to /dev/sda, or # ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="1", RUN+="/bin/raw /dev/raw/raw2 %M %m" # to bind /dev/raw/raw2 to the device with major 8, minor 1.
あまり major/minor で指定することもないと思うので、 上の例を使うのが簡単そうです。 /dev/sd[bcde]1 → /dev/raw/raw[1234] にするにはこのように書きます。
ACTION=="add", KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N" ACTION=="add", KERNEL=="sdc1", RUN+="/bin/raw /dev/raw/raw2 %N" ACTION=="add", KERNEL=="sdd1", RUN+="/bin/raw /dev/raw/raw3 %N" ACTION=="add", KERNEL=="sde1", RUN+="/bin/raw /dev/raw/raw4 %N"
さらに permission の設定が必要ならば、 この後に実行される rule ファイルを書きます。
上のファイルが 60- なので、それより大きな番号で 例えば /etc/udev/rules.d/61-raw-permission.rules に 次のように書きます。
KERNEL=="raw1", MODE="0640", OWNER="root", GROUP="oinstall" KERNEL=="raw2", MODE="0640", OWNER="oracle", GROUP="oinstall" KERNEL=="raw3", MODE="0660", OWNER="oracle", GROUP="dba" KERNEL=="raw4", MODE="0660", OWNER="oracle", GROUP="dba"