红联Linux门户
Linux帮助

CentOS 5上部署udev

发布时间:2014-11-03 15:37:47来源:linux网站作者:ylw6006

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


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

[root@db1 ~]# pvcreate /dev/sdb  
Physical volume "/dev/sdb" successfully created 
[root@db1 ~]# vgcreate data /dev/sdb 
/dev/hdc: open failed: Read-only file system 
/dev/cdrom: open failed: Read-only file system 
Attempt to close device '/dev/cdrom' which is not open. 
Volume group "data" successfully created 
[root@db1 ~]# lvcreate -n crs1 -L 2G data 
Logical volume "crs1" created 
[root@db1 ~]# lvcreate -n crs2 -L 2G data 
Logical volume "crs2" created 
[root@db1 ~]# lvcreate -n crs3 -L 2G data 
Logical volume "crs3" created 
[root@db1 ~]# lvcreate -n data -L 10G data 
Logical volume "data" created 
[root@db1 ~]# lvcreate -n fra -L 10G data 
Logical volume "fra" created 
 
[root@db1 ~]# lvs 
LV   VG   Attr   LSize  Origin Snap%  Move Log Copy%  Convert 
crs1 data -wi-a-  2.00G
crs2 data -wi-a-  2.00G
crs3 data -wi-a-  2.00G
data data -wi-a- 10.00G
fra  data -wi-a- 10.00G
 
[root@db1 ~]# service tgtd start 
Starting SCSI target daemon: [  OK  ] 
 
[root@db1 ~]# cat iscsi.sh  
tgtadm  --lld iscsi --op new --mode target --tid 1 -T iqn.2012-07-04.com.yang.rac:crs1 
tgtadm  --lld iscsi --op new --mode target --tid 2 -T iqn.2012-07-04.com.yang.rac:crs2 
tgtadm  --lld iscsi --op new --mode target --tid 3 -T iqn.2012-07-04.com.yang.rac:crs3 
tgtadm  --lld iscsi --op new --mode target --tid 4 -T iqn.2012-07-04.com.yang.rac:data 
tgtadm  --lld iscsi --op new --mode target --tid 5 -T iqn.2012-07-04.com.yang.rac:fra 
 
tgtadm  --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /dev/data/crs1 
tgtadm  --lld iscsi --op new --mode logicalunit --tid 1 --lun 2 -b /dev/data/crs2 
tgtadm  --lld iscsi --op new --mode logicalunit --tid 1 --lun 3 -b /dev/data/crs3 
tgtadm  --lld iscsi --op new --mode logicalunit --tid 1 --lun 4 -b /dev/data/data 
tgtadm  --lld iscsi --op new --mode logicalunit --tid 1 --lun 5 -b /dev/data/fra 
 
tgtadm  --lld iscsi --op bind --mode target --tid 1 -I ALL 
tgtadm  --lld iscsi --op bind --mode target --tid 2 -I ALL 
tgtadm  --lld iscsi --op bind --mode target --tid 3 -I ALL 
tgtadm  --lld iscsi --op bind --mode target --tid 4 -I ALL 
tgtadm  --lld iscsi --op bind --mode target --tid 5 -I ALL 
 
[root@db1 ~]# tgtadm --lld iscsi -o show -m target 
[root@db1 ~]# sh iscsi.sh  
[root@db1 ~]# tgtadm --lld iscsi -o show -m target 
Target 1: iqn.2012-07-04.com.yang.rac:crs1 
System information: 
Driver: iscsi 
State: ready 
I_T nexus information: 
LUN information: 
LUN: 0 
Type: controller 
SCSI ID: deadbeaf1:0 
SCSI SN: beaf10 
Size: 0 MB 
Online: Yes 
Removable media: No 
Backing store: No backing store 
LUN: 1 
Type: disk 
SCSI ID: deadbeaf1:1 
SCSI SN: beaf11 
Size: 2147 MB 
Online: Yes 
Removable media: No 
Backing store: /dev/data/crs1 
LUN: 2 
Type: disk 
SCSI ID: deadbeaf1:2 
SCSI SN: beaf12 
Size: 2147 MB 
Online: Yes 
Removable media: No 
Backing store: /dev/data/crs2 
LUN: 3 
Type: disk 
SCSI ID: deadbeaf1:3 
SCSI SN: beaf13 
Size: 2147 MB 
Online: Yes 
Removable media: No 
Backing store: /dev/data/crs3 
LUN: 4 
Type: disk 
SCSI ID: deadbeaf1:4 
SCSI SN: beaf14 
Size: 10737 MB 
Online: Yes 
Removable media: No 
Backing store: /dev/data/data 
LUN: 5 
Type: disk 
SCSI ID: deadbeaf1:5 
SCSI SN: beaf15 
Size: 10737 MB 
Online: Yes 
Removable media: No 
Backing store: /dev/data/fra 
Account information: 
ACL information: 
ALL 
Target 2: iqn.2012-07-04.com.yang.rac:crs2 
System information: 
Driver: iscsi 
State: ready 
I_T nexus information: 
LUN information: 
LUN: 0 
Type: controller 
SCSI ID: deadbeaf2:0 
SCSI SN: beaf20 
Size: 0 MB 
Online: Yes 
Removable media: No 
Backing store: No backing store 
Account information: 
ACL information: 
Target 3: iqn.2012-07-04.com.yang.rac:crs3 
System information: 
Driver: iscsi 
State: ready 
I_T nexus information: 
LUN information: 
LUN: 0 
Type: controller 
SCSI ID: deadbeaf3:0 
SCSI SN: beaf30 
Size: 0 MB 
Online: Yes 
Removable media: No 
Backing store: No backing store 
Account information: 
ACL information: 
Target 4: iqn.2012-07-04.com.yang.rac:data 
System information: 
Driver: iscsi 
State: ready 
I_T nexus information: 
LUN information: 
LUN: 0 
Type: controller 
SCSI ID: deadbeaf4:0 
SCSI SN: beaf40 
Size: 0 MB 
Online: Yes 
Removable media: No 
Backing store: No backing store 
Account information: 
ACL information: 
Target 5: iqn.2012-07-04.com.yang.rac:fra 
System information: 
Driver: iscsi 
State: ready 
I_T nexus information: 
LUN information: 
LUN: 0 
Type: controller 
SCSI ID: deadbeaf5:0 
SCSI SN: beaf50 
Size: 0 MB 
Online: Yes 
Removable media: No 
Backing store: No backing store 
Account information: 
ACL information:


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

[root@db2 ~]# iscsiadm --mode discovery --type sendtargets --portal 192.168.123.10 
192.168.123.10:3260,1 iqn.2012-07-04.com.yang.rac:fra 
192.168.123.10:3260,1 iqn.2012-07-04.com.yang.rac:crs1 
192.168.123.10:3260,1 iqn.2012-07-04.com.yang.rac:crs3 
192.168.123.10:3260,1 iqn.2012-07-04.com.yang.rac:data 
192.168.123.10:3260,1 iqn.2012-07-04.com.yang.rac:crs2 
 
[root@db2 ~]# iscsiadm --mode node --targetname iqn.2012-07-04.com.yang.rac:crs1 --portal 192.168.123.10 --login 
[root@db2 ~]# iscsiadm --mode node --targetname iqn.2012-07-04.com.yang.rac:crs2 --portal 192.168.123.10 --login 
[root@db2 ~]# iscsiadm --mode node --targetname iqn.2012-07-04.com.yang.rac:crs3 --portal 192.168.123.10 --login 
[root@db2 ~]# iscsiadm --mode node --targetname iqn.2012-07-04.com.yang.rac:data --portal 192.168.123.10 --login 
[root@db2 ~]# iscsiadm --mode node --targetname iqn.2012-07-04.com.yang.rac:fra  --portal 192.168.123.10 --login 
 
[root@db2 ~]# fdisk -l 
Disk /dev/sda: 85.8 GB, 85899345920 bytes 
255 heads, 63 sectors/track, 10443 cylinders 
Units = cylinders of 16065 * 512 = 8225280 bytes 
 
Device Boot  Start End  Blocks   Id  System 
/dev/sda1   *   1  13  104391   83  Linux 
/dev/sda2  14 523 4096575   82  Linux swap / Solaris 
/dev/sda3 524   1044379682400   83  Linux 
 
Disk /dev/sdb: 2147 MB, 2147483648 bytes 
67 heads, 62 sectors/track, 1009 cylinders 
Units = cylinders of 4154 * 512 = 2126848 bytes 
 
Disk /dev/sdb doesn't contain a valid partition table 
 
Disk /dev/sdc: 2147 MB, 2147483648 bytes 
67 heads, 62 sectors/track, 1009 cylinders 
Units = cylinders of 4154 * 512 = 2126848 bytes 
 
Disk /dev/sdc doesn't contain a valid partition table 
 
Disk /dev/sdd: 2147 MB, 2147483648 bytes 
67 heads, 62 sectors/track, 1009 cylinders 
Units = cylinders of 4154 * 512 = 2126848 bytes 
 
Disk /dev/sdd doesn't contain a valid partition table 
 
Disk /dev/sde: 10.7 GB, 10737418240 bytes 
64 heads, 32 sectors/track, 10240 cylinders 
Units = cylinders of 2048 * 512 = 1048576 bytes 
 
Disk /dev/sde doesn't contain a valid partition table 
 
Disk /dev/sdf: 10.7 GB, 10737418240 bytes 
64 heads, 32 sectors/track, 10240 cylinders 
Units = cylinders of 2048 * 512 = 1048576 bytes 
 
Disk /dev/sdf doesn't contain a valid partition table


三:开始配置udev

[root@db2 ~]# uname -r  //在本例中操作系统的版本位CentOS5.4 64bit 
2.6.18-164.el5 
[root@db2 ~]# lsb_release -a 
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 
Distributor ID: CentOS 
Description:CentOS release 5.4 (Final) 
Release:5.4 
Codename:   Final 
 
[root@db2 ~]# rpm -qa |grep udev 
udev-095-14.21.el5 
 
[root@db2 ~]# ps -ef |grep udev 
root  4646 1  0 10:14 ?00:00:00 /sbin/udevd -d 
root  6023  3039  0 10:32 pts/000:00:00 grep udev 
 
[root@db2 ~]# grep -v ^# /etc/udev/udev.conf  |grep -v ^$ 
udev_log="err"
 
[root@db2 ~]# scsi_id -g -u -s /block/sdb 
S_beaf11 
[root@db2 ~]# scsi_id -g -u -s /block/sdc 
S_beaf12 
[root@db2 ~]# scsi_id -g -u -s /block/sdd 
S_beaf13 
[root@db2 ~]# scsi_id -g -u -s /block/sde 
S_beaf14 
[root@db2 ~]# scsi_id -g -u -s /block/sdf 
S_beaf15 
 
[root@db2 ~]# cat /etc/udev/rules.d/99-raw.rules  
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="S_beaf11", NAME="asmdisk1", OWNER="grid",  
 
GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="S_beaf12", NAME="asmdisk2", OWNER="grid",  
 
GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="S_beaf13", NAME="asmdisk3", OWNER="grid",  
 
GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="S_beaf14", NAME="asmdisk4", OWNER="grid",  
 
GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="S_beaf15", NAME="asmdisk5", OWNER="grid",  
 
GROUP="asmadmin", MODE="0660"
 
[root@db2 ~]# ll /dev/asm* 
ls: /dev/asm*: No such file or directory 
[root@db2 ~]# /sbin/udevcontrol reload_rules 
[root@db2 ~]# /sbin/start_udev  
Starting udev: [  OK  ] 
[root@db2 ~]# ll /dev/asm* 
brw-rw---- 1 grid asmadmin 8, 16 Jul  4 12:05 /dev/asmdisk1 
brw-rw---- 1 grid asmadmin 8, 32 Jul  4 12:05 /dev/asmdisk2 
brw-rw---- 1 grid asmadmin 8, 48 Jul  4 12:05 /dev/asmdisk3 
brw-rw---- 1 grid asmadmin 8, 64 Jul  4 12:05 /dev/asmdisk4 
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路径。