环境:AIX5307+HA+ORACLE RAC 以裸设备为基础
昨天客户要求扩大与数据库相关的若干LV的大小,我操作了之后出现以下问题,
首先说说做的步骤
1、停双机的HA
2、在B机上 # exportvg oradatavg
3、在A机上 # varyonvg oradatavg
4、在A机上 # smitty lv 增加要扩容的LV的大小
5、在A机上 # lsvg -l oradatavg 查看修改后的状态,成功。# varyoffvg oradatavg
6、在B机上 # importvg -y oradatavg hdisk2
7、在B机上 # varyonvg oradatavg 最后 # lsvg -l oradatavg 查看修改后的状态,成功
8、在B机上 # varyoffvg oradatavg
9、在A机上 # smitty hacmp 同步HA,成功
10、启动双机HA
出现的问题:
执行以上步骤之后,启动HA之后发现A机接管了所有服务IP ,并正常启动了数据库,而B机则只显示出共享卷组,服务IP没有接管,这种情况与双机正常时,B机出故障之后,切换的A机的状况一致。经分析B机的CRS没有启动,因此A机承担了两个服务IP。根据这个推测做出以下测试。
测试步骤:
1、停止两台机器的HA
2、在A机上# varyonvg oradatavg
3、在A机上手工启动CRS,成功
4、在A机上手工启动监听,成功
5、在A机上手工启动数据库,成功,业务应用无故障
6、停止A机的数据库,监听,CRS和VG
7、在B机上同样执行2-5步
8、在B机上执行到第二步是出现问题,CRS不能启动,提示CRSD IS DOWN。因此测试失败。
9、推测,由于RAC+HA模式,HA只负责提供共享卷组,现在共享卷组可以在两机上看到。而CRS负责服务IP的挂载和切换,现在问
题出现在服务IP不能挂载上,因此推测是CRS出现问题(两机起、停脚本均没有问题)。但是在做LV扩容之前并没有任何为题发生
因此必定是在LV扩容的时候出现了某些问题,导致CRS启动失败,因此在两台机器的LV属性中查找原因。最后找到原因如下:
经过A、B两机的对比,发现在A机上和数据库有关的LV属组是oracle:dba而在B机上的属性则变成root:system。因此判断可能是B机属性不对引起了CRS不能启动,那么解决的办法就是修改B机上的LV的属性,这时我产生了一些疑问,希望专家能够解答:
因为现在A、B两级均能看见共享卷组即oradatavg而单单只有B机上的属组需要修改,是应该在A机上把共享卷组停掉,然后在B机启动,之后修改?还是应该从A机中把卷组导出,然后在B机上修改,在往A机导入?或是在线直接在B机上修改?又或者是还有什么其他的方法修改呢?
注:有人建议,停HA,然后在B机上将卷组导出之后,再用# importvg -R参数在B机上导入,就可以把A机上上属性,直接导入到B机但是查找 importvg -R参数的意思是“恢复逻辑卷特殊设备文件的所有权、组标识和许可权。只有用
mklv 和
chlv 命令的
U、
G 和
P 标志设置这些值时,这些值才可被恢复。该标志仅适用于可伸缩的大 vg 格式卷组。”意思没怎么看懂,不知道有没有哪位大侠,用过-R参数的指教一下小弟。如果这种方法可行,且对数据没有影响,那该方法应该是最快的。
此问题很急,希望专家们帮忙,谢谢。
收起