深入討論Aix lvm 你該如何換硬盤
關(guān)于lvm是Aix中與odm一樣最難的部分,但是確實(shí)非常的實(shí)用。因?yàn)锳ix lvm這一部分涉及到的命令關(guān)系到你對整個Aix的物理存儲和邏輯存儲的理解,尤其是在換硬盤的時候,有時候還要涉及到上層的fs或裸設(shè)備。因?yàn)橛袝r侯由于你不太了解每個命令使用的后果,可能會畏懼為客戶的生產(chǎn)系統(tǒng)做相應(yīng)的操作。所以我想跟大家探討一下,就舉一個實(shí)例來做個深入的討論吧。
具體情況是這樣的,某個客戶可能由于歷史原因,有四塊7133-D40上的18.2GB的SSA硬盤(hdisk0~hdisk3)在一個uservg上。被做了基于Aix lvm的mirror,有就是說相關(guān)的LP對應(yīng)2個PP.但是分布卻是相互交錯的,不象兩塊硬盤做的lv copies那樣容易判斷l(xiāng)v的分布。
假設(shè)這時候突然出現(xiàn)hdisk2的P H磁盤操作錯誤。我們需要更換一塊硬盤代替hdisk2,這時候我們該考慮一下如何做是安全性最高和最有效率的方法呢,并且也要考慮每種方法的局限性,我把我的考慮按照優(yōu)先選擇的順序列出,請大家斧正。
一、 Aix lvm優(yōu)先選擇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的優(yōu)點(diǎn)是思路清晰,簡單,可以包括裸設(shè)備。將整個pv上的lvs全部遷移到新加的硬盤上,而且不用考慮lv上層的fs級別的情況,并且在執(zhí)行命令的時候不需要umount 相關(guān)的fs.而且也不會改變遷移的lv上層fs中目錄和文件的owner和執(zhí)行權(quán)限。因此成為首選。缺點(diǎn)是有可能hdisk2上某lv所在的pp嚴(yán)重?fù)p壞,可能遷移后無法使用?;?qū)е耺igratepv失敗。
二、 Aix lvm使用cplv.具體做法如下:
1、加兩塊新盤到陣列上分別成為hdisk4,hdisk5.
2、extendvg uservg hdisk4
3、smit vg建立一個臨時vg為tempvg,只包含hdisk5一個pv.
4、 用lspv –l hdisk2 看hdisk2中l(wèi)v的名稱和數(shù)量,作好記錄。
可結(jié)合命令lslv –m lvname 進(jìn)一步對lv copies的分布的情況做到心中有數(shù)。
5、 做cplv的時候要umount 相關(guān)的fs,否則無法執(zhí)行命令。
cplv –v tempvg –y lv00_copy lv00 把uservg中涉及到hdisk2上的所有l(wèi)vs(如:lv00)都逐一拷貝到hdisk5上,用名字來明確對應(yīng)關(guān)系
6、 rmlv –p hdisk2 lv00 把hdisk2上面的lvs都刪除。
7、 reducevg uservg hdisk2 從uservg中刪除hdisk2
8、 cplv –e lv00 lv00_copy 逐一把hdisk5上的lv copys都用拷貝回原來的lv,系
統(tǒng)自動會發(fā)現(xiàn)hdisk4的空盤并均衡的分布在hdisk4上。
這種方法能保證hdisk5中得到的是完好的lv.避免第一種方法的問題,但我沒做過測試,請老農(nóng)等諸位大哥幫我看看,問題是如果hdisk2中有l(wèi)oglv我就不知道怎么辦了。因?yàn)閘oglv是open的,不是fs,我不知道怎么使它off掉,如果一直open是沒辦法cplv的。
裸設(shè)備也是這樣吧。
三、不過請大家在做只前一定要為自己留一張牌出,首先類似cp –R 拷貝目錄,tar, mksysb,savgvg等備份文件系統(tǒng),就算出現(xiàn)不可期望的錯誤也能全身而退,揮一揮手,不帶走一絲云彩。
增加一點(diǎn)復(fù)雜度哈,如果hdisk2上有兩個loglv(loglv1和loglv2)沒有和其他盤做成1LP對應(yīng)2PP的lv copies.
我們怎么做呢?我的方法如下(經(jīng)過實(shí)踐考驗(yàn)):
1、extendvg uservg hdisk4
2、migratepv -l loglv1 hdisk2 hdisk4
migratepv -l loglv2 hdisk2 hdisk4
3、.rmlvcopy lv00 1 hdisk2
這樣逐一刪除原來hdisk2的lv mirror,實(shí)際上也取消掉了整個uservg的mirror,恢復(fù)到1LP對應(yīng)1PP狀態(tài)。
4、reducevg uservg hdisk2
5、mklvcopy lv00 2
這樣逐一在整個uservg上重新建立lv copies,系統(tǒng)會嚴(yán)格遵守Mirror的策略在hdisk4上分配相應(yīng)的lv copies.
6、syncvg -l lv00
逐一同步hdisk4上的lv copies,實(shí)際上就是lsvg -l uservg中顯示stale狀態(tài)的剛重新建立的lv.
(注意步驟6不能使用redbook書上寫的syncvg -p hdisk4,仔細(xì)想想為什么。
這里,我們對Aix lvm的講解就做了個簡單的介紹,還有很多的知識要學(xué),因?yàn)檫@部分知識很多。希望大家可以更好的學(xué)習(xí)。
【編輯推薦】