1. 程式人生 > >AIX 恢復檔案系統後產生的問題0516-013

AIX 恢復檔案系統後產生的問題0516-013

AIX 因為斷電損壞重新安裝,完了使用resotre恢復backup備份的檔案系統,首先出現問題,rootvg不能被varyon,當然因為是根卷組也不能exportvg:

0516-013 The volume group cannot be varied on because there are no good copies of the descriptor area

操作過程中報類似Unable to find device id 0066657d00004c00000000dc65c5cbc6 in the Device Configuration Database.錯誤,原錯誤訊息和操作步驟沒有記錄下來,但錯誤訊息和該訊息相似,下次解決問題時注意做好記錄

解決:

刪除odm中資料

odmdelete -q name=VolumeGroupName -o CuAt



再同步odm資料庫,報錯:
  1. #synclvodm -P -v rootvg
  2. 0516-010 : Volume group must be varied on; use varyonvg command.
再varyonvg也報錯:
  1. #varyonvg rootvg
  2. 0516-008 varyonvg: LVM system call returned an unknown error code (3).

使用一位兄弟的辦法問題解決:

重新定義卷組,再varyon,就可以了

  1. #redefinevg -d hdisk0 -i 0066657d00004c00000000dc65c5cbc6 rootvg
  2. #varyonvg -b rootvg

操作黑體字3步解決問題。

最後可能還需要執行同步卷組命令,做完上述操作後,增加附加語言環境有問題:0506-907 Cannot get volume group partition size

synclvodm -v -F rootvg

---------------------------------------------------------------

以下為引用一兄弟的文章:

 aix rootvg ODM庫不同步的問題

有臺爛機(偶都不好意思說),想加一塊硬碟

作映象。

  1. #extendvg rootvg hdisk1報錯說rootvg需要varyon。
複製程式碼



如果rootvg不能varyon的話系統 啟動時肯定就要報錯0555-0557,但現在系統執行很正常,reboot過也沒問題。底下幾個命令的輸出結果也很怪異。

  1. #lspv
  2. hdisk0 0066657dc6092c0b none
  3. hdisk1 none none
  4. #lsvg -o
  5. 0516-304 lsvg: Unable to find device id 0066657d00004c00000000dc65c5cbc6 in the Device Configuration Database.
  6. #lsvg rootvg
  7. 0516-010 : Volume group must be varied on; use varyonvg command.
複製程式碼



後來我用history發現有人用odmchange改過odm庫。心中暗喜,synclvodm一下不就OK了。

  1. #synclvodm -P -v rootvg
  2. 0516-010 : Volume group must be varied on; use varyonvg command.
  3. #varyonvg rootvg
  4. 0516-008 varyonvg: LVM system call returned an unknown error code (3).
複製程式碼


這下鬱悶了~這種錯都能報出來,如果不是rootvg,這個case也很easy,export以後再重新import就搞定了。
我用odmget把幾個Cu開頭的odm類都看看一邊,感覺從這裡入手比較麻煩,需要有個正常的odm庫作對照,而且很容易出錯。
後來我想到一個好主意,赫赫。
注意到前面lsvg -o的輸出裡有一串數字,0066657d00004c00000000dc65c5cbc6,這串數字肯定是個vgid,而系統只有1個vg,那肯定就 是 rootvg的vgid,系統啟動的時候需要讀取的是vgid而不是rootvg這個名字,所以系統正常啟動沒有問題。
這裡要解決的就是vgid跟真實的rootvg不對應的問題。

  1. #redefinevg -d hdisk0 -i 0066657d00004c00000000dc65c5cbc6 rootvg
  2. #varyonvg -b rootvg
複製程式碼


用redefinevg強制建立rootvg對應關係,再用varyonvg -b強制啟用rootvg(我是懶得重啟了,不推薦,省掉這一步reboot一下比較好)
然後按常規步驟作映象就可以了:

  1. #extendvg rootvg hdisk1
  2. #chvg -Qn rootvg
  3. #mirrorvg rootvg
  4. #bosboot -a -d /dev/hdisk1
  5. #bootlist -m normal hdisk0 hdisk1
複製程式碼