The problem that the UUID cannot be returned when rac asm udev is installed on the VM
Use UDEV service to solve the rac asm storage device name
1. Confirm that necessary UDEV packages have been installed on all RAC nodes.
[Root @ rh2 ~] # Rpm-qa | grep udev
Udev-095-14.21.el5
2. Obtain the unique identification name of the block device through scsi_id. Assume that the LUN sdc-sdp already exists on the system.
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 '";
Done3
For I in B c d e f g h I j k; doecho "KERNEL = \" sd * \ ", BUS = \" scsi \", PROGRAM = \ "/sbin/scsi_id-g-u-s % p \", RESULT = \ "'scsi _ id-g-u-s/block/sd $ I '\", NAME = \ "asm-disk $ I \", OWNER = \ "grid \", GROUP = \ "asmadmin \", MODE = \ "0660 \" "done
2 script in
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
No return value. UDEVTEST is used to check whether the ID cannot be returned.
[Root @ localhost block] # 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' returned with status 1
Run_program: '/lib/udev/scsi_id-g-x-a-s/block/sdb-d/dev/. tmp-8-16'
Run_program: '/lib/udev/scsi_id' (stdout) 'ID _ VENDOR = VMware'
Run_program: '/lib/udev/scsi_id' (stdout) 'ID _ MODEL = Virtual_disk'
Run_program: '/lib/udev/scsi_id' (stdout) 'ID _ REVISION = 100'
Run_program: '/lib/udev/scsi_id' (stdout) 'ID _ SERIAL ='
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
Run_program: '/lib/udev/path_id/block/sdb'
Run_program: '/lib/udev/path_id' (stdout) 'ID _ PATH = pci-0000: 00: 10.0-scsi-0: 0: 1: 0'
Run_program: '/lib/udev/path_id' returned with status 0
Udev_rules_get_name: add symlink 'disk/by-path/pci-0000: 00: 10.0-scsi-0: 0: 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' returned with status 1
Run_program: '/sbin/scsi_id-g-u-s/block/sdb'
Run_program: '/sbin/scsi_id' returned with status 1
Run_program: '/sbin/scsi_id-g-u-s/block/sdb'
Run_program: '/sbin/scsi_id' returned with status 1
Run_program: '/sbin/scsi_id-g-u-s/block/sdb'
Run_program: '/sbin/scsi_id' returned with status 1
Run_program: '/sbin/scsi_id-g-u-s/block/sdb'
Run_program: '/sbin/scsi_id' returned with status 1
Run_program: '/sbin/scsi_id-g-u-s/block/sdb'
Run_program: '/sbin/scsi_id' returned with status 1
Run_program: '/sbin/scsi_id-g-u-s/block/sdb'
Run_program: '/sbin/scsi_id' returned with status 1
Run_program: '/sbin/scsi_id-g-u-s/block/sdb'
Run_program: '/sbin/scsi_id' returned with status 1
Run_program: '/sbin/scsi_id-g-u-s/block/sdb'
Run_program: '/sbin/scsi_id' returned with status 1
Run_program: '/sbin/scsi_id-g-u-s/block/sdb'
Run_program: '/sbin/scsi_id' returned with status 1
Udev_rules_get_name: no node name set, will use kernel name 'sdb'
Udev_device_event: devic'/block/sdb' already in database, validate currently present symlinks
Udev_node_add: creating device node '/dev/sdb', major = '8', minor = '16', mode = '000000', uid = '0 ', gid = '6'
Udev_node_add: creating symlink '/dev/disk/by-path/pci-0000: 00: 10.0-scsi-0: 0: 1: 0' to '../sdb'
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/sdb/dev/disk/by-path/pci-0000: 00: 10.0-scsi-0: 0: 1: 0'
Solution
The first device cannot be formatted
Add disk. EnableUUID = "TRUE" to the vmx file of the VM"
If you configure any other virtual machine, such as adding a disk, modifying the NIC type, or performing other operations,
The disk. EnableUUID parameter is reset to FALSE again. Therefore, you must manually modify this parameter after each virtual machine setting.
To avoid manual modification
You can only use udevinfo to obtain SYSFS [start] And SYSFS [size ].
Udevinfo-a-p/sys/block/sdb/sdb1
KERNEL = "sdb1", SUBSYSTEM = "block", SYSFS {size} = "16771797", SYSFS {start} = "63", NAME = "asmdisk1-crs ", OWNER = "grid", GROUP = "asmadmin", MODE = "0660"
If it is VBOX, we recommend that you change the hard disk bus to SATA
For LINUX 5 formatted, use ASMLIB