How to use udev for Oracle ASM in Oracle Linux 5

来源:互联网 发布:网络借贷监管 编辑:程序博客网 时间:2024/05/21 10:40

How to use udev for Oracle ASM in Oracle Linux 5
[root@pctest01 ~]# rpm -qa|grep udev
udev-095-14.27.0.3.el5_7.1
[root@pctest01 ~]#

1.修改/etc/scsi_id.config文件.把options=-b注释掉,加入options=-g,该选项保证所有连接的SCSI设备返回一个UUID.如果该文件不存在,可以手动创建一个.
# options=-b
  options=-g

2.查询指定设备的UUID.比如我们要用/dev/sdb来作为asm磁盘,那么执行下列命令:
[root@pctest01 ~]# scsi_id -g -u -s /block/sdb
3600605b002a1fc8014ee69ba0f10d1eb
[root@pctest01 ~]#
for i in c d e f g h i j k l m n o p ;
do
echo "sd$i" "`scsi_id -g -u -s /block/sd$i` ";
done

3.创建udev规则文件,Program写我们要运行的PROGRAM命令,而RESULT就写我们运行完的结果.
#vi /etc/udev/rules.d/99-oracle-asmdevices.rules
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="3600605b002a1fc8014ee69ba0f10d1eb", NAME="asm-disk1", OWNER="grid", GROUP="asmadmin", MODE="0660"

4.测试udev是否绑定成功.如果绑定失败,会提示失败.
[root@pctest01 ~]# udevtest /block/sdb
main: looking at device '/block/sdb' from subsystem 'block'
run_program: '/lib/udev/usb_id -x'
run_program: '/lib/udev/usb_id' returned with status 1
run_program: '/lib/udev/scsi_id -g -x -s /block/sdb -d /dev/.tmp-8-16'
run_program: '/lib/udev/scsi_id' (stdout) 'ID_VENDOR=LSI'
run_program: '/lib/udev/scsi_id' (stdout) 'ID_MODEL=MegaRAID_8708EM2'
run_program: '/lib/udev/scsi_id' (stdout) 'ID_REVISION=1.40'
run_program: '/lib/udev/scsi_id' (stdout) 'ID_SERIAL=3600605b002a1fc8014ee69ba0f10d1eb'
run_program: '/lib/udev/scsi_id' (stdout) 'ID_TYPE=disk'
run_program: '/lib/udev/scsi_id' (stdout) 'ID_BUS=scsi'
run_program: '/lib/udev/scsi_id' returned with status 0
udev_rules_get_name: add symlink 'disk/by-id/scsi-3600605b002a1fc8014ee69ba0f10d1eb'
run_program: '/lib/udev/path_id /block/sdb'
run_program: '/lib/udev/path_id' (stdout) 'ID_PATH=pci-0000:08:00.0-scsi-0:2:1:0'
run_program: '/lib/udev/path_id' returned with status 0
udev_rules_get_name: add symlink 'disk/by-path/pci-0000:08:00.0-scsi-0:2:1:0'
run_program: '/lib/udev/vol_id --export /dev/.tmp-8-16'
run_program: '/lib/udev/vol_id' returned with status 4
run_program: '/lib/udev/edd_id --export /dev/.tmp-8-16'
run_program: '/lib/udev/edd_id' (stderr) 'no kernel EDD support'
run_program: '/lib/udev/edd_id' returned with status 2
run_program: '/sbin/scsi_id -g -u -s /block/sdb'
run_program: '/sbin/scsi_id' (stdout) '3600605b002a1fc8014ee69ba0f10d1eb'
run_program: '/sbin/scsi_id' returned with status 0
udev_rules_get_name: rule applied, 'sdb' becomes 'asm-disk1'
udev_device_event: device '/block/sdb' already in database, validate currently present symlinks
udev_node_add: creating device node '/dev/asm-disk1', major = '8', minor = '16', mode = '0660', uid = '54322', gid = '5000'
udev_node_add: creating symlink '/dev/disk/by-id/scsi-3600605b002a1fc8014ee69ba0f10d1eb' to '../../asm-disk1'
udev_node_add: creating symlink '/dev/disk/by-path/pci-0000:08:00.0-scsi-0:2:1:0' to '../../asm-disk1'
main: run: 'socket:/org/kernel/dm/multipath_event'
main: run: 'socket:/org/kernel/udev/monitor'
main: run: '/lib/udev/udev_run_devd'
main: run: 'socket:/org/freedesktop/hal/udev_event'
main: run: '/sbin/pam_console_apply /dev/asm-disk1 /dev/disk/by-id/scsi-3600605b002a1fc8014ee69ba0f10d1eb /dev/disk/by-path/pci-0000:08:00.0-scsi-0:2:1:0'
[root@pctest01 ~]#

5.重启udev服务.
[root@pctest01 ~]# /sbin/udevcontrol reload_rules
[root@pctest01 ~]# /sbin/start_udev
Starting udev: [  OK  ]
[root@pctest01 ~]#

6.检查裸设备是否成功绑定,如果绑定成功,会在/dev下面看到
[root@pctest01 ~]# cd /dev
[root@pctest01 dev]# ls asm*
asm-disk1
[root@pctest01 dev]#

原创粉丝点击