Linux下的裸裝置研究(原創)

2021-09-23 19:13:21 字數 1609 閱讀 9986

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。塊裝置 對塊裝置的讀寫...