linux主机未绑定5300V3映射的磁盘导致主机重启后数据库无法拉起

发布时间:  2016-03-17 浏览次数:  519 下载次数:  0
问题描述

局点使用5500 V3异构虚拟化接管现网EMC存储,主机层业务为oracle RAC,业务运行一段时间后主机发生重启,重启后在OS层面识别到的盘符发生变化,导致数据库无法拉起,业务受到影响

告警信息

数据库无法拉起,启动Oracle报错,提示文件头损坏,Oracle挂载不了分区

处理过程

经过排查,发现主机重启以后,操作系统识别到的盘符发生了变化,而当前数据库使用ASM管理磁盘,绑定的是盘符,所以盘符变化导致数据库无法拉起

根因

现场环境为redhat操作系统,Linux内核中,SCSI硬盘盘符的分配与驱动扫描到的硬盘先后顺序有关,即第一块扫描到的硬盘盘符为/dev/sda,第二块盘符为/dev/sdb ... 依次类推。磁盘扫描顺序发生变化时,就会出现盘符漂移,当用户重启环境时,由于早期占有的盘符已经释放,盘符由(sdj~sds)变成了(sdf~sdp)。

解决方案

通过写oracle规则文件,绑定磁盘的scsi id,以此来规避盘符变化带来的影响

使用udev绑定配置ASM磁盘组。具体操作步骤如下:

1、获取磁盘scsi_id

 

[root@localhost ~]# ls –l /dev/disk/by-id

2、asm rule 规则

 

#cat /etc/udev/rules.d/99-Oracle-asmdevices.rules

KERNEL=="sd*",BUS="scsi",PROGRAM== "/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",

RESULT=="3690b11c0002be80e00000ce3514380db",

NAME="asm-crs01", OWNER="grid",GROUP="asmadmin",MODE="0660"

 

3、重启udev服务

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

 

4、查看ASM设备

[root@localhost rules.d]# ll /dev/asm*

brw-rw----. 1 root root 8, 17 3  27 11:30 /dev/asm-crs01

 

建议与总结

针对oracle RAC使用ASM管理磁盘的场景,需要绑定磁盘的scsi id以规避主机操作系统重启后出现盘符漂移带来的影响

END