-
- 方法一:使用asmdevices(推荐使用,但不适用EMC Powerpath)
(
1
)查看硬盘的
SCSI
号,两个机器认到的
/dev/sda
对应在实际的物理盘可能不是一块,但
scsi
号肯定是完全一致的。
代码
1
[root@sgdb1 ~]# scsi_id -g -u -d /dev/sdc
36000c294cea6a656a1e8e32f1091ccaf
[root@sgdb1 ~]# scsi_id -g -u -d /dev/sdd
36000c29f6b12b22e033aac10d8b2c42e
[root@sgdb1 ~]# scsi_id -g -u -d /dev/sde
36000c299cb59b588699f4f086f55ebf8
|
注意:在生产环境盘符可能为
/dev/emcpowera
、
/dev/emcpowerb
等等
(
2
)配置文件
/etc/udev/rules.d/99-oracle-asmdevices.rules
(不存在则手动添加)
代码
2
[root@sgdb1 ~]# vim /etc/udev/rules.d/99-oracle-asmdevices.rules
——
本例子中添加三个设备,对应
asm-ocr
、
asm-data1
、
asm-data2
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VB5f88d70c-1a9065fc", NAME="asm-ocr", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VB864fa5ad-de19b87f",NAME="asm-data1",OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="1ATA_VBOX_HARDDISK_VB1e210051-3851ce93",NAME="asm-data2",OWNER="grid", GR
OUP="asmadmin", MODE="0660"
|
注意:只需修改加粗部分,修改
SCSI
号与映射出来的
ASM
设备名称,其他地方禁止修改
(
3
)执行
start_udev
代码
3
[root@sgdb1~]# start_udev
如果执行成功,则会在
/dev/
下生成
asm
块设备,并且权限为
grid: asmadmin
[root@sgdb1 ~]# ll /dev/asm-*
brw-rw---- 1 grid asmadmin 8, 48 Dec 10 14:00 /dev/asm-data1
brw-rw---- 1 grid asmadmin 8, 64 Dec 10 14:00 /dev/asm-data2
brw-rw---- 1 grid asmadmin 8, 32 Dec 10 14:00 /dev/asm-ocr
(注意各个原始设备的权限是否为
grid:asmadmin
)
|
注意:
start_udev
会在开机自动启动(启动文件为
/etc/rc.sysinit
)
(
4
)回退方案
如果发现
udev
配置错了,并且已经生成了块设备,那么需要手动修改;已经映射的设备是不会被自动清空的,需要手动删除该设备:
代码
4
[root@ptsdb1 rules.d]# rm -rf /dev/asm-*
修改好
/etc/udev/rules.d/99-oracle-asmdevices.rules
文件后,再执行:
[root@sgdb1~]# start_udev
|
-
- 方法二:使用裸设备(EMC Powerpath使用)
(
1
)修改配置文件
代码
19
[root@sgdb1~]# vim /etc/udev/rules.d/60-raw.rules
——
添加
ACTION=="add", KERNEL=="sdc", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdd", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="sde", RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", KERNEL=="raw*", OWNER="grid",GROUP=" asmadmin ",MODE="660"
[root@sgdb1~]# start_udev
——
如果执行成功,则会在
/dev/raw
生成原始设备,并且权限为
grid: oinstall
[root@sgdb1~]# ll /dev/raw
brw-rw---- 1 grid asmadmin 8, 48 Dec 10 14:00 raw1
brw-rw---- 1 grid asmadmin 8, 64 Dec 10 14:00 raw2
brw-rw---- 1 grid asmadmin 8, 64 Dec 10 14:00 raw3
(注意各个原始设备的权限是否为
grid: asmadmin
)
|
注意:
start_udev
会在开机自动启动(启动文件为
/etc/rc.sysinit
)
(
4
)回退方案
如果发现
udev
配置错了,已经映射的设备是不会被自动清空的,需要手动删除裸设备:
代码
20
[root@sgdb1 rules.d]# raw /dev/raw/raw1 0 0
[root@sgdb1 rules.d]# raw /dev/raw/raw2 0 0
[root@sgdb1 rules.d]# raw /dev/raw/raw3 0 0
修改好
/etc/udev/rules.d/60-raw.rules
文件后,在执行:
[root@sgdb1~]# start_udev
|