一眼看透機械硬碟可靠性
來自專欄 編碼人談存儲
在企業級存儲市場中,結構化數據的存儲很快就會是SSD的天下,機械硬碟(HDD)會逐步退出;非結構化數據因為其巨大的容量,從成本的角度來看,會長時間存在。但不論怎麼說,SSD代替HDD是趨勢。生產HDD的廠家很少,就WD、希捷、HGST等,其中,HGST也是WD的子公司。看似他們壟斷了市場,但他們的日子卻不好過。因為HDD大勢已去,在SSD領域,領先的卻是Intel、三星等玩家。HDD越做越大,價格也越來越低。
但IPFS等存儲挖礦項目卻讓HDD市場又看到了一點希望。今年,10TB以及以上的硬碟大幅度缺貨,價格比去年的最低點已經上漲了30%。瘋狂的玩家囤礦機(存儲伺服器)、囤硬碟。我從好幾個地方,都聽到了有人批量買幾萬塊硬碟的事情。【註:只是聽說,不一定代表事實】也冒出來了各種各樣的IPFS礦機,大多數都像最低端的群暉NAS一樣,插了一塊硬碟,擴展性不是特別好,放在家裡,等待文件幣發布就挖礦。如果這個礦機能做一個家用NAS,也挺好的。許多人也在對比各種礦機。但大家容易忽視的是,同是機械硬碟,其可靠性也千差萬別。我們不能光看硬碟容量,而要看洞察更多的硬碟參數。好在這些參數不多,非常容易理解。
我們就以希捷的硬碟為例來進行講解。型號太多,就說說幾種典型的。
1. 桌面級硬碟。這是消費級電腦中最常用的硬碟,基本都是採用SATA介面。比如希捷BarraCuda系列的8TB硬碟ST8000DM004。官方的參數請見:https://www.seagate.com/www-content/datasheets/pdfs/3-5-barracudaDS1900-10-1802CN-zh_CN.pdf。其中裡面有幾點大家比較感興趣。
- 最大值持續數據傳輸率OD(MB/秒):190MB/秒。 看上去這個值挺高的。但它只是硬碟外圈的順序讀寫性能。較小的文件讀寫,基本都達不到這個性能。
- 每年運行小時數(24×7) :2,400。 如果24x7開機,每年能運行2400小時。也就是能每年持續運行100天。每天上班8小時的辦公室文員,用這個硬碟不錯;但用來挖礦,就有點悲催了。所以……存儲挖礦,肯定不能選擇桌面級硬碟。
- 工作負載評級限制(TB/年):55。 一每年讀寫55TB數據以下,故障率較低。以前的HDD參數沒有這個值。SSD因為Flash的磨損次數有限制,有一個TBW值。HDD理論上讀寫次數沒有限制,但因為機械部件多,可靠性並不高,所以,也可以理解廠商為什麼需要加這個參數。
- 有限質保(年):2 桌面級硬碟保修2年。
- 最大不可恢復錯誤/被讀數據(位):1/10E14。 這個是大多數人不了解的參數。我認為是評估硬碟穩定性的最重要的參數之一。HDD運行過程因為受到振動等影響,是非常容易出錯的。但因為糾錯手段完善,大多數錯誤可以被糾正。但仍然會存在一定概率,在工作環境正常的情況下,錯誤無法糾正。通常我們就把它認為是ECC演算法也無法糾正的錯誤,所以叫做Uncorrectable ECC Count。這個桌面硬碟對應的值為10的14次方分之一,其含義為,從硬碟上讀10的14次方個bit,就可能出現一次無法被糾正的錯誤,導致數據出錯。10的14次方個bit,其實大概就是11TB的數據。從概率上來講,全盤讀寫1次大容量硬碟,就很可能出現這樣的錯誤。
2. 監控級硬碟。這是在安防系統中最常用的硬碟。基本都是採用SATA介面。SkyHawk監控盤系列其官方參數請見:https://www.seagate.com/www-content/datasheets/pdfs/skyhawk-3-5-hdd-DS1902-8-1803CN-zh_CN.pdf
- 最大值持續數據傳輸率OD(MB/秒):根據容量的不同,該值從180MB/秒到210MB/秒,和桌面級硬碟差不多。
- 每年運行小時數(24×7):清一色的是8760。說明可以一年365天不間斷運行。這和桌面級硬碟有非常大的區別。
- 額定工作負載限制(WRL):180TB。 相對於桌面級硬碟的工作負載評級限制,該值要高不少。
- MTBF(平均故障間隔時間) :1,000,000 hr。 桌面級硬碟的參數中,就沒有寫這個值。1百萬小時,是理論上可以用114年嗎?顯然不是。大概可以這麼算,1/114約等於0.9%,說明年壞盤率理論上為0.9%。當然,這個只是理論值,實際的壞盤率受到多種因素的影響。
- 有限質保(年):3 顯然,3年的質保,也是廠商對這種硬碟更有信心。
- 最大不可恢復錯誤/被讀數據(位):ST4000VX007這塊4TB的硬碟為1/10E14,其他型號為1/10E15。前幾年的較老型號監控級硬碟其值均為1/10E14,顯然是非常容易壞的。如果為1/10E15,需要寫入將近113TB數據,從概率上才會出現一次不可恢復的錯誤,自然可靠性會增大很多。
(註:希捷還有充氦氣的監控硬碟,但從型號和參數來看,完全是企業級硬碟的範疇了。)
3. 企業級硬碟。這是企業級存儲系統和數據中心最常用的硬碟。可靠性自然比前面兩種硬碟要高很多。介面有SATA和SATA,其中SAS又分NL-SAS(近線SAS)和高轉速SAS(1萬轉或1.5萬轉)。NL-SAS盤和企業級SATA盤的主要差別在於介面採用SAS,可以支持雙埠(用於雙控存儲系統,可以兩個主機同時連接),其他參數基本一致。高轉速SAS盤的轉速高於我們常用7200轉,性能更好,可靠性也更高,但容量相對較小,價格也比較昂貴。大容量企業級SATA硬碟(8TB及以上)一般在內部充氦氣,利用氦氣的惰性,可以全面提升硬碟容量,從數據中心的壞盤率統計來看,其可靠性也更高。這裡我們討論希捷的企業級SATA硬碟,以常用的10TB充氦氣硬碟ST10000NM0016為例。,其官方參數見: https://www.seagate.com/files/www-content/datasheets/pdfs/exos-x-10DS1948-1-1709CN-zh_CN.pdf
- 最大值持續數據傳輸率OD(MB/秒):249MB/秒。 這個值比前面的硬碟略微高一點點,但也高不到哪裡去。
- 隨機讀取/寫入4K QD16 WCD (IOPS) :170, 138。 這是4KB隨機讀和寫的IOPS值,表示每秒最大的I/O請求個數。算成帶寬,就是680KB/秒和552KB/秒。我去,這個值和前面的傳輸速度差了好幾個數量級!對於HDD來說,因為機械部件的尋道時間很難縮短,所以這個值是很正常的,這也是為什麼SSD會受到追捧的重要因素之一——SSD的隨機性能遠高於HDD。前面的桌面級硬碟和監控級硬碟都沒有寫這個參數呢,它們的實際IOPS值比企業級硬碟更差。這也是為什麼專業的存儲系統,需要複雜的演算法,通過CACHE等手段,儘可能變隨機的讀寫為有點點順序的讀寫,來提升系統的整體性能。
- 每年運行小時數(24×7):8760。因為一年只有365天,所以這個值也不會更大了。
- 平均故障間隔時間(MTBF,小時) :2,500,000。理論上,年壞盤率為0.35%。
- 有限質保(年) :5。 顯然,希捷對於企業級硬碟更有信心。
- 不可恢復錯誤/被讀數據(位) :1 扇區/10E15。從概率上講,每讀寫10的15次方個bit,會有一個扇區出現不可恢復的bit。 10TB的硬碟,從頭到尾讀寫超過11遍,平均會遇到一次這樣的情況。比起桌面級硬碟,還是要穩定許多。
(註:沒有看到額定工作負載限制或類似的參數。看來企業級硬碟直接取消了這個讀寫數據量的限制。)
回過頭再來看看「不可恢復錯誤/被讀數據(位)」這個參數。企業級SATA盤和較新的監控級硬碟,比較老的監控級硬碟和桌面級硬碟要高一個數量級,自然要穩定許多。桌面級硬碟和監控級硬碟的對應參數名字前加了一個「最大」,企業級硬碟沒有寫「最大」,不知道是否希捷有意為之。如果是,證明企業級硬碟的讀寫錯誤更低。以前問過硬碟廠商的工程師,他們回復說,桌面級硬碟和監控級硬碟沒有防震晶元,所以錯誤率高;企業級硬碟,和較新的監控級硬碟,都加了這個晶元,通過避震的方式來提高可靠性。
我們也接觸過大量的存儲項目,有上萬片硬碟實際運行的穩定性統計數據。某項目用了80%的監控級硬碟(不可恢復錯誤/被讀數據(位)這個值為1/10E14)和20%的企業級SATA硬碟,運行了三年,監控級硬碟的壞盤率超過10%,但企業級硬碟的壞盤率低於1%。桌面級硬碟因為都不能全天候運行,所以完全不適合這種大型的項目。另外,如果大容量硬碟做RAID5或者RAID6,壞了一塊盤,會導致硬碟重建。如果該參數為1/10E14,基本上硬碟從頭到尾讀一遍,就有很大的概率產生新的不可恢復錯誤,直接導致第二塊壞盤的產生。這個也是為什麼RAID5/6在重建的時候,很容易產生第二塊盤,導致RAID出現更嚴重問題的原因。實際上,重建的時候,所有硬碟都在高速讀寫,其震動本身就會導致更多的問題。不用RAID容易壞盤導致數據丟失,使用RAID也容易壞盤,那怎麼辦?選擇更高可靠性的硬碟,才是正確的辦法。如果是高轉速的SAS硬碟和企業級SSD,不可恢復錯誤/被讀數據(位)往往都是1/10E16甚至更高,其出錯的概率就會更低了。
除了上面的HDD,希捷還有NAS系列的硬碟,可以滿足全天候的運行需求,價格比企業級硬碟低。但因為我沒有用過,所以暫時不評述。
如果存儲挖礦,選擇什麼硬碟比較好呢?雖然性價比是首要因素,但因為其不間斷運行的機制,對硬碟的選擇我們不能不漠視。不是價格便宜容量越大越好。SAS硬碟不是考慮的範圍,企業級SATA硬碟應該是主力,不過價格可能會偏貴。至於新一代的監控級硬碟和NAS硬碟,是否可以滿足長時間穩定運行的要求,還需要更多的運營數據來分析。
再好的硬碟,也可能會很快壞掉。以上所有的參數,都是針對大批量硬碟而言的平均值。所以,通過軟體進行合理的硬碟管理(RAID、CACHE、硬碟全程監控),是必要的手段,且需要一個易用的存儲管理系統,在硬碟真的出現問題時,能夠及時發現,及時排除故障,保證系統的穩定運行。算了,說再多了就是廣告了。想了解更多存儲方案(包括HPC/AI存儲和存儲挖礦)請訪問 http://www.storswift.com。
更多技術問題,可以通過QQ群進行交流:
IPFS討論:738880773
高性能分散式存儲討論:183098754
推薦閱讀:
※【原創】讓PB級雲存儲不再神秘
※鯨准研究院丨去中心化雲存儲行業研究報告
※三星雲即日起停止上傳數據,雲盤前途何在?
※關於阿里雲存儲發布會,你想知道的都在這裡