文章摘要: 當下大資料的爆發式增長使得原有的儲存容量無法滿足使用者需求,SMR(疊瓦式磁記錄)技術由此誕生。由於垂直磁記錄技術(Perpendicular Magnetic Recording)已經逐漸達到儲存密度極限,單位儲存密度受限,已經嚴重製約雲端儲存的應用範圍與應用效
當下大資料的爆發式增長使得原有的儲存容量無法滿足使用者需求,SMR(疊瓦式磁記錄)技術由此誕生。由於垂直磁記錄技術(Perpendicular Magnetic Recording)已經逐漸達到儲存密度極限,單位儲存密度受限,已經嚴重製約雲端儲存的應用範圍與應用效果。同樣的磁記錄技術,通過疊加SMR技術,可以提升15%-25%的磁軌密度,進一步降低單位GB成本,目前SMR盤單盤容量已經達到14TB,預計2018年下半年硬碟廠商會發布18TB SMR盤,其容量是企業市場主流使用的8TB SATA/NL_SAS盤的2倍左右。
SMR盤利用磁碟讀資料時需要的磁軌寬度比寫資料時需要的磁軌寬度窄的特點,在寫資料時將磁軌像疊瓦片一樣,一層一層的重疊起來。SMR技術通過重疊磁軌,縮小了磁軌間距離,提高了單位面積儲存密度,增加了磁碟容量(如圖1)。
圖1 SMR磁碟與普通磁碟磁記錄方式對比
SMR技術將來也可應用於微波輔助磁記錄(Microwave-Assisted Magnetic Recording, MAMR)和熱輔助磁記錄技術(Heat-Assisted Magnetic Recording, HAMR)技術來提高容量,但對磁碟的製造工藝改變較大。SMR技術只需對現有磁碟做少量修改即可實現,目前如希捷、西數等主要磁碟供應商的產品線中都有SMR產品。
2. 天翼雲OOS KVDisker成功突破SMR技術瓶頸
目前SMR技術已成功應用在中國電信天翼雲OOS(物件儲存)產品系列中,並在天翼雲OOS第五代儲存產品中進行了規模商用,其成熟度得到了實踐證明。同時,天翼雲計劃在OOS第六代(國家級儲存網路)中更大規模的使用。據業內磁碟廠商瞭解,天翼雲或是國內第一家商用SMR技術的公司,成為儲存領域創新應用的標杆案例。
1) SMR技術存在的侷限與面臨的挑戰
SMR技術增加了容量,降低了成本,但這種技術應用也帶來了問題與挑戰。磁軌重疊後必須順序寫入,否則會對相鄰磁軌的資料造成損壞。正因為如此,目前業內常用的磁碟檔案系統,例如EXT/XFS等,由於需要隨機的修改資料從而無法執行在SMR磁碟上,這對SMR的應用帶來了不小的困難。據業內人士表示,目前僅有微軟Azure等極個別國際雲端計算巨頭有足夠的技術規模商用SMR磁碟。
中國電信天翼雲物件儲存(Object-Oriented Storage,以下簡稱OOS)一直在努力降低單位儲存空間的成本和能耗。在SMR磁碟上市的第一時間就聯絡相關伺服器和磁碟供應商,開始了對SMR磁碟的測試。
應用SMR磁碟主要存在以下幾個方面的問題:
1、若採用Drive Managed SMR模式,在磁碟內部實現順序寫入,應用不需做任何修改。由於上層業務寫請求是隨機的,磁碟韌體資源有限,效能無法保證,幾乎無法滿足業務需求,只適用於寫入後不再修改的歸檔資料,無法用於OOS標準儲存。據業內人士透露,曾有公司爲了降低成本但又不想投入研發使用此類磁碟,導致效能過低,最終放棄使用。
2、若採用Host Managed SMR模式,將磁碟分為若干個Zone,Zone之間可以隨機寫,Zone內部必須順序寫。Host Managed SMR將Zone管理介面提供給主機,由主機保證資料的順序寫入。由於引入了新的磁碟型別、新的管理命令,所以沒有現成的檔案系統可以支援,需要對檔案系統進行修改或重新開發新的檔案系統。目前還沒有成熟的檔案系統實現了對Host Managed SMR磁碟的相容。
3、在作業系統核心和HBA卡的相容上需要進行嚴格的測試。不相容的系統可能無法識別SMR磁碟,不相容的HBA可能導致磁碟收到的SCSI命令亂序,進而導致寫入失敗。
4、垃圾回收(Garbage Collection,以下簡稱GC):SMR磁碟要求順序寫入帶來的問題是刪除的空間不能直接重新利用,必須把有效資料移動到其他位置才能回收空間。GC會帶來寫放大,影響效能。如何合理的設計空間分配及回收演算法以減少不必要的資料移動是SMR最終是否可用的一大挑戰。
5、資料重構時間久:超大容量硬碟,一旦出現故障,其資料重構時間將非常漫長,如果資料重構期間又有磁碟損壞,對於副本數較少的物件來說可能會造成資料丟失。
2)天翼雲OOS如何突破SMR技術瓶頸?
雖然SMR磁碟的應用存在諸多技術挑戰,但通過行業領先廠商的產品趨勢,我們能看到未來硬碟的發展方向,SMR技術將成為主流,即使未來會有諸如HAMR等進一步提升磁密度的技術出現,只要寫資料寬度大於讀資料寬度,SMR技術就會一直存在。同時,與SMR所對應的「順序寫」或許是未來的一種趨勢,因為固態盤也需要類似的機制對快閃記憶體顆粒的磨損進行平滑處理。因此天翼雲OOS的研發團隊從2015年起就堅定不移的對Host Managed SMR進行自主研發。
中國電信天翼雲OOS通過產品設計和研發實力,在軟體層做了大量的優化、消除,解決了技術提升帶來的負面影響,突破了SMR的技術侷限性,體現疊瓦式儲存給單碟儲存容量提升帶來的優勢,既能夠提高單機儲存容量的上限,又可以避免帶來讀寫效率、讀寫效能上的瓶頸。
同時,結合中國電信OOS的特點,天翼雲設計了可以相容SMR磁碟的一套類似檔案系統的Key-Value儲存系統——KVDisker。結合物件儲存的特性,KVDisker能夠有效降低SMR技術引用帶來的問題與風險,將技術與應用完美的融合在一起,實現了在業界內領先應用基於SMR技術的磁碟。值得說明的是,KVDisker是中國電信天翼雲OOS研發團隊完全自主研發的技術:不基於任何現成的檔案系統(如EXT/XFS),而是直接讀寫磁碟;也沒有使用任何支援SMR的開源軟體,程式碼全部自研;除與磁碟供應商的上下游關係外,沒有得到任何廠家的外部支援。經過一系列嚴格的測試,天翼雲OOS研發團隊還幫助磁碟供應商發現並解決了磁碟韌體中的一些bug,雙方的產品質量都得到了提高。
KVDisker在OOS系統中的位置如圖2所示。其中,
(1)Object層負責協議的解析及物件屬性的儲存;
(2)Ostor層負責物件的冗餘保證;
(3)KVDisker負責讀寫磁碟:對上層業務,KVDisker直接提供Key-Value API,可以很容易的接入到OOS現有系統中;對下層磁碟,KVDisker直接管理PMR和SMR磁碟,不需要檔案系統。
圖2. KVDisker在系統中的位置
綜上所述,KVDisker針對SMR磁碟應用中可能遇到的相容性問題、效能問題、垃圾回收效率問題、下盤速度問題進行了針對性優化。
SMR技術面對的問題和挑戰
天翼雲的設計及解決
1.效能不可控
從後設資料、資料、空間分配三個維度,全面的提升了讀取、寫入、遍歷、檢索的效率。
2.新的磁碟型別引發的相容性問題
聯合磁碟供應商做廣泛性測試,針對測試中存在的問題,通過應用層分配空間保證指令的順序傳送,以避免SCSI指令亂序導致的問題
3.垃圾回收效率
動態選擇回收的Zone的機制,根據演算法極大的降低了GC移動的資料量,最大限度的減小了對業務的影響
4.資料重構時間久
在資料重構時,由整個叢集的磁碟參與,極大的提升了重構速度,並且在最大程度上降低資料丟失的可能性
5.可靠性
(1)對資料安全性做完整校驗,來保證資料的可靠性、一致性;(2)針對校驗出錯結果及時發現並修正錯誤,以有效保證資料的可靠性;
2.1 相容性
天翼雲聯合廠商對主流的HBA卡進行了嚴格的測試。針對可能存在的SCSI命令亂序問題,通過在應用層順序分配空間來保證指令的順序傳送。
2.2 效能
在效能方面,天翼雲從後設資料、資料、空間分配三個維度,全面的提升了讀取、寫入、遍歷、檢索的效率。
1、後設資料:對比檔案系統大而全的後設資料結構,KVDisker的後設資料僅儲存了時間戳、資料位置、校驗值等必要的資料,這樣KVDisker的後設資料很小,大大的提高了檢索效率。
2、後設資料儲存:檔案系統的後設資料儲存在磁碟的各個位置,導致遍歷檔案慢。KVDisker的後設資料有序的儲存在磁碟的傳統區域,在特定測試環境下,遍歷效率比檔案系統提升10倍。
3、後設資料讀取:KVDisker讀取後設資料只需要一次請求,不需要查詢目錄,提高了讀取效率。
4、空間分配:KVDisker順序的分配空間,充分利用了磁碟順序寫入快的特性,提升寫入速度。
5、資料讀取:KVDisker直接傳送SCSI指令讀取資料,對超長的資料並行傳送多條SCSI指令,充分利用磁碟請求佇列,優化讀取速度。
2.3 垃圾回收
目前市面上的SMR磁碟每個Zone大小相等,都為256MB,回收一個Zone的資料需要先讀取有效資料,然後寫入一個空閒的Zone,最後更新後設資料,整個過程可能需要數秒。對於SMR磁碟,垃圾回收演算法設計是否合理嚴重影響系統性能的穩定性,寫入資料的同時進行垃圾回收會帶來響應延時,影響業務和使用者體驗。GC會導致寫放大,合理的選擇GC的Zone,能夠減少移動資料的總量,提升系統性能,減少能量消耗。
底層系統很難確定哪些是冷資料,哪些是熱資料,一般認為寫入時間越久的資料刪除的可能性越小。上層業務卻可以知道部分記錄的生命週期。物件儲存中,使用者可以為Bucket(容器或桶)使用者設定生命週期、過期後即會被刪掉,以及系統的日誌記錄,定期會將過期資料刪除,儘量不進行垃圾回收。物件儲存中的歸檔資料,使用者會保證至少儲存一定時間,刪除的可能性小,優先進行GC。KVDisker將這種具有相同生命週期的資料寫入到相同的Zone,合理區分冷熱資料。
KVDisker設計了一套動態選擇回收的Zone的機制。根據系統的繁忙程度、容量使用情況確定是否進行GC以及GC的併發數。根據Zone中資料的最後寫入時間、有效資料比例選擇回收的Zone。GC移動的資料,會按照寫入時間或生命週期不同分別寫入不同的Zone,使冷熱資料分離。KVDisker的GC演算法極大的降低了GC移動的資料量,減少了對業務的影響。
2.4 下盤速度
磁碟容量增大後,如果在磁碟下線的過程中再次發生磁碟損壞就有可能導致資料丟失。OOS下盤時整個叢集的磁碟參與資料重建,加上KVDisker遍歷速度快的特點,磁碟下線速度明顯提升。在特定測試環境下,速度能提升至少50%。
2.5 可靠性
KVDisker設計充分考慮了對資料安全性的校驗。KVDisker對資料、索引和日誌都設計了校驗,讀取時可以及時發現任何錯誤。
由於磁碟的物理特點,可能會有部分扇區出現unreadable,如果不能及時發現對應的記錄,並進行修復,很可能會發生資料丟失的問題。KVDisker設計了按照資料存放位置排序進行的索引,通過遍歷位置索引,利用磁碟順序讀取快的特點,順序的檢查磁碟資料的完整性,及時發現錯誤的記錄。
KVDisker設計了修復回撥介面,對於審計失敗和讀取失敗的資料,以回撥的方式通知上層應用及時修復。通過壞塊的修復功能,可以顯著減少換盤的頻率,降低系統負載,減少工作量。
KVDisker的操作具有原子性,不會出現部分Key或Value資料殘留的情況。這一優於普通檔案系統的特性使得在處理資料衝突的時候,不需要任何加鎖行為即可保證資料的一致性,這不僅簡化了程式設計,還提高了並行處理效率。
3. KVDisker的應用場景
應用場景1:視訊監控產生的資料量巨大,需要大量的儲存空間,資料會做定期刪除。
應用場景2:雲盤和歸檔資料需要的空間大,刪除的頻率低。
儲存資料量大,需定期刪除或刪除率低的情況,都非常適用SMR磁碟。採用SMR磁碟可以使用更少的伺服器,更少的機架空間,更少的能源消耗。
中國電信於2017年率先在部分省份規模部署了基於Host Managed (非Device Managed)SMR磁碟的雲端儲存叢集,並搭配KVDisker使用。所採用的8TB SMR盤與6TB普通盤物理材料基本相同,使用8T SMR盤可以減少33%的伺服器數量。6T磁碟與8T磁碟功耗基本一致,也可以節省大約33%的能源消耗。基於Host Managed SMR的OOS在KVDisker的支援下,執行至今效果非常好,開始進入了大規模商用階段。
目前部分主流磁碟供應商都已經發布了基於氦氣的14T規格的SMR磁碟。由於氦氣的密度只有空氣的1/7,更小的風阻大大降低了磁碟轉動功耗,同時也使得磁碟碟片可以更接近以提升單磁碟容量,少機房空間佔用,降低能源消耗。與業界通用的8T普通盤比較,8T普通盤和14T盤的功耗基本是一樣的。如圖3所示,採用14T SMR磁碟大約可以節約40%的機架空間,降低43%電量消耗。
圖3. 使用8T普通盤和14TSMR盤對比
在可見的預期內,SMR技術離實現大規模應用,仍有一段艱難的路要走,中國電信天翼雲OOS產品將致力於為使用者提供最優服務,以技術創新助力儲存技術的未來發展。