歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> Unix資訊 >> 深入討論Aix lvm 你該如何換硬盤

深入討論Aix lvm 你該如何換硬盤

日期:2017/3/6 11:40:14   编辑:Unix資訊

關於lvm是Aix中與odm一樣最難的部分,但是確實非常的實用。因為Aix lvm這一部分涉及到的命令關系到你對整個Aix的物理存儲和邏輯存儲的理解,尤其是在換硬盤的時候,有時候還要涉及到上層的fs或裸設備。因為有時侯由於你不太了解每個命令使用的後果,可能會畏懼為客戶的生產系統做相應的操作。所以我想跟大家探討一下,就舉一個實例來做個深入的討論吧。

具體情況是這樣的,某個客戶可能由於歷史原因,有四塊7133-D40上的18.2GB的SSA硬盤(hdisk0~hdisk3)在一個uservg上。被做了基於Aix lvm的mirror,有就是說相關的LP對應2個PP.但是分布卻是相互交錯的,不象兩塊硬盤做的lv copies那樣容易判斷lv的分布。

假設這時候突然出現hdisk2的P H磁盤操作錯誤。我們需要更換一塊硬盤代替hdisk2,這時候我們該考慮一下如何做是安全性最高和最有效率的方法呢,並且也要考慮每種方法的局限性,我把我的考慮按照優先選擇的順序列出,請大家斧正。

一、 Aix lvm優先選擇migratepv.具體做法如下:

1、 加一塊新盤到陣列上成為hdisk4.
2、 extendvg uservg hdisk4
3、 migratepv hdisk2 hdisk4遷移hdisk2上所有的lv到hdisk4
(你也可以用migratepv –l lvname hdisk2 hdisk4 逐一地將hdisk2上的lv遷移到hdisk4)
4、syncvg -fv uservg
使用migratepv的優點是思路清晰,簡單,可以包括裸設備。將整個pv上的lvs全部遷移到新加的硬盤上,而且不用考慮lv上層的fs級別的情況,並且在執行命令的時候不需要umount 相關的fs.而且也不會改變遷移的lv上層fs中目錄和文件的owner和執行權限。因此成為首選。缺點是有可能hdisk2上某lv所在的pp嚴重損壞,可能遷移後無法使用。或導致migratepv失敗。

二、 Aix lvm使用cplv.具體做法如下:

1、加兩塊新盤到陣列上分別成為hdisk4,hdisk5.
2、extendvg uservg hdisk4
3、smit vg建立一個臨時vg為tempvg,只包含hdisk5一個pv.
4、 用lspv –l hdisk2 看hdisk2中lv的名稱和數量,作好記錄。
可結合命令lslv –m lvname 進一步對lv copies的分布的情況做到心中有數。
5、 做cplv的時候要umount 相關的fs,否則無法執行命令。
cplv –v tempvg –y lv00_copy lv00 把uservg中涉及到hdisk2上的所有lvs(如:lv00)都逐一拷貝到hdisk5上,用名字來明確對應關系
6、 rmlv –p hdisk2 lv00 把hdisk2上面的lvs都刪除。
7、 reducevg uservg hdisk2 從uservg中刪除hdisk2
8、 cplv –e lv00 lv00_copy 逐一把hdisk5上的lv copys都用拷貝回原來的lv,系
統自動會發現hdisk4的空盤並均衡的分布在hdisk4上。
這種方法能保證hdisk5中得到的是完好的lv.避免第一種方法的問題,但我沒做過測試,請老農等諸位大哥幫我看看,問題是如果hdisk2中有loglv我就不知道怎麼辦了。因為loglv是open的,不是fs,我不知道怎麼使它off掉,如果一直open是沒辦法cplv的。
裸設備也是這樣吧。

三、不過請大家在做只前一定要為自己留一張牌出,首先類似cp –R 拷貝目錄,tar, mksysb,savgvg等備份文件系統,就算出現不可期望的錯誤也能全身而退,揮一揮手,不帶走一絲雲彩。

增加一點復雜度哈,如果hdisk2上有兩個loglv(loglv1和loglv2)沒有和其他盤做成1LP對應2PP的lv copies.
我們怎麼做呢?我的方法如下(經過實踐考驗):
1、extendvg uservg hdisk4
2、migratepv -l loglv1 hdisk2 hdisk4
migratepv -l loglv2 hdisk2 hdisk4
3、.rmlvcopy lv00 1 hdisk2
這樣逐一刪除原來hdisk2的lv mirror,實際上也取消掉了整個uservg的mirror,恢復到1LP對應1PP狀態。
4、reducevg uservg hdisk2
5、mklvcopy lv00 2
這樣逐一在整個uservg上重新建立lv copies,系統會嚴格遵守Mirror的策略在hdisk4上分配相應的lv copies.
6、syncvg -l lv00
逐一同步hdisk4上的lv copies,實際上就是lsvg -l uservg中顯示stale狀態的剛重新建立的lv.
(注意步驟6不能使用redbook書上寫的syncvg -p hdisk4,仔細想想為什麼。

這裡,我們對Aix lvm的講解就做了個簡單的介紹,還有很多的知識要學,因為這部分知識很多。希望大家可以更好的學習。

Copyright © Linux教程網 All Rights Reserved