您好,登錄后才能下訂單哦!
在AIX環境下,若因維護誤操作、存儲mapping錯誤等,不小心將LV誤刪除,這種損失通常是巨大的。刪除后的不當保護及恢復操作可能使數據無法恢復,也可能增加處理的時間與算法復雜度。如何有效保護現場,并選擇正確的數據恢復方案是非常重要的。
AIX的存儲層有太多文章描述,做為鋪墊,簡要描述一下。PV相當于物理磁盤(對于存儲,是存儲映射過來的卷,對于操作系統而言,等同于物理硬盤),若干個PV組成一個VG,意味著可以將容量不同的存儲空間合起來統一分配。為了實現這個目的,AIX把同一個VG的所有PV按相同大小的存儲顆粒進行空間編排,這個存儲顆粒就是PP。而分配空間時,以若干個PP(可能是不同PV上的),做為使用集合,這個集合就是LV。
AIX的LVM層VGDA區域有一個固定的PP到LV的映射表,稱為PPMAP。每個PV的所有PP從第一個(PP#1)開始,以固定大小的32個字節記錄本PP歸屬于哪個LV。刪除AIX中VG的某個LV,底層上最根本的就是釋放這個LV原先占用的PP,也就是清0之前所有占用PP的32字節PPMAP條目,另外還會做一些諸如LV名稱的清理、LV設備摘要信息的清理等工作。
LV被刪除后,不建議貿然嘗試用mklv等操作試圖進行災難恢復。雖然mklv本質上不會清除pp內容區,但有些情況會損壞數據,比如:如果故障前后的PP分配表不相同,但前面PP表分配正確,這樣,文件系統可能可以識別,甚至于可以掛上。不過,麻煩的是,掛上后某些結構可能會出現錯誤,以至于被系統自動修正,事情就會變得更糟。即便是只讀方式mount,也不是最優選的做法。
如果時間允許,AIX LV刪除后的恢復方案大致為:
1、保持VG狀態,不新建任何LV。
2、使用備份手段,對VG中所有的PV做完整鏡像。
3、在鏡像中進行數據提取恢復。或保護鏡像后以分析好的PPMAP,重建丟失的LV。
上述方案的宗旨為:所有操作盡可能可回溯。
【如何完整鏡像故障卷】
來說說如何對AIX中的PV做完整鏡像(從目前的數據恢復技術看,多數處理和分析過程首選是WINDOWS環境,所以,鏡像方案盡量兼顧鏡像出來的數據可以在WINDOWS下直接訪問):
第一種方法:如果存儲自身有卷鏡像功能,可以嘗試之。
第二種方法:如果AIX環境中有足夠空間,放得下需要鏡像的pv,可以將pv鏡像成文件(或LV)。如果是文件,可以通過FTP等手段傳出來。(不建議此方法)
第三種方法:另外構建一臺NFS server,以nfs的方式用dd將pv鏡像到nfs上。當然如果aix上可以掛載cifs,甚至于直接可以鏡像到windows的共享文件夾下。但windows下如果生成大文件,有可能會越來越慢,可以盡量使用WINDOWS2008或選擇其他方案。
第四種方法:建議的方案。具體為構建塊設備mapping至aix環境,直接以塊設備至塊設備的方法進行鏡像。可選擇的塊設備有fc lun,iscsi等。如果不具備fc環境的支撐,至少iscsi(可以是軟iscsi)是足夠好的方案。
以windows端做iscsi target,AIX環境做iscsi initiator為例,下面為詳細過程:
1、在配置網絡環境,保證AIX與WINDOWS網絡可通。
2、在WINDOWS上搭建ISCSI TARGET,以 下圖starwind為例,創建了一個名稱為pv0的iscsi磁盤。
圖一:
3、返回aix平臺,確定是否安裝iscsi initiator:
lsdev |grep iscsi,如果提示“iscsi0 Available iSCSI Protocol Device” 表示ISCSI客戶端已經安裝,設備號是iscsi0。也可以用lslpp -L|grep -i iscsi 確認是否已經安裝了ISCSI軟件包。如未安裝,先安裝iscsi initiator。
4、修改aix環境中/etc/iscsi/targets文件,在最后增加一行(本例中windows iscsi target的ip是192.168.1.9,iqn見上圖)。192.168.1.9 3260 iqn.2008-08.com.starwindsoftware:tel-pv0
5、在aix平臺執行cfgmgr -l iscsi0 (見步驟3中的設備號),重新掃描iscsi設備。
6、lspv 查看是否識別到iscsi設備。本例結果如下:
圖二:
可以看到hdisk3已經認到,可以使用lsattr -El hdisk3 查看設備詳細情況,命令結果為:
圖三:
可以看到明確的iscsi設備細節,還可以通過bootinfo -s hdisk3查看目標iscsi容量是否正確(單位為MB,本例為演示,僅創建了個大小為4GB的ISCSI存儲卷)。
圖四:
7、使用dd命令對故障存儲做完整鏡像(建議使用塊設備路徑進行鏡像):ddif=/dev/rhdisk0 of=/dev/rhdisk3 bs=4096k conv=noerror,sync。
【AIX LV誤刪除數據恢復方案】
在完整備份故障PV后,就可以著手恢復數據了。大致有3種方案可對數據進行恢復
方案一:
分析得到原LV的PPMAP,之后通過mklv -m <指定的ppmap文件>的方式重建與原先LV相同的分配表,以激活原LV,從而恢復數據。
方案二:
分析得到原LV的PPMAP,直接通過第三方軟件(北亞開發有WINDOWS端的JFS2文件系統解釋軟件)進行JFS2文件系統解釋。如果是裸設備(RAW),可完整讀出后再重新按塊寫回。
方案三:
如果原LV中存儲的是ORACLE數據庫,可以針對oracle數據文件的特征,以碎片的方式,從所有PP中提取并組合好所有的特定數據文件,再災難方式恢復oracle系統。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。