常规步骤:
在迁移前后,如果CRS使用的盘的路径发生改变(如 从使用/dev/rhdiskXX 变成 /dev/rhdiskpowerXX 或者 从/dev/rhdiskpowerXX 变成 /dev/rhdiskXX 或者其他类似变化),需要在确定即将进行迁移动作,手动停止CRS之前修改ASM实例里的asm_diskstring为目标字符串,并只修改spfile即可;
例如:迁移前使用的磁盘为/dev/rhdiskXX,迁移后使用的磁盘将是/dev/rhdiskpowerXX ;
需要在迁移前,执行下面的修改操作:
alter system set asm_diskstring=’/dev/rhdiskpower*’ scope=spfile;
后续迁移完存储磁盘即可正常启停CRS;
应急方法:
如果在迁移前未做上述操作;
或者在做了类似上述修改操作但是最终未能完成存储迁移工作;
即在CRS停止的情况下asm_diskstring 与 实际使用的磁盘无法匹配的情况下,CSSD 无法启动,可以使用下面应急方法处理:
使用grid用户执行:
1)进入gnpp profile所在目录:
cd /u01/app/11.2.0/grid/gpnp/$hostname/profiles/peer
2)拷贝一份profile用于修改:
cp profile.xml profile.bak1130
3)移除标识信息
gpnptool unsign -p=profile.bak1130
4)修改asm参数
gpnptool edit -asm:asm_dis='/dev/asm-disk*' -p=profile.bak1130 -o=profile.bak1130 -ovr
5)给刚修改的文件加上标识信息,并将其输出到profile.new 文件中
gpnptool sign -p=profile.bak1130 -w=file:/oracle/app/11.2.0.4/grid/gpnp/$hostname/wallets/peer -o=profile.new
6)备份原profile.xml
cp profile.xml profile.xml.bak1130_2
7)替换原profile.xml,让我们的修改生效
mv profile.new profile.xml
8)将新的profile.xml 使用scp的方式拷贝到集群另一节点同目录下,覆盖原profile.xml,覆盖前备份原profile.xml
9)重启CRS
如果CRS未启动,则手动启动crs
如果CRS在启动过程中,可以手动kill相关的gpnp进程
ps –ef|grep –i gpnp
kill掉上面查询到的进程
10)重启后需要手动修改asm实例中的asm_diskstring 值为正确值;
注:上述描述中$hostname 即只当前节点的主机名, profile. bak1130 和 profile.new为人工取名的文件名,只需要不与目录下其他文件重名覆盖了其他文件即可;