aix HDISK中丢失VGDA的恢复办法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了aix HDISK中丢失VGDA的恢复办法相关的知识,希望对你有一定的参考价值。

1台主机hdisk2的VGDA信息丢失,恢复的步骤:

 datavg包含hdisk1 hdisk4 hdisk2, 

hdisk2的VGDA信息丢失,(判断方法:lqueryvg -Atp hdisk2,无法得到结果) 

导致hdisk2中的LV全部不能MOUNT。 

#lsvg -p datavg 

hdisk1 active datavg 

hdisk2 missing datavg 

hdisk4 active datavg 

exportvg 以后,rmdev -dl hdisk2,此时hdisk2的PVID也没有了 lspv 

hdisk2 none None 

要恢复hdisk2中的LV信息,首先要把hdisk2想办法加入到datavg中。 # chdev -l hdisk2 -a pv=yes 

此时,hdisk2又恢复了以前的PVID了。 # synclvodm datavg 

将把hdisk2加入到datavg中,(因为系统的ODM库中,知道PVID=hdisk2是DATAVG的PV) # lspv 

hdisk2 0002039490ef datavg 

# exportvg datavg (从ODM库中删除VGDA的信息) 

# importvg -y datavg hdisk4 (不要HDISK2,因为此时HDISK2的VGDA是坏的) importvg 的时候,系统会再次做synclvodm,这次将会把系统ODM中VGDA的信息同步到hdisk2上。 # lsvg -p datavg hdisk1 active datavg hdisk2 active datavg hdisk4 active datavg 

此时,HDISK2上的VGDA信息又恢复了。里面的LV可以读写了。不过对于HDISK2上的文件系统,需要做 个fsck     

手工修改PVID 

如果某人对硬盘做过"chdev -l hdiskX -a pv=clear"的话,那么即使再使用"chdev -l hdisk* -a pv=yes"也无法获得原来的PVID了,这样就会导致原来的VG没法使用了。一般我们会使用recreatvg来修复,但是这样的话不仅lv name,fs name都改了,甚至mount point都需要改掉,数据虽然保住了,但是非常的麻烦。 

下面提供一个手工修改PVID的办法,以达到恢复数据的目的: 1. 首先取得硬盘VGDA区中的PVID。例如:    

#lqueryvg -p hdisk* -P  

000d097d5f36f79f 2 0 

2. 将pvid转换成8进制,注意两个字符为一组。例如:    

\00\015\011\0175\0137\066\0367\0237 3. 用dd将此PVID写入硬盘:    

#echo "\00\015\011\0175\0137\066\0367\0237\c" | dd of=/dev/hdiskX bs=1 seek=128 count=8 

4. 检查是否成功写入:    

#dd if=/dev/hdiskX bs=1 skip=128 count=8 | od -x 5. 删除该盘,再重新认一遍:    

#rmdev -dl hdiskX;cfgmgr –v 6. 最后再importvg 


以上是关于aix HDISK中丢失VGDA的恢复办法的主要内容,如果未能解决你的问题,请参考以下文章

(转)AIX下的MPIORDACSDDPCM多路径软件操作 (AIX下的MPIO,查看AIX下hdisk与盘柜卷lun的对应关系)

AIX: 查看未加入vg的hdisk容量比较常用的命令

IBM Aix系统 rootvg 镜像卷更换坏硬盘步骤

AIX小机lvm信息丢失数据恢复方案

aix的磁盘管理

xp电脑扩容C盘后盘符丢失寻回文件的办法