求高手点拨:双机切换由于无法fuser杀掉文件系统,导致varyofvg失败
现场版本情况如下:
AIX 5.3.0.9
Hacmp 5.4.1.2
现场在磁阵上划分了两个vg如下:
infoxvg:存放配置文件和话单,有如下两个lv
逻辑卷名 卷空间 文件系统 挂载点 建立命令
lv_infox 300GB jfs2 /infoxshare mklv -y 'lv_infox' -t 'jfs2' -e'x' infoxvg 300g
lv_infoxlog 256MB jfs2log 无 mklv -y 'lv_infoxlog' -t 'jfs2log' infoxvg 512m
oravg:放表空间裸设备文件,设备名如下
lv_control01
lv_control02
lv_control03
lv_sysaux
lv_system
lv_temp
lv_undotbs1
lv_usrs
lv_redolog1
lv_redolog2
lv_redolog3
lv_rawdata01~lv_rawdata24
双机配置了两个资源组,其中:
infoxvg分配到双机的infox_rg资源组并关联一个浮动IP,拉起双机优先运行在主机;
oravg分配到双机的ora_rg资源组并关联另一个浮动IP,拉起双机优先运行在备机。
执行smit clstart操作,资源组正常拉起,在主备机正常分布。当手工执行主机的infox_rg资源组向备机切换时,发现主机的/infoxshare并没有umount掉,infoxvg并没有在主机varyoff掉。在备机检查发现主机infoxvg和浮动IP已经成功挂载,
这种现象是不正常的。
检查hacmp.out日志如下
+infox_rg:cl_deactivate_vgs(.280):infoxvg[vgs_varyoff+145] lsvg -l -L infoxvg
+infox_rg:cl_deactivate_vgs(.410):infoxvg[vgs_varyoff+145] TMP_VG_LIST=$'infoxvg:nLV NAME TYPE LPs PPs PVs LV STATE MOUNT POINTnlv_infoxlog jfs2log 1 1 1 open/syncd N/Anlv_infox jfs2 600 600 1 open/syncd /infoxshare'
+infox_rg:cl_deactivate_vgs(.420):infoxvg[vgs_varyoff+167] OPEN_LVs=lv_infox
+infox_rg:cl_deactivate_vgs(.430):infoxvg[vgs_varyoff+199] fuser -k -u -x /dev/lv_infox
/dev/lv_infox:
+infox_rg:cl_deactivate_vgs(.440):infoxvg[vgs_varyoff+201] sleep 5
+infox_rg:cl_deactivate_vgs(5.390):infoxvg[vgs_varyoff+279] varyoffvg infoxvg
0516-012 lvaryoffvg: Logical volume must be closed. If the logical
volume contains a filesystem, the umount command will close
the LV device.
0516-942 varyoffvg: Unable to vary off volume group infoxvg.
+infox_rg:cl_deactivate_vgs(5.590):infoxvg[vgs_varyoff+281] RC=1
然后我手工执行fuser -k -u -x /dev/lv_infox,再执行varyoffvg infoxvg,依然提示失败,smit jfs2检查主备机文件系统mount point是正确配置的,且去掉了infox_rg资源组的Application Servers再次切换还是老样子因此排除了双机脚本的影响。请问有无前辈遇上过这种问题,请提供下解决的过程,不胜感激!
反观执行备机的ora_rg资源组向主机切换时,oravg可以成功的在备机varyoff掉:
+ora_rg:cl_deactivate_vgs(.230): oravg[vgs_varyoff+199] fuser -k -u -x /dev/lv_control01
/dev/lv_control01:
+ora_rg:cl_deactivate_vgs(.250): oravg[vgs_varyoff+199] fuser -k -u -x /dev/lv_control02
/dev/lv_control02:
。。。。
+ora_rg:cl_deactivate_vgs(.610): oravg[vgs_varyoff+199] fuser -k -u -x /dev/lv_rawdata24
/dev/lv_rawdata24:
+ora_rg:cl_deactivate_vgs(.620): oravg[vgs_varyoff+201] sleep 5
+ora_rg:cl_deactivate_vgs(5.610): oravg[vgs_varyoff+279] varyoffvg oravg
+ora_rg:cl_deactivate_vgs(5.610): oravg[vgs_varyoff+281] RC=0
(注意:双机已经做过了同步、重启机器等操作)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
在主备机分别看看lsvg infoxvg
回复 3# yddll
我测试tar压缩一个大文件(很耗时间),与此同时用fuser /usr/bin/tar 都看不出来这个进程在被调用啊。
有啥进程访问文件系统呗
本帖最后由 tangerrine 于 2011-03-18 23:12 编辑
似乎与这个bug一样,但是版本又不同,lz看下
http://ensighine.wordpress.com/2011/02/19/