ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 多路径引起的11.2.0.3 rac不能启动

多路径引起的11.2.0.3 rac不能启动

Linux操作系统 作者:东方友诚 时间:2015-07-25 07:19:23 0 删除 编辑
  今天一套11.2.0.3数据库由于停电启动不了了,此数据库环境为oracle linux6.1+裸设备+asm+11.2.0.3rac,由于这套库是同事装的,他没找到 2.6.32-100.34.1.el6uek.x86_64内核的asmlib,(其实是有的,连接如下:
,就采用了底层用裸设备绑定linux多路径磁盘,如raw /dev/raw/raw1 /dev/mapper/mpathap1这种方式绑定,停电后,就自启动不了了,我尝试手工启动也都启动不了,其中操作系统日志报错如下:

Oct 24 15:06:01 db1 multipathd: asm/.asm_ctl_vbg7: failed to store path info

Oct 24 15:06:01 db1 multipathd: uevent trigger error

Oct 24 15:06:01 db1 multipathd: asm/.asm_ctl_vbg3: add path (uevent)

Oct 24 15:06:01 db1 multipathd: asm/.asm_ctl_vbg3: failed to get sysfs information

Oct 24 15:06:01 db1 multipathd: asm/.asm_ctl_vbg3: failed to store path info

集群alter日志报错如下:

[cssd(9433)]CRS-1714:Unable to discover any voting files, retrying discovery in 15 seconds; Details at (:CSSNM00070:) in /u01/app/11.2.0/grid/log/db2/cssd/ocssd.log

2012-10-24 13:30:32.701

两个节点都启动不了,报同样的错,怀疑是多路径的问题,用maclean的方法直接启动asm而不启动crs,crsctl start crs -excl -nocrs,虽然asm是启动了,但在asmcmd命令里lsdg,什么都看不到,所以问题就集中在了集群就看不到裸设备/dev/raw/raw*,但在操作系统用户grid是可以访问的,为了验证可以访问,采用dd if=/dev/raw/raw1 f=/tmp/raw1 bs=1024k count=1,结果都能dd出来,其他几个盘有一两个盘是报device busy错,但重启系统后,并手工停止crs(crsctl stop crs -f)后,可以成功dd出来,但还是启动不了集群,感觉还是多路径软件的问题,于是采用udev绑定磁盘的方式,

在/dev/udev/rules.d/99-oracle-asmdevices.rules加入下面内容,

KERNEL=="sd?1",BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u /dev/$name",RESULT=="360a9800065345036686f43462d7a2d75",NAME="asm-disk1", WNER="grid", GROUP="oinstall",MODE="0660"

KERNEL=="sd?1",BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u /dev/$name",RESULT=="360a9800065345036686f434641334557",NAME="asm-disk2", WNER="grid", GROUP="oinstall",MODE="0660"

KERNEL=="sd?1",BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u /dev/$name",RESULT=="360a9800065345036686f434641373630",NAME="asm-disk3", WNER="grid", GROUP="oinstall",MODE="0660"

KERNEL=="sd?1",BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u /dev/$name",RESULT=="360a9800065345036686f434641305977",NAME="asm-disk4", WNER="grid", GROUP="oinstall",MODE="0660"

KERNEL=="sd?1",BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u /dev/$name",RESULT=="360a9800065345036686f434641356230",NAME="asm-disk5", WNER="grid", GROUP="oinstall",MODE="0660"

KERNEL=="sd?1",BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u /dev/$name",RESULT=="360a9800065345036686f4346414e496e",NAME="asm-disk6", WNER="grid", GROUP="oinstall",MODE="0660"

KERNEL=="sd?1",BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u /dev/$name",RESULT=="360a9800065345036686f43464139477a",NAME="asm-disk7", WNER="grid", GROUP="oinstall",MODE="0660"

然后把裸设备绑定去掉,并关闭多路径软件服务,service multipathd stop ;chkconfig multipathd off;

为了能让集群能认到udev盘,在/etc/rc.local中加入如下内容:

ln /dev/asm-disk1 /dev/raw/raw1   

ln /dev/asm-disk2 /dev/raw/raw2   

ln /dev/asm-disk3 /dev/raw/raw3   

ln /dev/asm-disk4 /dev/raw/raw4   

ln /dev/asm-disk5 /dev/raw/raw5   

ln /dev/asm-disk6 /dev/raw/raw6   

ln /dev/asm-disk7 /dev/raw/raw7

这里,加的是硬链接而不是软连接,因为软连接不能连接原来的属组和权限

然后重启操作系统后,

[root@db2 ~]# ll /dev/asm*

brwxrwxrwx. 2 grid oinstall  8, 145 Oct 24 18:06 /dev/asm-disk1

brwxrwxrwx. 2 grid oinstall 65,  49 Oct 24 16:27 /dev/asm-disk2

brwxrwxrwx. 2 grid oinstall  8, 209 Oct 24 16:27 /dev/asm-disk3

brwxrwxrwx. 2 grid oinstall 65,  33 Oct 24 16:27 /dev/asm-disk4

brwxrwxrwx. 2 grid oinstall  8, 193 Oct 24 16:32 /dev/asm-disk5

brwxrwxrwx. 2 grid oinstall 65, 129 Oct 24 18:06 /dev/asm-disk6

brwxrwxrwx. 2 grid oinstall 65, 113 Oct 24 18:06 /dev/asm-disk7


/dev/asm:

total 0

[root@db2 ~]# ll /dev/raw/raw*

brwxrwxrwx. 2 grid oinstall   8, 145 Oct 24 18:06 /dev/raw/raw1

brwxrwxrwx. 2 grid oinstall  65,  49 Oct 24 16:27 /dev/raw/raw2

brwxrwxrwx. 2 grid oinstall   8, 209 Oct 24 16:27 /dev/raw/raw3

brwxrwxrwx. 2 grid oinstall  65,  33 Oct 24 16:27 /dev/raw/raw4

brwxrwxrwx. 2 grid oinstall   8, 193 Oct 24 16:32 /dev/raw/raw5

brwxrwxrwx. 2 grid oinstall  65, 129 Oct 24 18:06 /dev/raw/raw6

brwxrwxrwx. 2 grid oinstall  65, 113 Oct 24 18:06 /dev/raw/raw7

crw-rw----. 1 root disk     162,   0 Oct 24 16:27 /dev/raw/rawctl

这里采用硬链接的方式偷梁换柱,这里的/dev/raw/raw1,已经不是原来的裸设备了,然后启动集群:

/u01/app/11.2.0/grid/bin/crsctl start crs

集群竟然启动成功了,耗时将近一天,写个log,为以后处理多路径类似问题做参考,但如果时间充足的话,可以修改asm disks path的,使用/dev/asm-disk*来代替现在的/dev/raw/raw*,可以参考maclean的处理方式:http://www.askmaclean.com/archives/howto-change-11gr2-asm-disk-path.html

 

 


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30036720/viewspace-1750210/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-11-24

  • 博文量
    144
  • 访问量
    336912