您的位置:首页 > 其它

LVM2 Logical Volume Manager 详解(三)--VGDA卷组描述区域

2014-07-27 10:14 211 查看
VGDA(Volume Group Descriptor Area),VG中包含了哪些PV都写在了VG中的一个区域,这个区域就是VGDA,VGDA记录了VG的很多重要相关信息,包括VG中包含的PV的PV ID。

VGDA非常重要,所以被保存了多份。

如果VG中只有一块磁盘,则该磁盘上保存2份VGDA;
VG包含2块磁盘,则第1块磁盘包含2份VGDA,第2块只包含1份;
VG中包含3块磁盘,则每个磁盘都保存有1份VGDA。

完好的VGDA与VG中总磁盘总数之比为Quorum,如果Quorum小于50%,此VG不能被继续访问,如果已经被激活,则自动关闭。由于每一块磁盘上至少有一份VGDA,所以在一个新小型机上,只要给出未知VG中一块磁盘,就可以正确识别全部VG的信息,并注册到新小型机上,这个过程叫Import

命令是
<span style="font-size:12px;">importvg -y vg_name hdiskx</span>

vg_name是希望的VG名,在执行importvg时可以自定义VG名,因此系统中并没有更改VG名称的命令,如果想更改VG的名称,需要先执行exporrtvg命令,此命令没有对磁盘进行任何操作,磁盘上数据依然存在,只是将此VG在小型机系统中的定义删除了,任何时候可以重新Import回来. 在执行importvg时候,系统可以从指定磁盘上读到VG中所有磁盘的定义,但如果VG中一些磁盘没有被系统识别到,(通过PV ID找寻到,VGDA中包含某个PVID在操作系统中所有磁盘设备上都找不到,可能的原因既包括该磁盘不存在,也可能是PVID没有正确读出来).那么系统将计算Quorum,大于50%,可以执行,但会有警告,小于50%,不允许improt此VG.系统管理PV完全是靠PVID,尽管HDISKX设备号可变,但PVID不会变.拿到另一台机器也是如此,如果用命令改变了PVID,系统将认为原来的磁盘消失了,不能再找回来.更不巧的是,如果原有的PV还属于某个VG,那么这个VG再也发现不了他原来的成员盘,这个盘上的数据就无法找回,虽然磁盘和数据都存在.

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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: