今天在做实验的时候需要创建5个asm磁盘 但是有一个kmod文件不好下载,请教大哥被大哥告知:asmlib早过时了,用udev。好奇之余去了解了一下这两种方式的区别。
个人拙见:
asmlib:
asmlib 是linux上面给磁盘/分区头上面打上asm的标记,供asm使用,而且当磁盘的盘符发生改变的时候,不会影响到asm disk,
从效果上说,和udev没有本质区别,在redhat 4和5中oracle提供asmlib程序,在6中,oracle只为oel提供,其他linux不再提供
udev:
udev 是为了防止在机器因为重启的时候,因为盘符发生改变,导致asm disk不能正常被dg应用,从而出现asm 磁盘组不能mount的故障
下面附上使用udev创建asm磁盘的过程:
添加磁盘:
如果是虚拟机,要编辑vmx文件加入disk.EnableUUID =“TRUE” 否则无法查到磁盘的uuid,也就无法在配置文件中绑定。
fdisk /dev/你的磁盘名 进行分区
[root@localhost /]# cd /etc/udev/rules.d
编辑udev配置文件:
[root@localhost rules.d]# vim 99-oracle-asmdisk.rules
KERNEL==“sdb1”(分好区的磁盘名), BUS==“scsi(磁盘接口类型)”, PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent", RESULT==“36000c291b2a2f86ca4eceb8f69083831”(磁盘uuid,通过scsi_id -g -u -d /dev/你的磁盘名)来查看), NAME=“asm_disk1”, OWNER=“grid”, GROUP=“asmadmin”, MODE=“0660”
KERNEL==“sdc1”, BUS==“scsi”, PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent", RESULT==“36000c29d47431e361164bc230529e4a6”, NAME=“asm_disk2”, OWNER=“grid”, GROUP=“asmadmin”, MODE=“0660”
KERNEL==“sdd1”, BUS==“scsi”, PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent", RESULT==“36000c29045413234891cb68a5e393ed4”, NAME=“asm_disk3”, OWNER=“grid”, GROUP=“asmadmin”, MODE=“0660”
KERNEL==“sde1”, BUS==“scsi”, PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent", RESULT==“36000c2963321f68b04e90f8b80fe3530”, NAME=“asm_disk4”, OWNER=“grid”, GROUP=“asmadmin”, MODE=“0660”
KERNEL==“sdf1”, BUS==“scsi”, PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent", RESULT==“36000c29e8704480918568ec80e9270c3”, NAME=“asm_disk5”, OWNER=“grid”, GROUP=“asmadmin”, MODE=“0660”
[root@localhost rules.d]# udevadm control --reload-rules
加载
[root@localhost rules.d]# start_udev
启动
[root@localhost rules.d]# ls -l /dev/asm*
brw-rw----. 1 grid asmadmin 8, 17 Mar 4 08:43 /dev/asm_disk1
brw-rw----. 1 grid asmadmin 8, 33 Mar 4 08:43 /dev/asm_disk2
brw-rw----. 1 grid asmadmin 8, 49 Mar 4 08:43 /dev/asm_disk3
brw-rw----. 1 grid asmadmin 8, 65 Mar 4 08:43 /dev/asm_disk4
brw-rw----. 1 grid asmadmin 8, 81 Mar 4 08:43 /dev/asm_disk5
确认添加成功