根據(jù)2018年底IDC發(fā)布的報(bào)告“Data Age 2025:The Digitization of the World From Edge to Core”顯示,伴隨5G/IoT和車聯(lián)網(wǎng)等新興技術(shù)落地,越來越多的終端以及越來越高的帶寬催生越來越多的數(shù)據(jù)產(chǎn)生,到2025年,全球?qū)⒚磕戤a(chǎn)生約175ZB數(shù)據(jù);同時(shí)隨著大數(shù)據(jù)/AI技術(shù)的廣泛應(yīng)用,數(shù)據(jù)的價(jià)值得到更加充分的挖掘,被存儲(chǔ)和被分析的數(shù)據(jù)量指數(shù)增長。
另一方面,相比機(jī)械盤(HDD),基于NAND Flash介質(zhì)的SSD可提供更高性能、更高密度、更低能耗,隨著技術(shù)不斷進(jìn)度,成本進(jìn)一步下降,已經(jīng)被市場(chǎng)廣泛接受,發(fā)貨量超過HDD;傳統(tǒng)針對(duì)HDD盤設(shè)計(jì)的SATA/SAS接口,無法充分發(fā)揮SSD的性能潛力,針對(duì)SSD設(shè)計(jì)的NVMe標(biāo)準(zhǔn)接口一經(jīng)出現(xiàn),便展現(xiàn)了強(qiáng)大生命力。根據(jù)2019年全球閃存峰會(huì)(Flash Memory Summit,F(xiàn)MS)的預(yù)測(cè),2020年將有50%以上的服務(wù)器,40%以上的陣列支持NVMe SSD,NVMe將很快超過SATA/SAS成為SSD使用的主流存儲(chǔ)接口,宣告NVMe時(shí)代的到來。
應(yīng)用數(shù)據(jù)量和數(shù)據(jù)熱度同時(shí)增加,對(duì)于存儲(chǔ)系統(tǒng)的設(shè)計(jì)提出了新的挑戰(zhàn),使用NVMe SSD構(gòu)建的全閃存存儲(chǔ)系統(tǒng)成為業(yè)界共識(shí),而如何構(gòu)建各自又有不同的理解。本文對(duì)這個(gè)問題做一個(gè)粗淺的探討。
全閃系統(tǒng)的性能指標(biāo),低時(shí)延比高IOPS更為關(guān)鍵。降低時(shí)延,關(guān)鍵是縮短IO路徑,提升IO路徑的處理效率。在系統(tǒng)設(shè)計(jì)選擇上,要求針對(duì)NVMe特點(diǎn)做出新的調(diào)整。
為達(dá)到更低的IO時(shí)延和更高的效率,前端支持NVMe over Fabric是必選。后端NVMe SSD的組網(wǎng)可在PCIe和NVMe over Fabric(FC或RoCE)之間選擇,PCIe時(shí)延為亞微秒,但擴(kuò)展能力比較局限;NVMe over Fabric擴(kuò)展能力強(qiáng),而時(shí)延則在10微秒級(jí)。
NVMe SSD單盤性能相當(dāng)強(qiáng)大(100k iops),控制器往往構(gòu)成系統(tǒng)性能瓶頸,串接盤柜的擴(kuò)容方式,只能增加容量,并不能帶來性能的增長,因此,全閃系統(tǒng)應(yīng)考慮scale-out的架構(gòu)。 從降低時(shí)延的角度,數(shù)據(jù)的跨控制器轉(zhuǎn)發(fā)應(yīng)盡量避免。但為了提供數(shù)據(jù)跨控制器冗余,或者提升單對(duì)象多控制器并發(fā)訪問能力,又要求數(shù)據(jù)在不同控制器之間轉(zhuǎn)發(fā),一個(gè)系統(tǒng)需要在有沖突的多個(gè)需求間尋求平衡。
而另一方面,無論技術(shù)如何發(fā)展,高可用性是對(duì)存儲(chǔ)系統(tǒng)的一貫要求,對(duì)于更多承擔(dān)關(guān)鍵業(yè)務(wù)的全NVMe閃存系統(tǒng)來說,高可用性更是一個(gè)不容讓步的目標(biāo)。Scale-out系統(tǒng)有了更多的硬件部件,合適的架構(gòu)可以達(dá)成相比雙控陣列更高的可用性,而不合適的架構(gòu)選擇可能形成整體串聯(lián)的可靠性模型,反而降低了系統(tǒng)的可用性,這是系統(tǒng)設(shè)計(jì)者和用戶都值得注意的。
例如一些系統(tǒng)為追求全局去重效果,將所有的數(shù)據(jù)按其指紋的HASH來確定數(shù)據(jù)存儲(chǔ)和處理的模塊,這種設(shè)計(jì)不僅在正常工作時(shí)存在大量的模塊間數(shù)據(jù)轉(zhuǎn)發(fā),更為嚴(yán)重的是,在單個(gè)模塊故障后,可能導(dǎo)致全系統(tǒng)數(shù)據(jù)不可用(如圖1,不同模塊處理不同尾數(shù)的指紋。例如Module1故障后,所有指紋尾數(shù)是0、1的數(shù)據(jù)將不可用,從而整個(gè)系統(tǒng)不可用);這種系統(tǒng)的可用性模型是各模塊的串聯(lián),假設(shè)單個(gè)模塊可用性是5個(gè)9,全系統(tǒng)可用性必然低于5個(gè)9。
圖 1 按模塊處理指紋的全局去重設(shè)計(jì)示意
中興通訊基于多年存儲(chǔ)研發(fā)技術(shù)的積累,全新發(fā)布全NVMe全閃存陣列KF8200。秉承一貫?zāi)_踏實(shí)地的風(fēng)格,以系統(tǒng)可靠穩(wěn)定為基石,同時(shí)積極擁抱技術(shù)最新發(fā)展,在軟硬件架構(gòu)上全面創(chuàng)新,KF8200成為全NVMe時(shí)代中興通訊存儲(chǔ)的旗艦產(chǎn)品。
圖 2 ZXCLOUD KF8200全NVMe閃存陣列
全系統(tǒng)由一個(gè)或多個(gè)雙控機(jī)柜通過RoCE網(wǎng)絡(luò)連接,組成一個(gè)scale-out系統(tǒng)。每個(gè)雙控機(jī)柜都可以提供NVMe over Fabric訪問接口;單機(jī)柜支持30塊NVMe SSD,可提供超過200w IOPS以及亞ms的響應(yīng)時(shí)間。
所有NVMe SSD都位于控制器柜中,通過PCIe直接與控制器相連,避免了復(fù)雜的后端組網(wǎng),硬件設(shè)計(jì)上保證極低時(shí)延;軟件上,數(shù)據(jù)冗余使用機(jī)柜內(nèi)專用通道在機(jī)柜內(nèi)雙控間完成,避免了機(jī)柜間數(shù)據(jù)轉(zhuǎn)發(fā)導(dǎo)致的時(shí)延;數(shù)據(jù)分布策略設(shè)計(jì)上,做到了系統(tǒng)正常工作時(shí),基本無跨模塊數(shù)據(jù)轉(zhuǎn)發(fā),IO數(shù)據(jù)路徑做到業(yè)界最短。
由于消除了正常工作時(shí)模塊間數(shù)據(jù)轉(zhuǎn)發(fā),基本實(shí)現(xiàn)了真正意義上的scale-out,即性能和容量都隨著節(jié)點(diǎn)(以機(jī)柜為單位)增加而線性增加。各個(gè)節(jié)點(diǎn)間正常工作狀態(tài)呈現(xiàn)為松耦合,而在異常發(fā)生時(shí)各節(jié)點(diǎn)業(yè)務(wù)又可以互為倒換,在可靠性和性能二者之間達(dá)成較為理想的均衡。