對磁盤設備(裸分區)的訪問方式分為兩種:1.字符方式訪問(裸設備);2.塊方式訪問
Solaris平台 : 在Solaris平台下,系統同時提供對磁盤設備的字符、塊方式訪問。每個磁盤有兩個設備文件名:
- 一個在/dev/dsk目錄下,比如/dev/dsk/c1t1d1s1,當以這個設備名操作時,就是以塊的方式操作磁盤;
- 一個在/dev/rdsk目錄下,比如/dev/rdsk/c1t1d1s1,當以這個設備名操作時,就是以字符方式(裸設備方式r)操作磁盤
Linux平台 : 在linux平台下,缺省只提供了對磁盤設備的塊設備訪問方式(比如/dev/sda1),沒有提供字符訪問方式(裸設備方式r).如需使用字符訪問方式需要手動配置
| 配置字符設備(裸設備)訪問方式 |
適用操作系統版本 |
Udev的作用 |
| /etc/sysconfig/rawdevices + /etc/rc.local |
Red Hat AS4 |
|
| /etc/sysconfig/rawdevices + /etc/udev/permissions.d/50-udev.permissions |
Red Hat AS4 |
控制訪問權限 |
| 60-raw.rules或99-oracle-asmdevices.rules |
RHEL5 / OEL5 |
將塊設備綁定裸設備上;固定設備文件名稱;控制訪問權限; |
Linux平台下:Oracle在不同版本時創建ASM的不同方式:
- 11.2版本之前 : ASM可以通過兩種方式使用磁盤。一種是裸設備方式;另一種是AMSlib方式,允許在塊設備上創建ASM。
注:(oracle 11.1官當)You can run ASM using ASMLIB, or run ASM using raw devices.
- 11.2 版本之后 : ASM本身直接支持塊設備。
注:11.2官當上未找到明確說明
- 11.2版本之前使用udev是將塊設備綁定裸設備上,並控制訪問權限,本質是在裸設備上創建ASM;11.2 版本及之后使用udev是固定盤符,並控制訪問權限,本質是在塊設備上創建ASM。對比示例:
|
|
使用udev時讀取的文件 |
udev文件內容 |
| 11.2版本之前 |
/etc/udev/rules.d/60-raw.rules |
ACTION=="add", KERNEL=="/dev/sdb1", RUN+="/bin/raw /dev/raw/raw1 %N" |
| 11.2版本及之后:缺省只提供了對磁盤設備的塊設備訪問方式(比如/dev/sda1) |
/etc/udev/rules.d/99-oracle-asmdevices.rules |
KERNEL=="sd*1", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s /block/$parent", RESULT=="SATA_VBOX_HARDDISK_VBd306dbe0-df3367e3_", NAME="asm-disk1", OWNER="oracle", GROUP="dba", MODE="0660" |
