作為排名世界領先的社交**,facebook經歷了迅速崛起的過程。從2023年上線開始,其使用者數量在2023年7月已經達到三千四百萬。時至今日,facebook每月的活躍使用者量已經超過20億,佔全球總人口的三分之一。同時,作為乙個全球排名領先的**分享站點,**每天會收到上億張**。伴隨著使用者數量以及使用者上傳資源的增多,facebook**的後台伺服器數量也從1臺迅速增加到數十萬臺。為了滿足長期發展需求,facebook於2023年在美國奧勒岡州的prineville建設了第乙個資料中心。之後,該公司又分別在美國的北卡羅來納州和愛荷華州等地方建立了若干個資料中心。這些高效能資料中心很好的解決了**發展的迫切需求。即使是在西方的萬聖節,伺服器也可以完美支援使用者成功上傳10億到20億張。然而,這些資料中心在滿足使用者需求的同時,也給公司帶來了巨大的花銷。除卻構建基礎設施(包括機房、伺服器等)的龐大花費,facebook資料中心每年消耗的上億度電就是一筆很大的開銷。因此,facebook從2023年開始考慮冷儲存技術,來解決硬體花銷及能源消耗問題。
\\ facebook的冷儲存技術起源於對自身資料儲存方式及資料訪問模式的思考。在以往,**對於所有的**、個人資料等基本採用同樣的方式進行儲存。但是,不同的資料在訪問頻率、訪問次數等方面存在很大的不同。例如,使用者在萬聖節上傳的大量**基本上在幾天或幾周之後就不會再被訪問。而使用者主頁的資料則是經常被訪問的內容。鑑於這種情況,facebook提出冷儲存的計畫以更低能耗、更低成本和不變的響應時間來儲存這些「冷」**資料。經過幾年的籌畫,facebook目前已經建成了擴建了兩個資料中心,用來放置包含全新設計的硬體和軟體的冷儲存系統。儘管行業界對於資料中心相關的技術都諱莫如深,facebook卻成立開放計算專案(ocp),公布了定製資料中心和伺服器的一系列設計細節。近期, facebook員工krish bandaru和kestutis patiejunas更是在部落格中透露了新的冷儲存系統在設計時遇到的各種難題,以及系統的一些設計細節。接下來,本文就從硬體、軟體以及系統的可靠性和可擴充套件性等方面對facebook的冷儲存系統進行介紹。
\\ 首先,在硬體方面,新建的儲存系統只配備了原本系統1/6的電量**。此時,每個資料機櫃機房仍然要能夠支援1000pb的資料儲存。為了到達這樣的目標,facebook在open vault ocp標準的基礎上,進行了修改。其中,最大的改變在於每個面板只支援乙個驅動器的供電。為此,公司特別修改了電路設計,使得即使會出現系統啟動時沒有載入任何驅動器的情況,也絕對不會有多個驅動器在同時執行的情況。在此基礎上,每個儲存節點的風扇數量從6個減少到了4個,同時電源架數量從3個減少到了1個,電源架上的電源個數也從7個減少到了5個。這些變化使得open rack的匯流排數量從3個減少到1個。最終,反映到功耗方面,乙個2pb的機櫃可以在原來四分之一功耗的情況下正常工作。此外,資料中心還移除了無間斷電源(dcups)以及發電機等來減少硬體開銷。在設計這個全新的儲存系統時,facebook的設計師遇到了很多前所未有的困難和問題。例如,在測試中,設計師才發現全新設計的機櫃在攜帶480個4tb驅動器時竟然重達1100千克。之前一直在使用的運輸車根本不能負載這麼重的貨物。
\\ 然後,另外一方面重要的工作就是設計乙個能夠支援冷儲存的軟體系統。鑑於硬體設計中已經去除了電池和不間斷電源,軟體需要在隨時可能斷電的情況下保證資料的完整性和永續性。根據設計目標,facebook在軟體設計階段堅持了幾個準則。第一,資料的永續性是軟體系統必須要保證的內容。尤其是對於冷儲存系統,很多**或其他資料可能只在該系統中保留有備份。作為資料恢復的最後一道防線,該系統一定要保證資料不會丟失或損壞。第二,硬體方面的約束使得軟體設計要十分小心。非企業級的硬體配置、隨時可能掉電的電源配置等情況都是軟體需要應對的問題。最後,軟體一定要考慮未來大規模系統的需求,保證硬體擴充套件後系統還可以高效率工作。
\\ 在硬體和軟體設計基本確定以後,facebook仍然需要解決硬碟失效以及資料中心電源不穩定等帶來的可靠性問題。該公司採用了傳統的資料冗餘備份的方式來增加可靠性。其中,所採用的冗餘備份策略為reed-solmon錯誤檢測編碼。例如,乙個1gb大小的檔案會被分割成10個100mb的檔案。然後,這個10個檔案的reed-solmon編碼會將其轉變成14個檔案互相冗餘的檔案。通過這種轉換,reed-solmon編碼保證通過其中任意10個檔案仍然能夠將原來的資料成功恢復。因此,只要把這些檔案分開儲存,即使其中4個檔案損壞,系統仍然能夠正確恢復資料。資料中心根據儲存媒介的失效率等引數調整編碼方式中冗餘資料的個數,即可完成系統對可靠性的要求。此外,資料中心會緊挨著資料本身儲存乙份校驗和,來方便檢查資料的完整性,及時發現資料完整性問題。
\\ facebook資料中心關心的另外乙個問題就是「bit rot」問題。之前,該公司就發現在大規模儲存系統中存在無訪問的情況下資料失效的問題。為了應對該問題,冷儲存的資料中心採用了定期對所有資料進行掃瞄的策略。目前,伺服器乙個月左右會把所有的資料掃瞄一遍並向軟體匯報相應情況。針對發現的資料失效問題,軟體會利用備份的資料片重新構建資料,並放置到乙個新的地方進行儲存。通過這種方法,資料中心保證所有的資料都可以得以完整儲存。
\\ 最後,為了應對擴充套件伺服器的問題,系統軟體一直均衡所有伺服器的負載。對於新加入的伺服器,軟體會迅速把資料轉移到該機器,實現所有伺服器負載均衡。這樣,即保證了資料儲存的平等,也保證了伺服器使用率的平衡。據krish bandaru和kestutis patiejunas表示,facebook的冷儲存系統會在將來繼續公升級,所涉及的方面包括新型媒介(如flash和藍光光碟等)的使用和應對頻繁對映/反映射的檔案系統公升級等。
\\ 感謝崔康對本文的審校。
\
Oracle EBS系統整體備份 冷備份
使用應用系統管理員使用者登陸 cd inst top admin scripts 或者cd admin scripts home 使用下面命令檢查服務是否關閉,如果沒有關閉,則需要等待 使用資料庫系統管理員使用者登陸 關閉db listener addlnctl.sh stop mc3yd213 關...
Oracle EBS系統整體備份 冷備份
使用應用系統管理員使用者登陸 cd inst top admin scripts 或者cd admin scripts home 使用下面命令檢查服務是否關閉,如果沒有關閉,則需要等待 使用資料庫系統管理員使用者登陸 關閉db listener addlnctl.sh stop mc3yd213 關...
理解Facebook的時間線 形象儲存庫
昨天,facebook正式向全球使用者開放時間線 timeline 功能,時間線將取代原有的個人檔案資料,用它可以記錄你的一生。如果你想記錄,在家裡上廁所時,你都可以簽到一下,然後時間線上就會顯示 2011年12月16號13點30分,地點 家裡的廁所 幹了什麼事 大便 狀態 便秘 我猜聰明的人是不會...