首先来简要的介绍下什么是udev,udev是Linux kernel 2.6系列的通用内核设备管理器,以守护进程的方式运行于Linux系统,并监听在新设备初始化或设备从系统中移除时,内核(通过netlink socket)所发出的uevent;简单点讲就是当有多块磁盘的时候,可以用udev来固定磁盘对应的设备名;之前在部署11g rac的时候都偏好使用asmlib,在最近一次的部署中asmlib出现了问题,而又没有时间去排错,因而采用udev部署,故而简单记录下udev的配置过程!

一:模拟共享盘阵,这里采用先划分lvm,再通过iscsi共享的方式来模拟

   
   
   
   
  1. [root@db1 ~]# pvcreate /dev/sdb   
  2.   Physical volume "/dev/sdb" successfully created  
  3. [root@db1 ~]# vgcreate data /dev/sdb  
  4.   /dev/hdc: open failed: Read-only file system  
  5.   /dev/cdrom: open failed: Read-only file system  
  6.   Attempt to close device '/dev/cdrom' which is not open.  
  7.   Volume group "data" successfully created  
  8. [root@db1 ~]# lvcreate -n crs1 -L 2G data  
  9.   Logical volume "crs1" created  
  10. [root@db1 ~]# lvcreate -n crs2 -L 2G data  
  11.   Logical volume "crs2" created  
  12. [root@db1 ~]# lvcreate -n crs3 -L 2G data  
  13.   Logical volume "crs3" created  
  14. [root@db1 ~]# lvcreate -n data -L 10G data  
  15.   Logical volume "data" created  
  16. [root@db1 ~]# lvcreate -n fra -L 10G data  
  17.   Logical volume "fra" created  
  18.  
  19. [root@db1 ~]# lvs  
  20.   LV   VG   Attr   LSize  Origin Snap%  Move Log Copy%  Convert  
  21.   crs1 data -wi-a-  2.00G                                        
  22.   crs2 data -wi-a-  2.00G                                        
  23.   crs3 data -wi-a-  2.00G                                        
  24.   data data -wi-a- 10.00G                                        
  25.   fra  data -wi-a- 10.00G    
  26.  
  27. [root@db1 ~]# service tgtd start  
  28. Starting SCSI target daemon: [  OK  ]  
  29.  
  30. [root@db1 ~]# cat iscsi.sh   
  31. tgtadm  --lld iscsi --op new --mode target --tid 1 -T iqn.2012-07-04.com.yang.rac:crs1  
  32. tgtadm  --lld iscsi --op new --mode target --tid 2 -T iqn.2012-07-04.com.yang.rac:crs2  
  33. tgtadm  --lld iscsi --op new --mode target --tid 3 -T iqn.2012-07-04.com.yang.rac:crs3  
  34. tgtadm  --lld iscsi --op new --mode target --tid 4 -T iqn.2012-07-04.com.yang.rac:data  
  35. tgtadm  --lld iscsi --op new --mode target --tid 5 -T iqn.2012-07-04.com.yang.rac:fra  
  36.  
  37. tgtadm  --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /dev/data/crs1  
  38. tgtadm  --lld iscsi --op new --mode logicalunit --tid 1 --lun 2 -b /dev/data/crs2  
  39. tgtadm  --lld iscsi --op new --mode logicalunit --tid 1 --lun 3 -b /dev/data/crs3  
  40. tgtadm  --lld iscsi --op new --mode logicalunit --tid 1 --lun 4 -b /dev/data/data  
  41. tgtadm  --lld iscsi --op new --mode logicalunit --tid 1 --lun 5 -b /dev/data/fra  
  42.  
  43. tgtadm  --lld iscsi --op bind --mode target --tid 1 -I ALL  
  44. tgtadm  --lld iscsi --op bind --mode target --tid 2 -I ALL  
  45. tgtadm  --lld iscsi --op bind --mode target --tid 3 -I ALL  
  46. tgtadm  --lld iscsi --op bind --mode target --tid 4 -I ALL  
  47. tgtadm  --lld iscsi --op bind --mode target --tid 5 -I ALL  
  48.  
  49. [root@db1 ~]# tgtadm --lld iscsi -o show -m target  
  50. [root@db1 ~]# sh iscsi.sh   
  51. [root@db1 ~]# tgtadm --lld iscsi -o show -m target  
  52. Target 1: iqn.2012-07-04.com.yang.rac:crs1  
  53.     System information:  
  54.         Driver: iscsi  
  55.         State: ready  
  56.     I_T nexus information:  
  57.     LUN information:  
  58.         LUN: 0  
  59.             Type: controller  
  60.             SCSI ID: deadbeaf1:0  
  61.             SCSI SN: beaf10  
  62.             Size: 0 MB  
  63.             Online: Yes  
  64.             Removable media: No  
  65.             Backing store: No backing store  
  66.         LUN: 1  
  67.             Type: disk  
  68.             SCSI ID: deadbeaf1:1  
  69.             SCSI SN: beaf11  
  70.             Size: 2147 MB  
  71.             Online: Yes  
  72.             Removable media: No  
  73.             Backing store: /dev/data/crs1  
  74.         LUN: 2  
  75.             Type: disk  
  76.             SCSI ID: deadbeaf1:2  
  77.             SCSI SN: beaf12  
  78.             Size: 2147 MB  
  79.             Online: Yes  
  80.             Removable media: No  
  81.             Backing store: /dev/data/crs2  
  82.         LUN: 3  
  83.             Type: disk  
  84.             SCSI ID: deadbeaf1:3  
  85.             SCSI SN: beaf13  
  86.             Size: 2147 MB  
  87.             Online: Yes  
  88.             Removable media: No  
  89.             Backing store: /dev/data/crs3  
  90.         LUN: 4  
  91.             Type: disk  
  92.             SCSI ID: deadbeaf1:4  
  93.             SCSI SN: beaf14  
  94.             Size: 10737 MB  
  95.             Online: Yes  
  96.             Removable media: No  
  97.             Backing store: /dev/data/data  
  98.         LUN: 5  
  99.             Type: disk  
  100.             SCSI ID: deadbeaf1:5  
  101.             SCSI SN: beaf15  
  102.             Size: 10737 MB  
  103.             Online: Yes  
  104.             Removable media: No  
  105.             Backing store: /dev/data/fra  
  106.     Account information:  
  107.     ACL information:  
  108.         ALL  
  109. Target 2: iqn.2012-07-04.com.yang.rac:crs2  
  110.     System information:  
  111.         Driver: iscsi  
  112.         State: ready  
  113.     I_T nexus information:  
  114.     LUN information:  
  115.         LUN: 0  
  116.             Type: controller  
  117.             SCSI ID: deadbeaf2:0  
  118.             SCSI SN: beaf20  
  119.             Size: 0 MB  
  120.             Online: Yes  
  121.             Removable media: No  
  122.             Backing store: No backing store  
  123.     Account information:  
  124.     ACL information:  
  125. Target 3: iqn.2012-07-04.com.yang.rac:crs3  
  126.     System information:  
  127.         Driver: iscsi  
  128.         State: ready  
  129.     I_T nexus information:  
  130.     LUN information:  
  131.         LUN: 0  
  132.             Type: controller  
  133.             SCSI ID: deadbeaf3:0  
  134.             SCSI SN: beaf30  
  135.             Size: 0 MB  
  136.             Online: Yes  
  137.             Removable media: No  
  138.             Backing store: No backing store  
  139.     Account information:  
  140.     ACL information:  
  141. Target 4: iqn.2012-07-04.com.yang.rac:data  
  142.     System information:  
  143.         Driver: iscsi  
  144.         State: ready  
  145.     I_T nexus information:  
  146.     LUN information:  
  147.         LUN: 0  
  148.             Type: controller  
  149.             SCSI ID: deadbeaf4:0  
  150.             SCSI SN: beaf40  
  151.             Size: 0 MB  
  152.             Online: Yes  
  153.             Removable media: No  
  154.             Backing store: No backing store  
  155.     Account information:  
  156.     ACL information:  
  157. Target 5: iqn.2012-07-04.com.yang.rac:fra  
  158.     System information:  
  159.         Driver: iscsi  
  160.         State: ready  
  161.     I_T nexus information:  
  162.     LUN information:  
  163.         LUN: 0  
  164.             Type: controller  
  165.             SCSI ID: deadbeaf5:0  
  166.             SCSI SN: beaf50  
  167.             Size: 0 MB  
  168.             Online: Yes  
  169.             Removable media: No  
  170.             Backing store: No backing store  
  171.     Account information:  
  172.     ACL information: 

二:在客户端上挂载前面模拟出的共享磁盘阵列

   
   
   
   
  1. [root@db2 ~]# iscsiadm --mode discovery --type sendtargets --portal 192.168.123.10  
  2. 192.168.123.10:3260,1 iqn.2012-07-04.com.yang.rac:fra  
  3. 192.168.123.10:3260,1 iqn.2012-07-04.com.yang.rac:crs1  
  4. 192.168.123.10:3260,1 iqn.2012-07-04.com.yang.rac:crs3  
  5. 192.168.123.10:3260,1 iqn.2012-07-04.com.yang.rac:data  
  6. 192.168.123.10:3260,1 iqn.2012-07-04.com.yang.rac:crs2  
  7.  
  8. [root@db2 ~]# iscsiadm --mode node --targetname iqn.2012-07-04.com.yang.rac:crs1 --portal 192.168.123.10 --login  
  9. [root@db2 ~]# iscsiadm --mode node --targetname iqn.2012-07-04.com.yang.rac:crs2 --portal 192.168.123.10 --login  
  10. [root@db2 ~]# iscsiadm --mode node --targetname iqn.2012-07-04.com.yang.rac:crs3 --portal 192.168.123.10 --login  
  11. [root@db2 ~]# iscsiadm --mode node --targetname iqn.2012-07-04.com.yang.rac:data --portal 192.168.123.10 --login  
  12. [root@db2 ~]# iscsiadm --mode node --targetname iqn.2012-07-04.com.yang.rac:fra  --portal 192.168.123.10 --login  
  13.  
  14. [root@db2 ~]# fdisk -l  
  15. Disk /dev/sda: 85.8 GB, 85899345920 bytes  
  16. 255 heads, 63 sectors/track, 10443 cylinders  
  17. Units = cylinders of 16065 * 512 = 8225280 bytes  
  18.  
  19.    Device Boot      Start         End      Blocks   Id  System  
  20. /dev/sda1   *           1          13      104391   83  Linux  
  21. /dev/sda2              14         523     4096575   82  Linux swap / Solaris  
  22. /dev/sda3             524       10443    79682400   83  Linux  
  23.  
  24. Disk /dev/sdb: 2147 MB, 2147483648 bytes  
  25. 67 heads, 62 sectors/track, 1009 cylinders  
  26. Units = cylinders of 4154 * 512 = 2126848 bytes  
  27.  
  28. Disk /dev/sdb doesn't contain a valid partition table  
  29.  
  30. Disk /dev/sdc: 2147 MB, 2147483648 bytes  
  31. 67 heads, 62 sectors/track, 1009 cylinders  
  32. Units = cylinders of 4154 * 512 = 2126848 bytes  
  33.  
  34. Disk /dev/sdc doesn't contain a valid partition table  
  35.  
  36. Disk /dev/sdd: 2147 MB, 2147483648 bytes  
  37. 67 heads, 62 sectors/track, 1009 cylinders  
  38. Units = cylinders of 4154 * 512 = 2126848 bytes  
  39.  
  40. Disk /dev/sdd doesn't contain a valid partition table  
  41.  
  42. Disk /dev/sde: 10.7 GB, 10737418240 bytes  
  43. 64 heads, 32 sectors/track, 10240 cylinders  
  44. Units = cylinders of 2048 * 512 = 1048576 bytes  
  45.  
  46. Disk /dev/sde doesn't contain a valid partition table  
  47.  
  48. Disk /dev/sdf: 10.7 GB, 10737418240 bytes  
  49. 64 heads, 32 sectors/track, 10240 cylinders  
  50. Units = cylinders of 2048 * 512 = 1048576 bytes  
  51.  
  52. Disk /dev/sdf doesn't contain a valid partition table 

三:开始配置udev

   
   
   
   
  1. [root@db2 ~]# uname -r  //在本例中操作系统的版本位centos5.4 64bit  
  2. 2.6.18-164.el5  
  3. [root@db2 ~]# lsb_release -a  
  4. LSB Version:    :core-3.1-amd64:core-3.1-ia32:core-3.1-noarch:graphics-3.1-amd64:graphics-3.1-ia32:graphics-3.1-noarch  
  5. Distributor ID: CentOS  
  6. Description:    CentOS release 5.4 (Final)  
  7. Release:        5.4  
  8. Codename:       Final  
  9.  
  10. [root@db2 ~]# rpm -qa |grep udev  
  11. udev-095-14.21.el5  
  12.  
  13. [root@db2 ~]# ps -ef |grep udev  
  14. root      4646     1  0 10:14 ?        00:00:00 /sbin/udevd -d  
  15. root      6023  3039  0 10:32 pts/0    00:00:00 grep udev  
  16.  
  17. [root@db2 ~]# grep -v ^# /etc/udev/udev.conf  |grep -v ^$  
  18. udev_log="err" 
  19.  
  20. [root@db2 ~]# scsi_id -g -u -s /block/sdb  
  21. S_beaf11  
  22. [root@db2 ~]# scsi_id -g -u -s /block/sdc  
  23. S_beaf12  
  24. [root@db2 ~]# scsi_id -g -u -s /block/sdd  
  25. S_beaf13  
  26. [root@db2 ~]# scsi_id -g -u -s /block/sde  
  27. S_beaf14  
  28. [root@db2 ~]# scsi_id -g -u -s /block/sdf  
  29. S_beaf15  
  30.  
  31. [root@db2 ~]# cat /etc/udev/rules.d/99-raw.rules   
  32. KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="S_beaf11", NAME="asmdisk1"OWNER="grid",   
  33. GROUP="asmadmin"MODE="0660" 
  34. KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="S_beaf12", NAME="asmdisk2"OWNER="grid",   
  35. GROUP="asmadmin"MODE="0660" 
  36. KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="S_beaf13", NAME="asmdisk3"OWNER="grid",   
  37. GROUP="asmadmin"MODE="0660" 
  38. KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="S_beaf14", NAME="asmdisk4"OWNER="grid",   
  39. GROUP="asmadmin"MODE="0660" 
  40. KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="S_beaf15", NAME="asmdisk5"OWNER="grid",   
  41. GROUP="asmadmin"MODE="0660" 
  42.  
  43. [root@db2 ~]# ll /dev/asm*  
  44. ls: /dev/asm*: No such file or directory  
  45. [root@db2 ~]# /sbin/udevcontrol reload_rules  
  46. [root@db2 ~]# /sbin/start_udev   
  47. Starting udev: [  OK  ]  
  48. [root@db2 ~]# ll /dev/asm*  
  49. brw-rw---- 1 grid asmadmin 8, 16 Jul  4 12:05 /dev/asmdisk1  
  50. brw-rw---- 1 grid asmadmin 8, 32 Jul  4 12:05 /dev/asmdisk2  
  51. brw-rw---- 1 grid asmadmin 8, 48 Jul  4 12:05 /dev/asmdisk3  
  52. brw-rw---- 1 grid asmadmin 8, 64 Jul  4 12:05 /dev/asmdisk4  
  53. brw-rw---- 1 grid asmadmin 8, 80 Jul  4 12:05 /dev/asmdisk5 

备注:
1:在vmware中,scsi_id -g -u -s /block/sdb默认是不会出现uuid,需要修改vmx文件,添加disk.EnableUUID参数
2:/block/sdb实际上是个不存在的路径,实际绝对路径是/sys/block/sdb,但使用scsi_id命令的时候必须用/block/sdb路径

参考:
http://diznix.com/2011/05/21/the-case-of-vmware-and-the-missing-scsi-id/
http://space.itpub.net/14184018/viewspace-701675