#extendvg rootvg hdisk1报错:rootvg需要varyon(0555-0557)
情况:想加一块硬盘作镜像
原因:aix rootvg ODM库不同步
如果rootvg不能varyon的话系统启动时肯定就要报错0555-0557,但现在系统运行很正常,reboot过也没问题。底下几个命令的输出结果也很怪异。
#lspv
hdisk0 0066657dc6092c0b none
hdisk1 none none
#lsvg -o
lsvg: Unable to find device id 0066657d00004c00000000dc65c5cbc6 in the Device Configuration Database.
#lsvg rootvg
0516-010 : Volume group must be varied on; use varyonvg command.
后来用history发现有人用odmchange改过odm库。心中暗喜,synclvodm一下不就OK了。
#synclvodm -P -v rootvg
0516-010 : Volume group must be varied on; use varyonvg command.
#varyonvg rootvg
0516-008 varyonvg: LVM system call returned an unknown error code
这下郁闷了~这种错都能报出来,如果不是rootvg,这个case也很easy,export以后再重新import就搞定了。
用odmget把几个Cu开头的odm类都看看一边,感觉从这里入手比较麻烦,需要有个正常的odm库作对照,而且很容易出错。
后转变思路.
注意到前面lsvg -o的输出里有一串数字,0066657d00004c00000000dc65c5cbc6,这串数字肯定是个vgid,而系统只有1个vg,那肯定就是 rootvg的vgid,系统启动的时候需要读取的是vgid而不是rootvg这个名字,所以系统正常启动没有问题。
这里要解决的就是vgid跟真实的rootvg不对应的问题。
#redefinevg -d hdisk0 -i 0066657d00004c00000000dc65c5cbc6 rootvg
#varyonvg -b rootvg
用redefinevg强制建立rootvg对应关系,再用varyonvg -b强制激活rootvg(建议你做的时候最好是重启了……)然后按常规步骤作镜像就可以了:
#extendvg rootvg hdisk1
#chvg -Qn rootvg
#mirrorvg rootvgL
#bosboot -a -d /dev/hdisk1
#bootlist -m normal hdisk0 hdisk1