oracle 11203 RAC on OEL 6 using udev based on ASM

Oracle 11G RAC在OEL6平台上的部署与OEL5基本差不多,但仍然有两个需要额外注意的地方:
1.建议使用udev的方式来管理裸磁盘分区
其实在oel5平台上,我仍然建议使用linux的udev来管理设备,而不是asmlib。而到了oel6(rhel6)平台上,asmlib干脆没有了。

2.建议安装oracle-rdbms-preinstall rpm包,搞定基本的安装前参数配置
oel5平台上,可以借鉴oracle-validated包来搞定一些安装前的配置工作,例如:/etc/sysctl.conf文件中的参数设置。而到了oel6上,那个rpm包变成了oracle-rdbms-preinstall,可以google一下,即可得到答案。

这部分的RAC实施与之前,使用asmlib方式大致相同,主要区别在于udev配置文件的准备。之前在oel5平台上的RAC实施文档,可以参考:
http://bangela.org/oracle-11gr2-rac-installation-guide/

3.udev绑定设备(代替asmlib方式)
很多best practice都建议使用linux自带的udev进行设备的管理,而不是使用asmlib方式。

3.1 首先为每个共享磁盘生成一个scsi_id。

备注:这个是针对每个磁盘做的标记,而不是分区。oel5与oel6上,相关的命令参数稍微有些差异,我的平台是oel6的。

----------------------------------------------
[root@pig1 ~]# /sbin/scsi_id -g -u -d /dev/sdb
1ATA_VBOX_HARDDISK_VB3298f69a-cda4055b
[root@pig1 ~]# /sbin/scsi_id -g -u -d /dev/sdc
1ATA_VBOX_HARDDISK_VB75ea7f49-53929c28
[root@pig1 ~]# /sbin/scsi_id -g -u -d /dev/sdd
1ATA_VBOX_HARDDISK_VB99b4276f-87c8d418
[root@pig1 ~]# /sbin/scsi_id -g -u -d /dev/sde
1ATA_VBOX_HARDDISK_VBe1efab93-1225e21a
----------------------------------------------

for oel5:
/sbin/scsi_id -g -u -s /block/sdb

3.2 make the scsi device trusted

Add the following to the “/etc/scsi_id.config” file to configure SCSI devices as trusted. Create the file if it doesn’t already exist.

options=-g
————————————
[root@pig1 etc]# pwd
/etc
[root@pig1 etc]# more scsi_id.config
options=-g
————————————

3.3 编辑udev配置文件

如果没有,就创建/etc/udev/rules.d/99-oracle-asmdevices.rules

[root@pig1 rules.d]# pwd
/etc/udev/rules.d
[root@pig1 rules.d]# vi 99-oracle-asmdevices.rules

oel6参考如下:

---------------------------------------------
KERNEL=="sdb1", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -d /dev/sdb", RESULT=="1ATA_VBOX_HARDDISK_VB3298f69a-cda4055b", NAME="asm-disk1", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sdc1", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -d /dev/sdc", RESULT=="1ATA_VBOX_HARDDISK_VB75ea7f49-53929c28", NAME="asm-disk2", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sdd1", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -d /dev/sdd", RESULT=="1ATA_VBOX_HARDDISK_VB99b4276f-87c8d418", NAME="asm-disk3", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sde1", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -d /dev/sde", RESULT=="1ATA_VBOX_HARDDISK_VBe1efab93-1225e21a", NAME="asm-disk4", OWNER="grid", GROUP="asmadmin", MODE="0660"
---------------------------------------------

备注:如果是oel5平台,命令稍微有些不同,将-d参数变更为-s即可。
参考:
http://www.oracle-base.com/articles/linux/udev-scsi-rules-configuration-in-oracle-linux-5-and-6.php

3.4 Load updated block device partition tables
[root@pig1 ~]# partprobe /dev/sdb1
[root@pig1 ~]# partprobe /dev/sdc1
[root@pig1 ~]# partprobe /dev/sdd1
[root@pig1 ~]# partprobe /dev/sde1

3.5 test the rules

Test the rules are working as expected.

# #OL5
# udevtest /block/sdb/sdb1
# udevtest /block/sdc/sdc1
# udevtest /block/sdd/sdd1
# udevtest /block/sde/sde1

# #OL6
# udevadm test /block/sdb/sdb1
# udevadm test /block/sdc/sdc1
# udevadm test /block/sdd/sdd1
# udevadm test /block/sde/sde1

//restart udev
[root@pig1 ~]# start_udev
Starting udev: [ OK ]

//reload the udev rules
[root@pig1 ~]# udevadm control –reload-rules

查看绑定情况
[root@pig1 dev]# ls -al /dev/asm*
brw-rw—- 1 grid asmadmin 8, 17 Sep 24 15:05 /dev/asm-disk1
brw-rw—- 1 grid asmadmin 8, 33 Sep 24 15:05 /dev/asm-disk2
brw-rw—- 1 grid asmadmin 8, 49 Sep 24 15:05 /dev/asm-disk3
brw-rw—- 1 grid asmadmin 8, 65 Sep 24 15:05 /dev/asm-disk4

到此用于创建asmdiskgroup的磁盘已经准备完毕了,剩下的工作与oel5平台上实施RAC基本一样。

上述详细的文档,参考:oracle 11203 RAC on OEL6 using udev