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