- 論壇徽章:
- 0
|
最近在回顧以前做過(guò)的一些項(xiàng)目,看到前年做的一個(gè)數(shù)據(jù)遷移的項(xiàng)目,覺(jué)得比較實(shí)用,現(xiàn)在分享給大家:
背景:磁盤(pán)陣列替換,需要將數(shù)據(jù)從老的磁盤(pán)陣列中遷移至新的磁盤(pán)陣列,磁盤(pán)陣列為不同廠家品牌.
主機(jī):HP-UX 11.11
方案要求:將存儲(chǔ)A上的數(shù)據(jù)遷移到存儲(chǔ)B上,原卷屬性不得更改,并且需要有回退計(jì)劃.
遷移步驟(下面是按照只有一臺(tái)主機(jī)來(lái)進(jìn)行操作,如果有大量主機(jī)的話,則需要寫(xiě)腳本來(lái)執(zhí)行)
我們使用的是HP-UX的mirror軟件進(jìn)行數(shù)據(jù)遷移:
1. 劃分新存儲(chǔ)上面的lun,注意lun的大小最好和原來(lái)的存儲(chǔ)上的lun一樣大,因?yàn)橐鰉irror,否則會(huì)空間浪費(fèi).
2. 將劃分好的lun分配到原有的VG組中,注意VG中的MAX PV的大小,當(dāng)前的pv數(shù)必須<=MAX PV的一半,否則新增磁盤(pán)將無(wú)法加入,如果這樣的話,則需要重新建立VG,修改參數(shù)。我們?cè)趯?shí)際操作中,遇到了少量的VG組沒(méi)有滿足條件,因此只能重建。
3、進(jìn)行卷級(jí)的鏡像操作:
# lvextend -m 1 /dev/vg01/lv01 /dev/dsk/cxtxdx (/dev/dsk/cxtxdx 為新存儲(chǔ)的lun)
4、等mirror完成后,進(jìn)行分離。注意,考慮到回退,原卷不能馬上刪除。
# lvsplit -s new /dev/vg01/lv01 ( 這步完成后,會(huì)形成一個(gè)新的卷,叫l(wèi)v01new,此卷在新的存儲(chǔ)上)
5. 此時(shí),lv01在老存儲(chǔ)上,lv01new在新的存儲(chǔ)上,由于不能更改原卷的名稱(chēng),因此需要將lv01new更改成lv01,而原lv01則更改成其他名稱(chēng).
# umountall -F vxfs
# vgexport -s -p -v -m vg01.map vg01
# 修改vg01.map文件,將文件中l(wèi)v01new改成lv01,而將lv01改成lv01old
# vgchange -a n vg01
# vgexport vg01
# mkdir /dev/vg01
# mknod /dev/vg01/group c 64 0x010000
# vgimport -s -m vg01.map vg01
# vgchange -a y vg01
# fsck
# mountall -F vxfs
6. 總結(jié):hp-ux 的mirror工具是一個(gè)很好的數(shù)據(jù)遷移工具,但同時(shí)又有諸多限制,特別是VG的參數(shù)一旦VG建立好了,要想改,只有重建VG,以前用過(guò)vgmodify(HP 內(nèi)部工具),但發(fā)現(xiàn)出錯(cuò)率很高,不保險(xiǎn)。另外,一些特殊的lv無(wú)法用mirror方式進(jìn)行遷移,如lv 建立了stripe的方式等。因此,建議大家在使用mirror做遷移的時(shí)候,需要事先詳細(xì)的檢查自己目前環(huán)境下主機(jī)的一些LVM的設(shè)置。
VG 參數(shù)的一些限制:
MAX PV:該VG組中允許加入最大的PV數(shù),這個(gè)在做mirror的時(shí)候很關(guān)鍵,如果太小,那無(wú)法加入新存儲(chǔ)的磁盤(pán)。
MAX PE Per Pv :一般默認(rèn)情況下建立的VG,這個(gè)值是按照PV SIZE/PE SIZE得出的,因此如果你加入的磁盤(pán)比原存儲(chǔ)的磁盤(pán)大,那加入VG的時(shí)候,也會(huì)按照原磁盤(pán)的大小來(lái)使用,這樣會(huì)浪費(fèi)磁盤(pán)空間。解決方法,要么重建VG ,要么新磁盤(pán)大小=原磁盤(pán)大小。
LV STRIPE:那些建立了LV Stripe方式的卷,mirror無(wú)法進(jìn)行遷移,只能通過(guò)導(dǎo)磁帶的方式了。
以上是自己總結(jié)的一些經(jīng)驗(yàn),供大家參考! |
-
繪圖4.jpg
(17.65 KB, 下載次數(shù): 54)
下載附件
2008-09-04 14:14 上傳
|