很多工程師都有這樣的疑問,MDisk重建後還能不能恢複資料呢?應該怎麼做才能恢複資料呢?本文這裡就以IBM V7000存儲為例,詳細講解因為某個MDisk被重建導緻的資料丢失的恢複方法。我們本案例中的存儲由于MDisk重建導緻對應的存儲池中的VDisk丢失,進而影響上層Solaris作業系統中的Oracle資料庫無法正常使用。
1、前期備份方法
由于對裝置的分析和恢複均不在原始裝置進行操作,是以首先我們需要把所有涉及到Oracle資料庫的VDisk以隻讀模式連結到備份伺服器,使用dd或Winhex等專業工具對映射過來的VDisk做隻讀模式的資料庫備份。然後對重建後的MDisk成員盤進行排序标記并以正常模式取出IBM V7000磁盤櫃,将取出的硬碟連接配接到專業的裝置,并做隻讀模式的全盤鏡像。等到所有備份完成以後再對所有鍊路及實體硬碟進行還原,後期分析和恢複均不在原始裝置上操作。
2、MDisk及VDisk恢複方法
A、對備份的MDisk成員盤做隻讀模式的資料分析,判斷是否會因MDisk重建導緻資料大量丢失。
B、分析重建後RAID6的資料分布規則,并計算出RAID6的雙校驗均寫到硬碟的具體位置。
C、對RAID6雙校驗破壞的資料區域結合RAID10的資料分布規則,盡最大可能的還原重建前的MDisk。
D、對恢複的MDisk做底層卷分析,取出精簡模式的資料MAP,并校驗資料MAP是否正常。
E、根據精簡模式的算法結合資料MAP,盡最大可能的還原VDisk。
F、檢測恢複的VDisk是否正常,否則重新分析A-E的步驟是否有無誤。
3、資料庫檔案恢複及資料庫檔案修複
A. 對恢複的VDisk及其他未損壞的VDisk做Oracle資料庫頁特征掃描,并生成相應的資料庫檔案的特征集。
B. 根據資料庫的特征集分析出資料庫在所有VDisk中的資料分布MAP。
C. 恢複資料庫檔案,并使用自主開發的Oracle資料庫檢測工具對恢複的資料庫檔案做檔案一緻性檢測。
D. 如資料庫檔案檢測正常、資料庫結構完整,則嘗試啟動資料庫執行個體,同時監控狀态。
E. MOUNT資料庫,檢視資料庫檔案狀态資訊,檢視資料庫整體狀态。嘗試OPEN資料庫,做執行個體恢複。
F. 驗證導出資料是否正确,否則重複A-E操作,之到資料正确為止。
4、MDisk重建資料恢複成功率預估
由于IBM V7000存儲中某個MDisk被重建了,導緻上層VDisk及Oracle資料庫無法正常使用。如果MDisk重建後的類型為RAID6(之前為RAID10),就會導緻部分資料破壞。按最差情況分析,會有2塊盤(RAID6的雙校驗)的資料損壞(事實上,也不會完全損壞),從損壞VDisk層面,資料完整度超過75%。而上層Oracle又由多個VDisk組成,是以上層Oracle層面,資料完整度超過95%。