AIX VGDA

shilei1發表於2019-03-25

VGDA(Volume Group Descriptor Area),VG中包含了哪些PV都寫在了這一區域,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的資訊,並註冊到新小型機上,命令是importvg -y vg_name hdiskx
    vg_name是希望的VG名,在執行importvg時可以自定義VG名,因此係統中並沒有更改VG名稱的命令。如果想更改VG的名稱,先執行varyoffvg命令,再執行exportvg命令(磁碟上資料依然存在,只是將此VG在小型機系統中的定義刪除了),最後執行importvg

    在執行improtvg時候,系統可以從指定磁碟上讀到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。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/196700/viewspace-1223760/,如需轉載,請註明出處,否則將追究法律責任。