首页 > 代码库 > oracle ASM安装过程中UDEV实现磁盘绑定

oracle ASM安装过程中UDEV实现磁盘绑定

UDEV相较于ORACLE 自己的ASMlib 相对比较成熟。

文章转载自:  Maclean Liu的个人技术博客 [http://www.oracledatabase12g.com/]  

在<Why ASMLIB and why not?>我们介绍了使用ASMLIB作为一种专门为Oracle Automatic Storage Management特性设计的  

内核支持库(kernel support library)的优缺点,同时建议使用成熟的UDEV方案来替代ASMLIB。  

 

这里我们就给出配置UDEV的具体步骤,还是比较简单的:    

1.确认在所有RAC节点上已经安装了必要的UDEV包  

[root@rh2 ~]# rpm -qa|grep udev  

udev-095-14.21.el5  

  

2.通过scsi_id获取设备的块设备的唯一标识名,假设系统上已有LUN sdc-sdp  

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  

 

sdc 1IET_00010001  

sdd 1IET_00010002  

sde 1IET_00010003  

sdf 1IET_00010004  

sdg 1IET_00010005  

sdh 1IET_00010006  

sdi 1IET_00010007  

sdj 1IET_00010008  

sdk 1IET_00010009  

sdl 1IET_0001000a  

sdm 1IET_0001000b  

sdn 1IET_0001000c  

sdo 1IET_0001000d  

sdp 1IET_0001000e   

  

以上列出于块设备名对应的唯一标识名    

3.创建必要的UDEV配置文件,  

首先切换到配置文件目录  

[root@rh2 ~]# cd /etc/udev/rules.d  

定义必要的规则配置文件  

[root@rh2 rules.d]# touch 99-oracle-asmdevices.rules   

[root@rh2 rules.d]# cat 99-oracle-asmdevices.rules  

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="1IET_00010001", NAME="ocr1", OWNER="grid", GROUP="asmadmin", MODE="0660"  

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="1IET_00010002", NAME="ocr2", OWNER="grid", GROUP="asmadmin", MODE="0660"  

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="1IET_00010003", NAME="asm-disk1",  OWNER="grid",  GROUP="asmadmin", MODE="0660"  

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="1IET_00010004", NAME="asm-disk2",  OWNER="grid",  GROUP="asmadmin", MODE="0660"  

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="1IET_00010005", NAME="asm-disk3",  OWNER="grid",  GROUP="asmadmin", MODE="0660"  

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="1IET_00010006", NAME="asm-disk4",  OWNER="grid",  GROUP="asmadmin", MODE="0660"  

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="1IET_00010007", NAME="asm-disk5",  OWNER="grid",  GROUP="asmadmin", MODE="0660"  

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="1IET_00010008", NAME="asm-disk6",  OWNER="grid",  GROUP="asmadmin", MODE="0660"  

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="1IET_00010009", NAME="asm-disk7",  OWNER="grid",  GROUP="asmadmin", MODE="0660"  

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="1IET_0001000a", NAME="asm-disk8",  OWNER="grid",  GROUP="asmadmin", MODE="0660"  

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="1IET_0001000b", NAME="asm-disk9",  OWNER="grid",  GROUP="asmadmin", MODE="0660"  

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="1IET_0001000c", NAME="asm-disk10", OWNER="grid",  GROUP="asmadmin", MODE="0660"  

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="1IET_0001000d", NAME="asm-disk11", OWNER="grid",  GROUP="asmadmin", MODE="0660"  

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="1IET_0001000e", NAME="asm-disk12", OWNER="grid",  GROUP="asmadmin", MODE="0660"  

  

Result 为/sbin/scsi_id -g -u -s %p的输出--Match the returned string of the last PROGRAM call. This key may be  

used in any following rule after a PROGRAM call.  

按顺序填入刚才获取的唯一标识名即可  

 

OWNER为安装Grid Infrastructure的用户,在11gr2中一般为grid,GROUP为asmadmin  

MODE采用0660即可  

  

NAME为UDEV映射后的设备名,  

建议为OCR和VOTE DISK创建独立的DISKGROUP,为了容易区分将该DISKGROUP专用的设备命名为ocr1..ocrn的形式  

其余磁盘可以根据其实际用途或磁盘组名来命名  

  

4.将该规则文件拷贝到其他节点上  

[root@rh2 rules.d]# scp 99-oracle-asmdevices.rules Other_node:/etc/udev/rules.d  

  

5.在所有节点上启动udev服务,或者重启服务器即可   

[root@rh2 rules.d]# /sbin/udevcontrol reload_rules  

[root@rh2 rules.d]# /sbin/start_udev  

Starting udev:                                            [  OK  ]  

  

6.检查设备是否到位  

[root@rh2 rules.d]# cd /dev  

[root@rh2 dev]# ls -l ocr*  

brw-rw---- 1 grid asmadmin 8, 32 Jul 10 17:31 ocr1  

brw-rw---- 1 grid asmadmin 8, 48 Jul 10 17:31 ocr2  

  

[root@rh2 dev]# ls -l asm-disk*  

brw-rw---- 1 grid asmadmin 8,  64 Jul 10 17:31 asm-disk1  

brw-rw---- 1 grid asmadmin 8, 208 Jul 10 17:31 asm-disk10  

brw-rw---- 1 grid asmadmin 8, 224 Jul 10 17:31 asm-disk11  

brw-rw---- 1 grid asmadmin 8, 240 Jul 10 17:31 asm-disk12  

brw-rw---- 1 grid asmadmin 8,  80 Jul 10 17:31 asm-disk2  

brw-rw---- 1 grid asmadmin 8,  96 Jul 10 17:31 asm-disk3  

brw-rw---- 1 grid asmadmin 8, 112 Jul 10 17:31 asm-disk4  

brw-rw---- 1 grid asmadmin 8, 128 Jul 10 17:31 asm-disk5  

brw-rw---- 1 grid asmadmin 8, 144 Jul 10 17:31 asm-disk6  

brw-rw---- 1 grid asmadmin 8, 160 Jul 10 17:31 asm-disk7  

brw-rw---- 1 grid asmadmin 8, 176 Jul 10 17:31 asm-disk8  

brw-rw---- 1 grid asmadmin 8, 192 Jul 10 17:31 asm-disk9  

 

oracle ASM安装过程中UDEV实现磁盘绑定