本篇文章為大家展示了存儲raid崩潰的解決方案是什么,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
創(chuàng)新互聯(lián)公司專注于酒泉企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站設(shè)計(jì),商城建設(shè)。酒泉網(wǎng)站建設(shè)公司,為酒泉等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站制作,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)某公司采用raid5磁盤陣列,由于未知的原因?qū)е麓鎯鋈槐罎o法啟動,raid5陣列中的虛擬機(jī)全部丟失,其中3臺虛擬機(jī)為重要數(shù)據(jù),需要主要針對該3臺虛擬機(jī)進(jìn)行數(shù)據(jù)恢復(fù)。
通過與客戶的溝通及對raid陣列的分析得出故障存儲的底層結(jié)構(gòu)為若干物理磁盤組成一個存儲池,劃分了多個lun,需要進(jìn)行數(shù)據(jù)恢復(fù)的為lun1,其中包含重點(diǎn)恢復(fù)的3臺虛擬機(jī)。如下圖所示:
存儲結(jié)構(gòu)
在對陣列進(jìn)行分析重組時發(fā)現(xiàn)用戶原存儲中的raid5陣列共缺失2塊硬盤,熱備盤已經(jīng)啟用。(還原故障過程為:第一塊硬盤掉線后系統(tǒng)啟動熱備盤進(jìn)行替換,第二塊硬盤掉線時raid5處于降級狀態(tài),第三塊硬盤掉線導(dǎo)致raid陣列崩潰。)這種情況下通常無法通過校驗(yàn)直接獲取丟失盤的數(shù)據(jù),所以只能使用磁盤同等大小的全0鏡像進(jìn)行重組(由于依賴空鏡像組成的raid文件系統(tǒng)結(jié)構(gòu)會被嚴(yán)重破壞,相當(dāng)于每個條帶都會缺失兩個塊的數(shù)據(jù),所以除非常情況下不建議如此)。
重建raid
通過對存儲結(jié)構(gòu)的進(jìn)一步分析我們可以獲取到存儲劃分的MAP塊,進(jìn)而對各個LUN的數(shù)據(jù)塊指針進(jìn)行解析,通過編寫數(shù)據(jù)提取程序(也可借助北亞數(shù)據(jù)恢復(fù)工具)提取LUN碎片。提取完成后進(jìn)行碎片拼接,組成完整LUN。
提取LUN
因虛擬機(jī)名稱涉及客戶隱私且導(dǎo)出過程較為簡單,此處不再贅述。導(dǎo)出虛擬機(jī)后嘗試啟動,同預(yù)想相同,操作系統(tǒng)被破壞虛擬機(jī)無法啟動。
由于虛擬機(jī)無法啟動,只能對虛擬機(jī)內(nèi)的文件進(jìn)行提取,但多數(shù)文件破壞嚴(yán)重,只有少數(shù)文件可用,只好繼續(xù)制定其他數(shù)據(jù)恢復(fù)方案。
本次數(shù)據(jù)恢復(fù)的虛擬機(jī)內(nèi)有mysql數(shù)據(jù)庫,可以利用數(shù)據(jù)庫底層存儲的特殊性進(jìn)行數(shù)據(jù)頁掃描,提取數(shù)據(jù)。(注,虛擬機(jī)啟用快照,父盤和快照文件都被損壞的情況下常規(guī)合并操作無法完成,使用本公司自主研發(fā)VMFS快照合并程序進(jìn)行快照合并。)數(shù)據(jù)恢復(fù)過程截圖如下
根據(jù)mysql數(shù)據(jù)頁特征進(jìn)行數(shù)據(jù)頁掃描并導(dǎo)出(innodb引擎可以使用此方案,myisam因?yàn)闆]有“數(shù)據(jù)頁”概念所以不可用),分析系統(tǒng)表獲取各用戶表信息,根據(jù)各個表的id進(jìn)行數(shù)據(jù)頁分割。因?yàn)楸韮?nèi)容涉及用戶隱私,此處未配圖
因?yàn)閿?shù)據(jù)庫使用時間已久,表結(jié)構(gòu)也曾多次變更,加上系統(tǒng)表在存儲損壞后也有部分?jǐn)?shù)據(jù)丟失,記錄提取過程遇到很大阻力。首先獲取最初版本數(shù)據(jù)庫各個表的表結(jié)構(gòu):合并快照前的父盤因?yàn)閷懭胼^早,使用第一塊掉線盤進(jìn)行校驗(yàn)獲取到這個文件的完整數(shù)據(jù),然后提取出其中數(shù)據(jù)庫各個表的表結(jié)構(gòu),之后客戶方提供了最新版的數(shù)據(jù)庫建表腳本。
分別使用兩組不同表結(jié)構(gòu)對數(shù)據(jù)記錄進(jìn)行提取并導(dǎo)入恢復(fù)環(huán)境中的mysql數(shù)據(jù)庫內(nèi),然后剔除各個表中因?yàn)楸斫Y(jié)構(gòu)變更造成的亂碼數(shù)據(jù),最后將兩組數(shù)據(jù)分別導(dǎo)出為.sql文件。
因?yàn)閮蓚€版本的數(shù)據(jù)庫表結(jié)構(gòu)不同,所以聯(lián)系了客戶方的應(yīng)用工程師進(jìn)行調(diào)試。調(diào)試完成后導(dǎo)入平臺,平臺調(diào)試成功,本次數(shù)據(jù)恢復(fù)成功。
上述內(nèi)容就是存儲raid崩潰的解決方案是什么,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道。