linux平台下,預設沒有提供對磁碟裝置的字元訪問方式,必須通過配置rawdevices服務,把塊裝置繫結到裸裝置上才行,具體方法有3種。這3種方法建立裸裝置的方式完全一樣,區別在於對oracle使用者許可權處理方法的不同。rhel5推薦使用第3種方法
第一種方法:
# vim /etc/sysconfig/rawdevices
/dev/raw/raw1 /dev/sdb1
/dev/raw/raw2 /dev/sdb2
#/etc/init.d/rawsdevices start
#chkconfig --level 235 rawdevices on
成功開啟裸裝置的標誌為
# /etc/init.d/rawdevices status
/dev/raw/raw1: bound to major 8, minor 17
/dev/raw/raw2: bound to major 8, minor 18
為裸裝置賦予許可權
# chown oracle:oinstall /dev/raw/raw1 /dev/raw/raw2
# ll /dev/raw/raw*
crw-rw---- 1 oracle oinstall 162, 1 jan 22 14:09 /dev/raw/raw1
crw-rw---- 1 oracle oinstall 162, 2 jan 22 14:12 /dev/raw/raw2
配置成功。
這 種方法的問題在於,雖然建立了裸裝置,但是這些裸裝置是在rawdevices服務啟動時建立的,而rawdevices是以root使用者身份執行的。因 此這些裸裝置預設的owner是root:root。所以每次服務重啟後都要重新修改這些裝置的owner為oracle:oinstall.
第二種方法:
為了解決上述的問題,可以採用第二種方法。即用mknod提前建立出乙個字元方式訪問的檔案,然後在檔案繫結到塊裝置上,並把該檔案的owner設定為oracle,因為這個檔案是手工建立的,所以這個檔案的owner不會被修改
# mknod /oradata c 162 1
# chown oracle:oinstall /oradata
# vim /etc/sysconfig/rawdevices
/oradata /dev/sdd2
#/etc/init.d/rawsdevices start
#chkconfig --level 235 rawdevices on
第三種方法:
使用udev管理裝置的許可權
#vim /etc/udev/rules.d/50-udev.rules
kernel=="raw[0-9]*",mode="0660",group="oinstall",owner="oracle",name="raw/%k"
# vim /etc/sysconfig/rawdevices
/dev/raw/raw1 /dev/sdb1
/dev/raw/raw2 /dev/sdb2
#/etc/init.d/rawsdevices start
#chkconfig --level 235 rawdevices on
Linux裸裝置相關
1 什麼裸裝置?字元裝置?塊裝置?裸裝置 也叫裸分割槽 原始分割槽 是一種沒有經過格式化,不被unix linux通過檔案系統來讀取的特殊字元裝置。裸裝置可以繫結乙個分割槽,也可以繫結乙個磁碟。字元裝置 對字元裝置的讀寫不需要通過os的buffer。它不可被檔案系統mount。塊裝置 對塊裝置的讀寫...
Linux裸裝置相關
文章分類 作業系統 1 什麼裸裝置?字元裝置?塊裝置?裸裝置 也叫裸分割槽 原始分割槽 是一種沒有經過格式化,不被unix linux通過檔案系統來讀取的特殊字元裝置。裸裝置可以繫結乙個分割槽,也可以繫結乙個磁碟。字元裝置 對字元裝置的讀寫不需要通過os的buffer。它不可被檔案系統mount。塊...
Linux裸裝置總結
1 什麼裸裝置?字元裝置?塊裝置?裸裝置 也叫裸分割槽 原始分割槽 是一種沒有經過格式化,不被unix linux通過檔案系統來讀取的特殊字元裝置。裸裝置可以繫結乙個分割槽,也可以繫結乙個磁碟。字元裝置 對字元裝置的讀寫不需要通過os的buffer。它不可被檔案系統mount。塊裝置 對塊裝置的讀寫...