您的位置:首页 > 数据库 > Oracle

How to use udev for Oracle ASM in Oracle Linux 5

2013-04-29 07:26 716 查看
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]#
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: