DEF CON 33 - Data Duplication Village - Tracking 300K+ Drives -
三句話摘要
Backblaze 分享硬盤故障率追蹤十三年的開源數據集,以及如何從 CSV 遷移到列式儲存格式進行大規模分析。 十三年累積的6.21億筆硬盤故障數據顯示,製造商間與型號間差異遠大於品牌差異,而升級到列式存儲格式使大規模分析速度提升百倍,才是現代數據基礎設施的正確方向。 數據工程升級帶來效率躍升 — 從傳統 CSV 逐行掃描改為列式二進制格式(Parquet),利用遊程編碼壓縮(故障列大多為零),查詢同樣數據只需不到一秒,相較過去手動交叉檢查 Jira 工單成效天差地別。
重點整理
重點- 1
數據工程升級帶來效率躍升 — 從傳統 CSV 逐行掃描改為列式二進制格式(Parquet),利用遊程編碼壓縮(故障列大多為零),查詢同樣數據只需不到一秒,相較過去手動交叉檢查 Jira 工單成效天差地別。
- 2
浴缸曲線呈現硬盤三生命週期 — 新硬盤初期故障率高(嬰兒死亡期3-10%),三個月後穩定於1%左右(平穩期),7-10年後故障率上升(老化期);但舊型號中有少數硬盤超過七年仍低故障率,說明製造缺陷篩選後會留下可靠個體。
- 3
製造商型號差異遠大於品牌 — 同一製造商不同型號表現天差地別,故障率在4.74%-9.47%間波動;購買決策應看具體型號容量,而非品牌,因數據中心24小時高負載使用模式與消費者場景截然不同。
- 4
硬盤與固態硬盤應用場景有根本區別 — HDD 仍保持每TB $17 的成本優勢對 SSD 每TB $110+,SSD 在小檔案快速寫入(f-sync 操作)有優勢,Backblaze 採用分層策略:小檔案先寫入 SSD 緩存層告知客戶已完成,再後台遷移至 HDD 存儲。
實用技巧與重點
乾貨- 數據規模與時間跨度
- 32萬台硬盤驅動器(約5000個儲存艙,每艙60台硬盤)
- 6.21億筆驅動日數據
- 數據涵蓋2013年4月至2025年6月(12年2個月)
- 2013年21000台硬盤 → 現今321000台(15倍增長)
- 2013年54PB儲存容量 → 現今約5400PB(100倍增長)
- 複合年成長率45%
- 硬盤故障率
- 2024年Q1:1.42%
- 2024年Q2:1.36%
- 希捷某型號:Q1為9.47%,Q2降至4.74%
- 統計顯著性門檻:≥500台硬盤運行 + ≥100,000 驅動日活動
- 成本對比
- HDD:每TB $17左右
- SSD:每TB $110-$250左右(約6倍價差)
- 數據工程技術棧
- 數據來源:硬盤 SMART 統計(~150個指標)
- 收集工具:Smartmontools + C++ 應用程式
- 轉換:XML → CSV → Snowflake 數據倉庫
- 升級格式:Apache Parquet(列式二進制)+ Iceberg 表格式
- 查詢引擎:Trino(SQL 引擎,運行在 Docker + MariaDB)
- 儲存:Backblaze B2 雲儲存
- 硬盤使用壽命與浴缸曲線
- 初期故障率(0-18個月):3%-10% 每季度
- 平穩期(18個月-7年):~1%
- 老化期(7-10年):故障率上升
- 最長運行:8-10年預期壽命(相比12年前的4年已大幅延伸)
- 希捷 4TB 型號(ST4000DM000):2013年起裝設,超過8.5年仍在運行
- 保險庫(Vault)架構
- 每艙60台硬盤
- 每20台硬盤組成1個保險庫
- 15個資料分片 + 5個奇偶校驗分片
- 任意15個分片可重建檔案
- 製造商與型號覆蓋
- 主要製造商:希捷、東芝、西部數據
- 大容量硬盤:20TB以上機型開始統計(資料仍不足)
- 前代機型:14-16TB(數據充分,長期觀察)
結論
結論“十三年累積的6.21億筆硬盤故障數據顯示,製造商間與型號間差異遠大於品牌差異,而升級到列式存儲格式使大規模分析速度提升百倍,才是現代數據基礎設施的正確方向。”
完整解析
詳細Backblaze 是一家雲備份服務商,過去十三年來在六個數據中心運營著32萬台硬盤,每天都在收集這些硬盤的 SMART 統計數據。這些原始數據最初透過 XML 格式轉換為 CSV 檔案發布在官網上,供研究者和業界人士下載分析。然而隨著硬盤數量增長(現已是2013年的15倍)與數據量累積(6.21億筆驅動日記錄),傳統 CSV 逐行掃描的方式效率低下——每次分析都要讀取檔案中的每個字符,對於大規模查詢來說成本極高。
為了解決這個問題,Backblaze 將整個數據管道進行了現代化升級。他們採用 Apache Parquet 列式二進制格式搭配 Iceberg 表格式管理,將資料存儲在自家的 B2 雲儲存中,然後透過 Trino SQL 查詢引擎直接對這些檔案執行任意 SQL 查詢。列式儲存的優勢在於特別適合分析工作流——例如故障列中99%以上都是零,使用遊程編碼只需四個位元組代表一千個零,相比原本的 CSV 千倍位元組差異,壓縮效率驚人。即使面對6.21億行的數據集,一個簡單的求和查詢也能在一秒內完成。
在使用模式上,Backblaze 發現硬盤故障率呈現經典的「浴缸曲線」——新硬盤初期故障率偏高(3-10%每季),代表製造缺陷的「嬰兒死亡期」,隨後穩定在約1%的平穩期持續數年,最後當硬盤進入7-10年的老化期時故障率再次上升。有趣的是,某些老硬盤(如希捷 4TB ST4000DM000)即使超過八年半仍保持低故障率,說明倖存下來的個體可靠性反而更強。製造商層面的比較也透露出關鍵洞察:同一品牌的不同型號故障率差異遠大於品牌間差異,例如希捷同款硬盤在 Q1 和 Q2 的故障率從9.47%跌至4.74%,差異源於該季度的硬盤進出率與人口統計效應。這對採購決策有重要啟示——應該按具體型號和容量選擇,而不是僅看品牌。
至於固態硬盤與硬盤的平衡點,短期內不太可能出現。SSD 每TB 成本仍是 HDD 的六倍($110+ vs $17),使得大規模冷儲存仍以 HDD 為主,占數據中心存儲的80%。Backblaze 採取分層策略應對此矛盾——小檔案上傳先寫入 SSD 緩存層以提升 f-sync 操作性能,快速回應客戶確認完成,再於後台逐步遷移至 HDD 長期存儲。這樣既能享受 SSD 在隨機 I/O 的優勢,又不需為整個存儲容量負擔六倍成本,是目前成本與性能的最優平衡。
關鍵時刻
Pipeline v2帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。
事實查核
Pipeline v2說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。


