系統環境:aix5302,P650+7133D40 + ha5205 informix7.31,datavg上的pv為hdisk3,該vg為informix數據庫文件所在,數據文件為raw設備、在實施過程中將datavg改為concurrentvg capable,測試一下splitvg針對concurrent capable vg的狀況
遷移思路:將informix數據文件從hdisk3遷移到hdisk4
具體步驟:
1、首先確定informix可以正常啟動,正常之後,onmode -ky數據庫
2、將datavg修改為enhanced capable,用smitty改的,命令行應該是chvg -C
3、varoffvg datavg之後,在varyonvg datavg,注意這裡不是以concurrent mode varyon的,
但是datavg是 concurrent capable的
4、啟動數據庫,正常,onmode -ky數據庫
5、extendvg datavg hdisk4
6、smitty mirrorvg datavg,直到datavg上所有lv狀態為sync
7、鏡像之後,進行splitvg,splitvg -y snapvg -i datavg
將使得hdisk4脫離datavg而單獨形成一個snapvg(vg名任意),且也是concurrent capable屬性,必須手工varyonvg
8、執行成功之後,系統提示snapvg必須手工varyon
9、varyonvg snapvg,lsvg -l snapvg,lsvg -p snapvg,發現所有lv的名稱都加了一個fs前綴,且snapvg友hdisk4組成,
10、開始測試數據庫是否能夠正常啟動,可以通過兩種方式,1種是通過修改snapvg上的lv名,另一種通過informix數據庫來rename數據庫文件,informix學的還不夠精深,所以選擇使用第1種方法
11、vayoffvg datavg,exportvg datavg,這樣修改lv名就不會報重復的了
12、使用chlv -n newlvname oldlvname,把snapvg上lv名全部修改為之前的數據文件名
13、修改之後,varyoffvg sanpvg ,exportvg snapvg
14、importvg -y snapvg hdisk4
15、由於對snapvg做了一個exportvg importvg操作,所以必須修改數據文件的屬主為informix:informix chown informix:informix /dev/rlv*
16、現在測試是否能夠正常啟動數據庫,su - informix -c "oninit -v",正常啟動
17、su - informix 用戶下,tail -f online.log,onstat -r 2,onstat -l均正常,沒有發現異常
18、遷移ok
此次遷移將datavg改為了concurrent capable狀態,但是沒有配置ha,所以手工varyonvg -c datavg的時候總是報錯,索性就不用varyonvg -c了,直接varyonvg 在非concurrnet模式下做了,最後證明數據還是可以遷移的。
另外,對於concurrent capable的vg 如果上面有文件系統的話,在使用splitvg分離mirrorvg的時候,分離出來的vg上的文件系統的mount point不會修改,但是lv名還是添加fs前綴,mount point不會修改為/fs/*,需要chlv 修改lv label。