EMC Isilon(OneFS)删除重要数据后恢复案例
生活随笔
收集整理的這篇文章主要介紹了
EMC Isilon(OneFS)删除重要数据后恢复案例
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
【故障描述】
某大學(xué)因黑客入侵,導(dǎo)致其“教學(xué)系統(tǒng)”的重要數(shù)據(jù)被刪除。其中包括“教學(xué)系統(tǒng)”中的MSSQL數(shù)據(jù)庫,以及大量的MP4、ASF和TS類型的視頻教學(xué)文件。整體存儲架構(gòu)采用EMC高端網(wǎng)絡(luò)NAS(Isilon S200),節(jié)點(diǎn)數(shù)量為3個(gè),每個(gè)節(jié)點(diǎn)配置12塊3T STAT硬盤,無SSD。所有數(shù)據(jù)一共分兩部分,一部分?jǐn)?shù)據(jù)為vmware虛擬機(jī)(WEB服務(wù)器),通過NFS協(xié)議共享到ESX主機(jī),另一部分?jǐn)?shù)據(jù)為視頻教學(xué)文件,通過CIFS協(xié)議共享給虛擬機(jī)(WEB服務(wù)器)。黑客只刪除了NFS共享的所有數(shù)據(jù)(也就是所有虛擬機(jī)),而CIFS共享的數(shù)據(jù)則沒有被刪除。
·
【數(shù)據(jù)備份】
因考慮到數(shù)據(jù)安全性,避免對數(shù)據(jù)造成二次破壞,需對所有硬盤進(jìn)行全部備份。但是由于磁盤數(shù)量太多(單節(jié)點(diǎn)12塊盤,3個(gè)節(jié)點(diǎn)36塊盤),且單盤容量太大(單盤3TB,一共108TB),因此備份周期會較長。最終客戶決定,只對存儲中現(xiàn)有數(shù)據(jù)進(jìn)行備份,并且由我們備份一次,客戶再備份一次,以確保現(xiàn)有數(shù)據(jù)安全。
·
【數(shù)據(jù)分析】
備份完所有數(shù)據(jù)后,在Isilon的web管理界面中將Isilon正常關(guān)機(jī)。再將所有節(jié)點(diǎn)上的所有硬盤貼上標(biāo)簽,并依次取出再放到數(shù)據(jù)恢復(fù)平臺中,開始分析所有硬盤中的數(shù)據(jù)。
·
至此先簡單介紹一下Isilon的存儲結(jié)構(gòu),Isilon內(nèi)部使用的是分布式文件系統(tǒng)OneFS。在Isilon存儲集群中,每個(gè)節(jié)點(diǎn)都是一個(gè)單一的OneFS文件系統(tǒng),因此Isilon支持橫向擴(kuò)展,并且不會影響正在使用的數(shù)據(jù)。在存儲集群工作時(shí),所有節(jié)點(diǎn)提供相同的功能,節(jié)點(diǎn)與節(jié)點(diǎn)之前沒有主備之分。當(dāng)用戶往存儲集群中存儲文件時(shí),OneFS層會將文件分成128K的片段分別存到不同的節(jié)點(diǎn)中,而在節(jié)點(diǎn)層又會將128K的片段分成8K的小片段分別存到該節(jié)點(diǎn)的不同硬盤中。而用戶文件的Indoe信息、目錄項(xiàng)及數(shù)據(jù)MAP則會分別存儲在所有節(jié)點(diǎn)中,這樣可以確保用戶不管從那個(gè)節(jié)點(diǎn)都可以訪問到所有數(shù)據(jù)。Isilon在初始化時(shí)會讓用戶選擇相應(yīng)的存儲冗余模式,不同的冗余模式所提供的數(shù)據(jù)安全級別也不一樣(默認(rèn)3個(gè)節(jié)點(diǎn)采用N+2:1模式)。
·
由于客戶數(shù)據(jù)是被刪除了,因此不用過多考慮存儲的冗余級別,重點(diǎn)需要分析文件刪除后,文件Indoe及數(shù)據(jù)MAP是否發(fā)生變化。和客戶溝通后,刪除的虛擬磁盤文件都在64G或以上,并且存儲中沒有其他類型的大文件。編寫掃描所有文件Indoe的程序,將文件大小符合64G或以上的Indoe都掃描出來。再仔細(xì)分析掃描出來的Indoe,發(fā)現(xiàn)Indoe中記錄的數(shù)據(jù)MAP位置,其index指向的內(nèi)容已不再是正常數(shù)據(jù),并且所有節(jié)點(diǎn)上的Indoe均是同樣的情況。再仔細(xì)分析Inode,發(fā)現(xiàn)大文件的數(shù)據(jù)MAP會有多層(樹結(jié)構(gòu)),并且數(shù)據(jù)MAP中會記錄文件的唯一ID,因此可以嘗試找到文件最底層的數(shù)據(jù)MAP。抱著僥幸心理對文件最底層的數(shù)據(jù)MAP做遍歷跟蹤操作,發(fā)現(xiàn)最低層的數(shù)據(jù)MAP果然還在。
·
【數(shù)據(jù)恢復(fù)】
編寫程序,從文件的Inode中取出文件的唯一ID,然后對所有符合該ID的數(shù)據(jù)MAP做聚合。并根據(jù)數(shù)據(jù)MAP中的VCN號做排序,發(fā)現(xiàn)每個(gè)文件的前17088項(xiàng)數(shù)據(jù)MAP都不存在,也就意味著每個(gè)文件的前17088項(xiàng)數(shù)據(jù)是真的沒辦法恢復(fù)了(心情一下跌落低谷)。
仔細(xì)換算了一下發(fā)現(xiàn)丟失的數(shù)據(jù)MAP項(xiàng)總共才包含不到1G的數(shù)據(jù),而刪除的文件全是虛擬機(jī)的vmdk文件,里面都是NTFS的文件系統(tǒng),而NTFS文件系統(tǒng)的MFT基本都在3G的位置,也就是只需要在每個(gè)vmdk文件的頭部手動偽造一個(gè)MBR和DBR就可以解釋vmdk里面的數(shù)據(jù)了(真不知到是巧合呢!還是巧合呢!)。趕緊編寫代碼,對掃描到的數(shù)據(jù)MAP做解釋,并根據(jù)VCN號的順序?qū)С鰯?shù)據(jù),沒有MAP的情況保留為零。
經(jīng)過不斷的測試,程序終于編好了,先導(dǎo)出一個(gè)vmdk文件來看看。結(jié)果令我大吃一驚,導(dǎo)出的vmdk文件比實(shí)際情況要小,并且vmdk中MFT的位置也與自身描述不符。是程序的問題?還是數(shù)據(jù)MAP本身已損壞?手動隨機(jī)驗(yàn)證了幾個(gè)MPA發(fā)現(xiàn)都能指向數(shù)據(jù)區(qū),而程序解釋MAP的方式也都沒有問題。就在我百思不得其解的時(shí)候,我突然想到Isilon這么高端的存儲不可能沒有文件稀疏吧!否則空間得浪費(fèi)多少啊!立馬根據(jù)數(shù)據(jù)MAP驗(yàn)證了一下,發(fā)現(xiàn)文件果然是稀疏的。
修改代碼,重新導(dǎo)出剛才的vmdk,這次vmdk大小符合實(shí)際大小,且MFT的位置也在相應(yīng)位置。手工偽造一個(gè)MBR,分區(qū)表以及DBR,再用北亞開發(fā)的文件系統(tǒng)解釋工具成功解釋其文件系統(tǒng),導(dǎo)出vmdk里面的數(shù)據(jù)庫及視頻文件。
在驗(yàn)證了此vmdk中的數(shù)據(jù)庫及視頻文件沒問題后,批量導(dǎo)出所有重要的vmdk文件,再手工一個(gè)一個(gè)的去修改每個(gè)vmdk文件。
·
【數(shù)據(jù)驗(yàn)收】
將客戶所有重要的數(shù)據(jù)恢復(fù)完成后,由客戶方安排工程師對恢復(fù)的所有數(shù)據(jù)做完整性及準(zhǔn)確性檢測,經(jīng)過長達(dá)1天的驗(yàn)證工作。數(shù)據(jù)最終確定完全沒有問題,數(shù)據(jù)恢復(fù)成功。
整個(gè)恢復(fù)過程雖然很曲折,但是結(jié)果很滿意。
本文轉(zhuǎn)自 宋國建 51CTO博客,原文鏈接:http://blog.51cto.com/sun510/2066836,如需轉(zhuǎn)載請自行聯(lián)系原作者
某大學(xué)因黑客入侵,導(dǎo)致其“教學(xué)系統(tǒng)”的重要數(shù)據(jù)被刪除。其中包括“教學(xué)系統(tǒng)”中的MSSQL數(shù)據(jù)庫,以及大量的MP4、ASF和TS類型的視頻教學(xué)文件。整體存儲架構(gòu)采用EMC高端網(wǎng)絡(luò)NAS(Isilon S200),節(jié)點(diǎn)數(shù)量為3個(gè),每個(gè)節(jié)點(diǎn)配置12塊3T STAT硬盤,無SSD。所有數(shù)據(jù)一共分兩部分,一部分?jǐn)?shù)據(jù)為vmware虛擬機(jī)(WEB服務(wù)器),通過NFS協(xié)議共享到ESX主機(jī),另一部分?jǐn)?shù)據(jù)為視頻教學(xué)文件,通過CIFS協(xié)議共享給虛擬機(jī)(WEB服務(wù)器)。黑客只刪除了NFS共享的所有數(shù)據(jù)(也就是所有虛擬機(jī)),而CIFS共享的數(shù)據(jù)則沒有被刪除。
·
【數(shù)據(jù)備份】
因考慮到數(shù)據(jù)安全性,避免對數(shù)據(jù)造成二次破壞,需對所有硬盤進(jìn)行全部備份。但是由于磁盤數(shù)量太多(單節(jié)點(diǎn)12塊盤,3個(gè)節(jié)點(diǎn)36塊盤),且單盤容量太大(單盤3TB,一共108TB),因此備份周期會較長。最終客戶決定,只對存儲中現(xiàn)有數(shù)據(jù)進(jìn)行備份,并且由我們備份一次,客戶再備份一次,以確保現(xiàn)有數(shù)據(jù)安全。
·
【數(shù)據(jù)分析】
備份完所有數(shù)據(jù)后,在Isilon的web管理界面中將Isilon正常關(guān)機(jī)。再將所有節(jié)點(diǎn)上的所有硬盤貼上標(biāo)簽,并依次取出再放到數(shù)據(jù)恢復(fù)平臺中,開始分析所有硬盤中的數(shù)據(jù)。
·
至此先簡單介紹一下Isilon的存儲結(jié)構(gòu),Isilon內(nèi)部使用的是分布式文件系統(tǒng)OneFS。在Isilon存儲集群中,每個(gè)節(jié)點(diǎn)都是一個(gè)單一的OneFS文件系統(tǒng),因此Isilon支持橫向擴(kuò)展,并且不會影響正在使用的數(shù)據(jù)。在存儲集群工作時(shí),所有節(jié)點(diǎn)提供相同的功能,節(jié)點(diǎn)與節(jié)點(diǎn)之前沒有主備之分。當(dāng)用戶往存儲集群中存儲文件時(shí),OneFS層會將文件分成128K的片段分別存到不同的節(jié)點(diǎn)中,而在節(jié)點(diǎn)層又會將128K的片段分成8K的小片段分別存到該節(jié)點(diǎn)的不同硬盤中。而用戶文件的Indoe信息、目錄項(xiàng)及數(shù)據(jù)MAP則會分別存儲在所有節(jié)點(diǎn)中,這樣可以確保用戶不管從那個(gè)節(jié)點(diǎn)都可以訪問到所有數(shù)據(jù)。Isilon在初始化時(shí)會讓用戶選擇相應(yīng)的存儲冗余模式,不同的冗余模式所提供的數(shù)據(jù)安全級別也不一樣(默認(rèn)3個(gè)節(jié)點(diǎn)采用N+2:1模式)。
·
由于客戶數(shù)據(jù)是被刪除了,因此不用過多考慮存儲的冗余級別,重點(diǎn)需要分析文件刪除后,文件Indoe及數(shù)據(jù)MAP是否發(fā)生變化。和客戶溝通后,刪除的虛擬磁盤文件都在64G或以上,并且存儲中沒有其他類型的大文件。編寫掃描所有文件Indoe的程序,將文件大小符合64G或以上的Indoe都掃描出來。再仔細(xì)分析掃描出來的Indoe,發(fā)現(xiàn)Indoe中記錄的數(shù)據(jù)MAP位置,其index指向的內(nèi)容已不再是正常數(shù)據(jù),并且所有節(jié)點(diǎn)上的Indoe均是同樣的情況。再仔細(xì)分析Inode,發(fā)現(xiàn)大文件的數(shù)據(jù)MAP會有多層(樹結(jié)構(gòu)),并且數(shù)據(jù)MAP中會記錄文件的唯一ID,因此可以嘗試找到文件最底層的數(shù)據(jù)MAP。抱著僥幸心理對文件最底層的數(shù)據(jù)MAP做遍歷跟蹤操作,發(fā)現(xiàn)最低層的數(shù)據(jù)MAP果然還在。
·
【數(shù)據(jù)恢復(fù)】
編寫程序,從文件的Inode中取出文件的唯一ID,然后對所有符合該ID的數(shù)據(jù)MAP做聚合。并根據(jù)數(shù)據(jù)MAP中的VCN號做排序,發(fā)現(xiàn)每個(gè)文件的前17088項(xiàng)數(shù)據(jù)MAP都不存在,也就意味著每個(gè)文件的前17088項(xiàng)數(shù)據(jù)是真的沒辦法恢復(fù)了(心情一下跌落低谷)。
仔細(xì)換算了一下發(fā)現(xiàn)丟失的數(shù)據(jù)MAP項(xiàng)總共才包含不到1G的數(shù)據(jù),而刪除的文件全是虛擬機(jī)的vmdk文件,里面都是NTFS的文件系統(tǒng),而NTFS文件系統(tǒng)的MFT基本都在3G的位置,也就是只需要在每個(gè)vmdk文件的頭部手動偽造一個(gè)MBR和DBR就可以解釋vmdk里面的數(shù)據(jù)了(真不知到是巧合呢!還是巧合呢!)。趕緊編寫代碼,對掃描到的數(shù)據(jù)MAP做解釋,并根據(jù)VCN號的順序?qū)С鰯?shù)據(jù),沒有MAP的情況保留為零。
經(jīng)過不斷的測試,程序終于編好了,先導(dǎo)出一個(gè)vmdk文件來看看。結(jié)果令我大吃一驚,導(dǎo)出的vmdk文件比實(shí)際情況要小,并且vmdk中MFT的位置也與自身描述不符。是程序的問題?還是數(shù)據(jù)MAP本身已損壞?手動隨機(jī)驗(yàn)證了幾個(gè)MPA發(fā)現(xiàn)都能指向數(shù)據(jù)區(qū),而程序解釋MAP的方式也都沒有問題。就在我百思不得其解的時(shí)候,我突然想到Isilon這么高端的存儲不可能沒有文件稀疏吧!否則空間得浪費(fèi)多少啊!立馬根據(jù)數(shù)據(jù)MAP驗(yàn)證了一下,發(fā)現(xiàn)文件果然是稀疏的。
修改代碼,重新導(dǎo)出剛才的vmdk,這次vmdk大小符合實(shí)際大小,且MFT的位置也在相應(yīng)位置。手工偽造一個(gè)MBR,分區(qū)表以及DBR,再用北亞開發(fā)的文件系統(tǒng)解釋工具成功解釋其文件系統(tǒng),導(dǎo)出vmdk里面的數(shù)據(jù)庫及視頻文件。
在驗(yàn)證了此vmdk中的數(shù)據(jù)庫及視頻文件沒問題后,批量導(dǎo)出所有重要的vmdk文件,再手工一個(gè)一個(gè)的去修改每個(gè)vmdk文件。
·
【數(shù)據(jù)驗(yàn)收】
將客戶所有重要的數(shù)據(jù)恢復(fù)完成后,由客戶方安排工程師對恢復(fù)的所有數(shù)據(jù)做完整性及準(zhǔn)確性檢測,經(jīng)過長達(dá)1天的驗(yàn)證工作。數(shù)據(jù)最終確定完全沒有問題,數(shù)據(jù)恢復(fù)成功。
整個(gè)恢復(fù)過程雖然很曲折,但是結(jié)果很滿意。
本文轉(zhuǎn)自 宋國建 51CTO博客,原文鏈接:http://blog.51cto.com/sun510/2066836,如需轉(zhuǎn)載請自行聯(lián)系原作者
總結(jié)
以上是生活随笔為你收集整理的EMC Isilon(OneFS)删除重要数据后恢复案例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [转载]找回被误删的VISTA“显示桌面
- 下一篇: thttpd+php 不加载php.in