linux裸裝置三種對映方式
在Linux平臺oracle rac的組建過程中,如果使用ASM+RAW的儲存方式的話,由於asm不支援塊裝置,支援持字元訪問裝置,所以需要配置將Block Device Drive轉變成Character Device Drive的訪問方式。
但是在Linux平臺中,不像aix和HP-UX中,預設提供了塊裝置對應的字元裝置檔案,需要我們手工的將塊裝置對映為字元裝置。
在此,我們提供三種方式來講塊裝置繫結到裸裝置上,這三種方式建立裸裝置的方式完全一樣,區別在於對oracle使用者的許可權的處理方式不同,在此推薦使用第三種方式來進行塊裝置到字元裝置的繫結
第一種方式:
使用rawdevices服務,進行塊裝置到字元裝置的繫結
# vim /etc/sysconfig/rawdevices
/dev/raw/raw1 /dev/sdb1
/dev/raw/raw2 /dev/sdb2
/dev/raw/raw3 /dev/sdb3
/dev/raw/raw4 /dev/sdb4
# /etc/init.d/rawdevices start
或者 service rawdevices restart
# 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
/dev/raw/raw3: bound to major 8, minor 19
/dev/raw/raw4: bound to major 8, minor 20
為裸裝置賦予oracle使用者的可用許可權:
# chown oracle:oinstall /dev/raw/raw1 /dev/raw/raw2 /dev/raw/raw3 /dev/raw/raw4
# ls -l /dev/raw
crw------- 1 oracle oinstall 162, 1 Nov 4 00:34 /dev/raw/raw1
crw------- 1 oracle oinstall 162, 2 Nov 4 00:33 /dev/raw/raw2
crw------- 1 oracle oinstall 162, 3 Nov 4 00:33 /dev/raw/raw3
crw------- 1 oracle oinstall 162, 4 Nov 4 00:34 /dev/raw/raw4
至此,裸裝置對映成功,但是,這種方式的配置有一個問題:這些裸裝置是在rawdevices服務啟動的時候建立的,而rawdevices是以root使用者的身份執行的,因此這些裸裝置的預設使用者是root:root,所以,每一次服務進行重啟的時候,都需要重新修改這些字元裝置的許可權為oracle:oinsall。
可以在/etc/rc.local中加入對raw裝置的許可權修改語句,以應對重啟系統之後的裸裝置檔案許可權的改變。當重啟服務之後,則需要手工執行chown的命令了
第二種方式:
為了解決上面的情況,在此使用mknod提前建立出一個字元方式訪問的檔案,然後在將檔案繫結到塊裝置上,並把該檔案的owner設定為oracle,由於這些對映的字元裝置檔案是手工建立的,所以這個檔案的owner不會因為服務的重啟而發生改變:
# mknod /dev/raw/raw1 c 162 1
# mknod /dev/raw/raw2 c 162 2
# mknod /dev/raw/raw3 c 162 3
# mknod /dev/raw/raw4 c 162 4
注意此處的162不能改變,這個是raw裝置的主裝置編號,後面的數字是raw裝置的次裝置編號,這個次裝置編號可以依次改變
# ll /dev/raw/*
crw-r--r-- 1 root root 162, 1 Nov 4 01:02 raw1
crw-r--r-- 1 root root 162, 2 Nov 4 01:02 raw2
crw-r--r-- 1 root root 162, 3 Nov 4 01:03 raw3
crw-r--r-- 1 root root 162, 4 Nov 4 01:03 raw4
# chown oracle:oinstall /dev/raw/*
# ll /dev/raw/*
crw-r--r-- 1 oracle oinstall 162, 1 Nov 4 01:02 raw1
crw-r--r-- 1 oracle oinstall 162, 2 Nov 4 01:02 raw2
crw-r--r-- 1 oracle oinstall 162, 3 Nov 4 01:03 raw3
crw-r--r-- 1 oracle oinstall 162, 4 Nov 4 01:03 raw4
# vim /etc/sysconfig/rawdevices
/dev/raw/raw1 /dev/sdb1
/dev/raw/raw2 /dev/sdb2
/dev/raw/raw3 /dev/sdb3
/dev/raw/raw4 /dev/sdb4
# service rawdevices restart
# chkconfig --level 235 rawdevices on
第三種方式:
使用udev管理裝置的許可權
前四步驟和第一種方式一樣(大話oralce rac P140頁)
# vi /etc/udev/rules.d/60-raw.rules
ACTION=="add",KERNEL=="sdb1",RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="17",RUN+="/bin/raw /dev/raw/raw1 %m"
ACTION=="add",KERNEL=="sdb2",RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="18",RUN+="/bin/raw /dev/raw/raw2 %m"
ACTION=="add",KERNEL=="sdb3",RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="19",RUN+="/bin/raw /dev/raw/raw3 %m"
ACTION=="add",KERNEL=="sdb4",RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="20",RUN+="/bin/raw /dev/raw/raw4 %m"
ACTION=="add",KERNEL=="raw[1-4]",OWNER=="oracle",GROUP="oinstall",MODE="640"
其中major是裝置的主裝置編號,minor是次裝置編號,最後一行是設定已設定裸裝置的檔案許可權
如此,就可以不用擔心rawdevices重啟之後的裝置檔案許可權的變化了
但是在Linux平臺中,不像aix和HP-UX中,預設提供了塊裝置對應的字元裝置檔案,需要我們手工的將塊裝置對映為字元裝置。
在此,我們提供三種方式來講塊裝置繫結到裸裝置上,這三種方式建立裸裝置的方式完全一樣,區別在於對oracle使用者的許可權的處理方式不同,在此推薦使用第三種方式來進行塊裝置到字元裝置的繫結
第一種方式:
使用rawdevices服務,進行塊裝置到字元裝置的繫結
# vim /etc/sysconfig/rawdevices
/dev/raw/raw1 /dev/sdb1
/dev/raw/raw2 /dev/sdb2
/dev/raw/raw3 /dev/sdb3
/dev/raw/raw4 /dev/sdb4
# /etc/init.d/rawdevices start
或者 service rawdevices restart
# 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
/dev/raw/raw3: bound to major 8, minor 19
/dev/raw/raw4: bound to major 8, minor 20
為裸裝置賦予oracle使用者的可用許可權:
# chown oracle:oinstall /dev/raw/raw1 /dev/raw/raw2 /dev/raw/raw3 /dev/raw/raw4
# ls -l /dev/raw
crw------- 1 oracle oinstall 162, 1 Nov 4 00:34 /dev/raw/raw1
crw------- 1 oracle oinstall 162, 2 Nov 4 00:33 /dev/raw/raw2
crw------- 1 oracle oinstall 162, 3 Nov 4 00:33 /dev/raw/raw3
crw------- 1 oracle oinstall 162, 4 Nov 4 00:34 /dev/raw/raw4
至此,裸裝置對映成功,但是,這種方式的配置有一個問題:這些裸裝置是在rawdevices服務啟動的時候建立的,而rawdevices是以root使用者的身份執行的,因此這些裸裝置的預設使用者是root:root,所以,每一次服務進行重啟的時候,都需要重新修改這些字元裝置的許可權為oracle:oinsall。
可以在/etc/rc.local中加入對raw裝置的許可權修改語句,以應對重啟系統之後的裸裝置檔案許可權的改變。當重啟服務之後,則需要手工執行chown的命令了
第二種方式:
為了解決上面的情況,在此使用mknod提前建立出一個字元方式訪問的檔案,然後在將檔案繫結到塊裝置上,並把該檔案的owner設定為oracle,由於這些對映的字元裝置檔案是手工建立的,所以這個檔案的owner不會因為服務的重啟而發生改變:
# mknod /dev/raw/raw1 c 162 1
# mknod /dev/raw/raw2 c 162 2
# mknod /dev/raw/raw3 c 162 3
# mknod /dev/raw/raw4 c 162 4
注意此處的162不能改變,這個是raw裝置的主裝置編號,後面的數字是raw裝置的次裝置編號,這個次裝置編號可以依次改變
# ll /dev/raw/*
crw-r--r-- 1 root root 162, 1 Nov 4 01:02 raw1
crw-r--r-- 1 root root 162, 2 Nov 4 01:02 raw2
crw-r--r-- 1 root root 162, 3 Nov 4 01:03 raw3
crw-r--r-- 1 root root 162, 4 Nov 4 01:03 raw4
# chown oracle:oinstall /dev/raw/*
# ll /dev/raw/*
crw-r--r-- 1 oracle oinstall 162, 1 Nov 4 01:02 raw1
crw-r--r-- 1 oracle oinstall 162, 2 Nov 4 01:02 raw2
crw-r--r-- 1 oracle oinstall 162, 3 Nov 4 01:03 raw3
crw-r--r-- 1 oracle oinstall 162, 4 Nov 4 01:03 raw4
# vim /etc/sysconfig/rawdevices
/dev/raw/raw1 /dev/sdb1
/dev/raw/raw2 /dev/sdb2
/dev/raw/raw3 /dev/sdb3
/dev/raw/raw4 /dev/sdb4
# service rawdevices restart
# chkconfig --level 235 rawdevices on
第三種方式:
使用udev管理裝置的許可權
前四步驟和第一種方式一樣(大話oralce rac P140頁)
# vi /etc/udev/rules.d/60-raw.rules
ACTION=="add",KERNEL=="sdb1",RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="17",RUN+="/bin/raw /dev/raw/raw1 %m"
ACTION=="add",KERNEL=="sdb2",RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="18",RUN+="/bin/raw /dev/raw/raw2 %m"
ACTION=="add",KERNEL=="sdb3",RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="19",RUN+="/bin/raw /dev/raw/raw3 %m"
ACTION=="add",KERNEL=="sdb4",RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="20",RUN+="/bin/raw /dev/raw/raw4 %m"
ACTION=="add",KERNEL=="raw[1-4]",OWNER=="oracle",GROUP="oinstall",MODE="640"
其中major是裝置的主裝置編號,minor是次裝置編號,最後一行是設定已設定裸裝置的檔案許可權
如此,就可以不用擔心rawdevices重啟之後的裝置檔案許可權的變化了
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29096438/viewspace-1727383/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 裸裝置表空間對映檔案
- 【Raw Device】OEL4.8裸裝置對映方法dev
- linux裸裝置操作Linux
- Linux裸裝置總結Linux
- linux下新增裸裝置Linux
- linux下配置裸裝置Linux
- linux udev裸裝置繫結Linuxdev
- Linux-建立裸裝置RawLinux
- linux下裸裝置的使用Linux
- Linux裸裝置管理詳解Linux
- Linux裸裝置管理學習Linux
- Linux裸裝置總結(ZT)Linux
- LINUX下裸裝置的操作Linux
- LINUX裸裝置取消繫結Linux
- linux mdev實現裝置符重對映/裝置符手動新增Linuxdev
- Linux配置和管理裝置對映多路徑multipathLinux
- Linux平臺使用裸裝置作為檔案儲存方式Linux
- linux安裝postgresql三種方式LinuxSQL
- 字元裝置、塊裝置與裸裝置字元
- 字元裝置、塊裝置、裸裝置、RAW裝置 .字元
- Linux使用udev繫結裸裝置Linuxdev
- Linux新增裸裝置空間(Redhat)LinuxRedhat
- linux上建立裸裝置問答Linux
- Linux基於裸裝置建庫Linux
- linux 使用裸裝置建立表空間Linux
- 獲取redhat linux裸裝置的大小RedhatLinux
- Linux裸裝置相關命令[轉載]Linux
- [zt] LINUX裸裝置(raw)取消繫結Linux
- 建立裸裝置庫
- Solaris裸裝置安裝三節點RAC102(三)
- raw 裸裝置資料檔案更改其他raw裸裝置位置
- Linux 軟體安裝的三種方式Linux
- udev 裸裝置 安裝racdev
- 裸裝置、字元裝置、塊裝置不全面比較字元
- 裸裝置與塊裝置的區別
- Oracle RAC--在Linux中建立裸裝置OracleLinux
- AIX中的裸裝置AI
- oracle 裸裝置(轉載)Oracle