爲了保護宅男的硬碟,工程師都想了什麼招?

為了保護宅男的硬盤,工程師都想了什麼招?

更多有趣的科技互聯網知識,歡迎點擊右上角關注我~

今天,騰訊雲官方微博發佈了一則聲明。

事發起因來自騰訊雲的用戶,一家叫做 “ 前沿數控 ” 的科技公司。

前段時間 “ 前沿數控 ” 操作系統雲盤的時候,對應的硬盤出了 BUG ,結果數據損壞了。

雖然經過很多努力修復,但還是有部分數據回不來了,只能討論賠償。

騰訊雲發了一則聲明。( 覺得太長可以不看 )

為了保護宅男的硬盤,工程師都想了什麼招?

一方面表示賠償沒談攏,一個賠 10 幾萬,另一方要 1000 萬。

另一方面則是表示故障排除,打消一下其他用戶的擔心。

不管咋說,前沿數控攤上這事兒確實有些倒黴的。。。

其實雲盤這個產品沒那麼神奇,順著網線爬過去就是硬盤。

為了保護宅男的硬盤,工程師都想了什麼招?

硬盤還算是一個比較精密的儀器,一個不好會出故障。

為了應對突如其來的事故,服務器的硬盤往往會搞一些特殊化的儲存操作,來保障數據。

這項技術叫做 RAID,全稱是 “ Redundant Array of Independent Disks ” ,翻譯成中文就是獨立硬盤冗餘陣列。

考慮到全稱和中文名都太長了,咱們還是喊它 RAID 吧。

為了保護宅男的硬盤,工程師都想了什麼招?

RAID 當中最能體現思路的應該是 “ Redundant ” ,意思是冗餘。

本來存東西一塊大硬盤管夠, RAID 非得整好幾塊,冗餘就冗餘在這兒。

RAID 分好幾個等級,我們先說 RAID 0 。

RAID 0 就是把本來存一塊硬盤的數據,分別存在了幾塊硬盤裡。

為了保護宅男的硬盤,工程師都想了什麼招?

事實上,RAID 0 比較特殊。。。它不光不提供容錯機會,還會提升出錯的風險。

因為單塊硬盤沒有完整數據,壞一塊全部完蛋,假設同樣硬盤出問題概率是一樣的,那增加一塊會直接導致出錯概率翻倍。

為了保護宅男的硬盤,工程師都想了什麼招?

這種東西為啥還會有人想得出來???

因為,這提升了讀寫效率。

你想想,本來數據讀寫要從一塊硬盤裡讀寫,每個比特都得 “ 排隊 ” 。

現在數據分散了,就好比多了條隊同時排,效率提升了不少,因此 RAID 0 作為提升效率還是很實用的 ~

說說第一個真正意義上的 RAID -- RAID 1。

RAID 1 提升容錯的方法是。。。複製一遍數據到鏡像盤裡。

為了保護宅男的硬盤,工程師都想了什麼招?

有幾塊硬盤,就拿一半來做鏡像備份。

這樣一來,哪怕你炸了其中一塊,也能馬上拿鏡像盤頂上,非常可靠。

但是。。。炸硬盤很危險,而且這麼做很浪費空間,假設你買了總共 4TB 的硬盤,只有 2TB 會真的拿來存儲。

這簡直燒錢,但是安全性也最大化了。

RAID 2 很少被實用,差評君直接說 RAID 3 。

但在那之前得引入一個概念,叫做校驗

差評君還得講個計算機邏輯上的操作,叫 XOR ,中文是異或

計算機數據無外乎 0 和 1 ,這些比特執行 XOR 操作以後,可以得到下面的結果↓

為了保護宅男的硬盤,工程師都想了什麼招?

這套結果有啥用呢?

只要有 A xor B 的結果,知道 A 是 0 或者 1 ,就能反推 B 是啥,反之亦然。

而且這一套結果可以涉及更多的比特,比如 A xor B xor C xor D 。。。

如果有奇數個 1 ,那結果就是 1 ;有偶數個 1,那結果就是 0 。

因此在 A xor B xor C xor D 中,只要知道結果,丟失任何一個都能反推出來!

RAID 3 的原理就是,特意拿一塊盤出來當作校驗盤,把其他盤的數據拿出來做個 xor 操作,並且把結果存在校驗盤中。

為了保護宅男的硬盤,工程師都想了什麼招?

這個陣列需要至少 3 塊硬盤,不過好處是,只要校驗盤沒壞,壞了一塊數據盤可以反推恢復數據。

同樣也是靠浪費空間來提升容錯,RAID 3 比 RAID 1 要節約不少。

不過,你可能要問,那校驗盤的壞了咋辦?

嗯。。。那就完了。

想到這一點的不止讀文章的你,工程師也想到了,因此有了在這個基礎上提升了的 RAID 5 。( RAID 4 也很少被實用 )

為了保護宅男的硬盤,工程師都想了什麼招?

在 RAID 5 規則下,校驗碼會均勻存儲在每一塊硬盤裡:在上圖中,第 1 塊硬盤會存第 2,3,4 塊硬盤的校驗碼。

這樣一來,任意一塊盤壞了都能被恢復。

為了保護宅男的硬盤,工程師都想了什麼招?

RAID 5 相比 RAID 3,它沒有一塊盤是絕對不能壞的,因此容錯率高不少,不過和 RAID 3 一樣,只能壞一塊。

如果說為了安全,RAID 1 是犧牲了成本( 浪費大量空間 )成就極高的安全性的話。。。

那 RAID 5 就是權衡成本和安全的選擇,就像差評君以前常說的,工程是研究各種妥協的學問。

而 RAID 6 就是相對 RAID 5 ,在成本和安全性上的一次微調:分散存兩份校驗碼。

為了保護宅男的硬盤,工程師都想了什麼招?

這麼做很顯然會浪費更多的空間,而且最少需要 4 塊硬盤才能執行,但是可以接受兩塊壞盤,容錯率提升不少。

還有一種 RAID ,叫 RAID 10 。

這中間並沒有 7 、8 、9 ,RAID 10 其實是 RAID 1 + 0 。

數據被分散存儲後,再分別存兩份。

為了保護宅男的硬盤,工程師都想了什麼招?

這麼做吸收了 RAID 0 的效率優勢,和 RAID 1 的安全優勢。

起碼要 4 塊硬盤才能執行的同時,有個很明顯的缺點,和 RAID 1 一樣這麼幹會浪費一半的存儲空間,

依然,這麼好的優點讓有的大公司會考慮燒個錢搞 RAID 10 。

以上大概就是常見的幾種 RAID 了 ~

也許你的硬盤裡就存個遊戲,放個小姐姐什麼的,怕丟的數據扔雲盤,想法多的搞個 RAID 0 提個速 ~

但是對於雲服務商來說,客戶的數據是絕對不能出錯的,因此需要費一些代價來提升安全性。

為了保護宅男的硬盤,工程師都想了什麼招?

這個成本在 RAID 中,就是額外的硬盤。

想來想去,差評君不得不佩服現代工程師們的腦洞。

RAID 從被髮明,到各種等級 RAID 的演變。。。

這些安全,成本,效率來回拉扯,做出各種妥協而得出來的方案,展示了人類工程之美。

TheTechReviewer

PowerCert Animated Videos

TechSupportDell

The FireProTech Blog

資料參考:

https://en.wikipedia.org/wiki/RAID

“ 宅男的硬盤可是寶物啊 ”

為了保護宅男的硬盤,工程師都想了什麼招?


分享到:


相關文章: