在日常的数据库变更中,有时需要对RAC存储进行变更,我们知道最简便的方式及时通过ASM加减磁盘的方式,这对于使用的存储为相同类型时时十分简单的过程,但对于不同存储之间的切换,可能会遇到一些问题。比如,以前使用emc的存储,系统使用Linux自带的multipath多路径聚合方式,如果需要更换存储为华为存储,此时需使用华为多路径软件聚合,那么就会出现旧磁盘路径为/dev/maper/asm*,而新存储识别出的路径为/dev/asm*,此时就不能直接通过ASM加减磁盘的方式实现存储更换。对于该种更换存储路径的场景,有两种方式可以实现,一是使用UDEV绑定多路径别名时指定含有路径的别名如NAME='mapper/asm*',二是修改asm_diskstring,将/dev/mapper/*修改为/dev/*,本篇将简单简绍第一种方案。
场景:
旧存储使用Linux自带的multipath多路径聚合,ASM识别的存储/dev/mapper/asm*,打算更换为华为存储并使用华为多路径聚合。
方案:
使用UDEV对存储进行别名绑定,并使其生产的名称保持为/dev/mapper/asm*的格式。旧UDEV配置文件为:
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="360000970000295900314533030344131",
NAME+="asm_dg_crs_p1", ACTION=="add|change", OWNER="grid", GROUP="asmadmin",&nbs