某法院HP P4500儲存資料恢復案例

2021-09-21 21:11:36 字數 1354 閱讀 9037

好久沒出來寫部落格了,過年來了一直很忙,尤其是最近,忙著做了好幾個大單子。先是乙個醫院50tb的hp-eva4400,接著是乙個法院12tb的hp-p4500,前幾天還有做了乙個某遊樂城12tb的vmware vmfs虛擬機器恢復。雖然忙點,但是學會了好多新的知識,一直想抽點時間把最近的工作整理成文章發表一下,可是家裡沒有聯網,在公司又得忙工作。還好最近工作不是很忙,可以在公司抽點時間寫寫。好了,言歸正傳,進入主題吧!

【故障描述】

【硬體檢測】

我們的硬體工程師先對客戶的12塊硬碟做了硬體檢測,發現客戶的硬碟都正常。既排除硬碟硬體故障。既然都正常,我們就對12塊硬碟做了全盤映象。

【故障分析】

我們使用專業的工具對備份出來的映象做了詳細的分析,發現底層的raid是乙個hp雙迴圈raid5。並且第一組raid是好的,也就是第二組raid的損壞導致儲存上層的卷不可用,第二raid也是乙個raid5,如果是其中乙個硬碟掉線那麼以raid5的儲存原理應該不會導致儲存不可用。因此可以判斷第二組raid中至少是掉了兩塊磁碟,其中一塊是早就掉線的,裡面的資料都是舊的,我們需找出早就掉線的那塊磁碟。可是我們通過硬體檢測發現所有的硬碟都沒有硬體故障,那麼我們該如何判斷掉線的盤是那乙個呢?

【解決方案】

由於並不知道raid中那一塊硬碟是早掉線的,所以沒辦法重組raid。經過認真思考後確定有兩種可行方案。

方案一:窮舉法,即假設其中某一塊磁碟是早就掉線的,踢掉此盤,重組raid然後生成全部資料,最後將資料掛載到hp-p4500上,看資料是否正確。如果資料不正確,那麼再假設另一塊盤是掉線的,以此迴圈。雖然這種方案可行,但是由於每次重組raid生成資料的資料時間太長,並且準確性很低。

方案二:窮舉加校驗,還是和窮舉法一樣,假設某個磁碟是掉線的,踢掉磁碟後重組raid,但不是生成全部的資料,而是只生成前面5g的資料,因為hp-p4500內部儲存的資料的索引表位圖位於raid的前幾個g之內(因為在這之前我們已經研究過hp-p4500的內部儲存原理)。我們只需要檢視這個索引表的點陣圖的資訊是否正確就可以判斷此raid是否正確。如果正確那麼生成此raid的資料即可完成raid的重組。

【實施方案】

採用第二種解決方案,經過幾次測試很快就判斷出正確的raid。連夜生成此raid的資料。生成完資料後,將生成的資料和第一組完好的raid一同掛載到hp-p4500上。然後啟動儲存,上層的卷由不可用變的可用了。檢視了最新的檔案發現一切都正常。

【資料恢復成功】

由於上層的卷直接可以用了,所以資料也都可見了,但是考慮到安全問題,我們還是將卷裡的檔案都拷貝出來,然後移交給客戶。經過漫長的底層分析,加上不斷的測試。終於在使用者要求的時間內將資料恢復完成。整個恢復過程一共歷時兩天。之所以能這麼快恢復,還是在於我們之前研究過hp-p4500的儲存原理。知道了hp-p4500的儲存原理以後,關於它的所有資料災難都可以進行恢復。

某比賽小記4 最長回文子串

題解 首先要區分回文子串 和 回文子串行的區別。本題是求最長回文子串。其次需要考慮給所求得的回文子串總長度是奇數還是偶數,如果是奇數則是aba形式,如果是偶數則是abba形式。最後就是求解,這個演算法題太普遍了,只需要給字串增加乙個輔助字元 即可全部當做奇數字串來處理了。python版本 str2 ...

4,常數時間內刪除單鏈表中某結點

問題 乙個單鏈表,很長,遍歷一遍很慢,我們僅知道乙個指向某節點的指標pnode,而我們又想刪除這個節點。思路 將該結點的下乙個結點的內容拷貝到當前結點,然後刪除下乙個結點。如果該結點時最後乙個結點,則必須遍歷一遍單鏈表,找到前面乙個結點,然後刪掉該結點。注意 雖然最後一種情況是線性複雜度的,但是總體...

某工控4G路由器存在大量弱口令

最近頻繁的出現路由器的漏洞,如思科rv320 325 cve 2019 1652和cve 2019 1653,可直接獲得配置檔案並遠端執行命令 mikrotik routeros漏洞 by the way 直接獲取使用者密碼並建立賬號登入路由器 cve 2019 11219 ilnkp2p點對點系統...