現(xiàn)在看到的是MSmart分布式存儲基礎(chǔ)的邏輯架構(gòu)圖,整個MSmart產(chǎn)品能夠提供的存儲服務(wù)分成了對象、文件、塊幾個不同方面,都提供多種協(xié)議支持,可實現(xiàn)數(shù)據(jù)共享,在一個統(tǒng)一架構(gòu)之下實現(xiàn),宏杉多個節(jié)點去并發(fā)的提供完整的數(shù)據(jù)服務(wù),這是宏杉MSmart基本的架構(gòu)。
海量數(shù)據(jù)存儲
宏杉MSmart產(chǎn)品有幾個方面的特色,一是海量的數(shù)據(jù)存儲,這從架構(gòu)的設(shè)計上來體現(xiàn),宏杉MSmart分布式存儲可以提供最多1萬個節(jié)點的橫向擴展能力,而且宏杉整個性能和容量是可以實現(xiàn)完全線性的擴展。宏杉MSmart可以忽略后端網(wǎng)絡(luò)設(shè)置,在圖上后端網(wǎng)絡(luò)是用虛線進行連接的,采用宏杉特有的增強型文件或者塊協(xié)議,可以不配置后端網(wǎng)絡(luò)的,通過前端網(wǎng)絡(luò)、通過前端客戶端去實現(xiàn)分片或數(shù)據(jù)的分發(fā),來提高更大的存儲并發(fā)性能。
另外一個方面,節(jié)點容量空間、磁盤空間利用率。在傳統(tǒng)分布式存儲當(dāng)中大家都知道,一般情況下宏杉在數(shù)據(jù)分布都是采用像一致性哈希算法實現(xiàn)數(shù)據(jù)的分布,可能會存在一個問題,它的數(shù)據(jù)分布是不完全均勻的,當(dāng)存儲容量達到80%左右的時候,宏杉就需要對整個存儲系統(tǒng)進行擴容了。原因就于宏杉不管是用一致性糾刪,還是類似的哈希算法進行數(shù)據(jù)的分布,它的數(shù)據(jù)不完全均衡,有些硬盤多一些,有些硬盤當(dāng)中少一些,為了保證整個存儲空間可用程度,所以說當(dāng)宏杉整體存儲利用率達到80%的時候,宏杉就需要盡快的對存儲空間進行擴容。
那這種情況其實也是對宏杉整個存儲可用空間的浪費。那么對宏杉MSmart來說,宏杉采用了自研的一種智能數(shù)據(jù)分布算法,宏杉不均衡可以控制在5%以下,換句話說,宏杉可以把宏杉整個存儲每個節(jié)點每塊硬盤的使用率提升到95%以上,大大提升了系統(tǒng)整體的可用容量空間。
第三,除了存儲容量之外,宏杉MSmart還有一個比較大的特色,宏杉支持融合存儲的模式,它跟超融合是有一些區(qū)別,超融合一般是采用虛擬化的方式去提供計算資源的,但是在MSmart存儲當(dāng)中,底層是采用內(nèi)核級服務(wù)來提供的,宏杉可以支持部署其他一些應(yīng)用軟件,這些應(yīng)用軟件是不會對宏杉內(nèi)核態(tài)的存儲服務(wù)進行干擾的,這種融合模式的好處可以在很多應(yīng)用方案中得到體現(xiàn),比如很多視頻監(jiān)控應(yīng)用,基本上采用的都是監(jiān)控直存的方案,前端攝像頭的數(shù)據(jù)流下來之后直接到存儲當(dāng)中去了,需要存儲本身具備視頻解析、視頻轉(zhuǎn)發(fā)的功能,這個時候就可以把流媒體轉(zhuǎn)發(fā)的軟件直接部署在存儲節(jié)點上,去實現(xiàn)視頻的直存,而且這種直存方式不區(qū)分任何監(jiān)控平臺和攝像頭廠家。
再比如說網(wǎng)盤的解決方案,很多用戶在使用分布式存儲的時候,更多是提供一個網(wǎng)盤服務(wù),可以在分布式存儲的基礎(chǔ)上直接部署網(wǎng)盤軟件,去實現(xiàn)一體化的網(wǎng)盤方案,這也是宏杉在存儲融合這一塊所做的一個創(chuàng)新。
智能數(shù)據(jù)算法
基于宏杉智能數(shù)據(jù)算法,宏杉智能的數(shù)據(jù)算法也在很多方面得到體現(xiàn),比如說宏杉其實在SAN存儲的一個著名算法,叫做IDDC主動式磁盤診斷中心,簡單來說,通過IDDC這個技術(shù),宏杉可以智能的主動去檢測硬盤相關(guān)的故障,包括慢盤、磁盤故障等等故障,通過主動的去檢測,去預(yù)防當(dāng)文件寫到這個位置的時候出現(xiàn)報錯的情況,這也是IDDC給用戶帶來的最大的便利。
宏杉也把IDDC的功能SAN存儲移植到分布式存儲當(dāng)中,宏杉分布式存儲也可以支持IDDC數(shù)據(jù)自檢、自動重建的功能,而且通過優(yōu)化的數(shù)據(jù)重建算法,可以保證哪怕是在最小集群、最小硬盤數(shù)的狀態(tài)之下,平均每TB數(shù)據(jù)重建時間也不會超過30分鐘,這是非??斓臄?shù)據(jù)重建速度。這個IDDC算法是宏杉宏杉分布式存儲在智能算法這一塊所做的新創(chuàng)新。
其他一些智能算法包括小文件聚合,在分布式存儲當(dāng)中叫做Nest技術(shù),簡單來說就是把小文件聚合成大文件,然后再分片并發(fā)的向分布式存儲當(dāng)中去寫入,這樣的過程減少了存儲對于小文件負載,不論在寫入,還是在查詢和讀取的時候,其實都會對性能有非常大的提升。
宏杉自己內(nèi)部也做了一個驗證,在大量小文件隨機讀寫的狀態(tài)之下,通過小文件聚合的技術(shù),可以把整體存儲性能提升30%以上,這也是宏杉在存儲智能算法方面去做的一些創(chuàng)新努力。
另外還有一個方向,就是分布式全閃存,因為我們都知道分布式存儲對存儲性能的要求逐步提高,宏杉MSmart現(xiàn)在也全面支持了分布式閃存,尤其支持全NVMe的配置,通過分布式存儲給用戶輸出極致的存儲性能。
基于閃存的存儲介質(zhì),其實對存儲相關(guān)算法都會有比較特殊的一些要求。比如說快照,宏杉分布式存儲是可以支持無限快照一資源設(shè)置的,對快照的數(shù)量完全沒有限制?;谶@一點,宏杉在全閃存配置之下,快照基于ROW快照方式去實現(xiàn)的,ROW的好處是本身沒有寫放大,對于磁盤擦寫次數(shù)是比COW快照方式要少的,所以也是通過這種方式,盡可能保護SSD的壽命。
第三,基于全閃存的方式,去重寫優(yōu)化數(shù)據(jù)分布算法,會盡可能的把所有的文件打散,均勻分布的寫在所有硬盤當(dāng)中。包括在數(shù)據(jù)進行重建的時候,也會考慮到不同的SSD的壽命問題,盡可能對讀寫進行均衡,以此來延長整體SSD的壽命,這是宏杉在全閃存這一塊所做的一些智能算法優(yōu)化。
高效的數(shù)據(jù)共享
宏杉對分布式存儲想所的提升,是在更高效的數(shù)據(jù)共享方面。
第一,宏杉能夠提供豐富的接口類型,比如說訪問接口,基于文件的NFS/CIFS、FTP、Http、HDFS、S3/Swift接口,iSCSI塊接口,在宏杉分布式存儲當(dāng)中,通過一個集群就可以直接實現(xiàn),而且是所有節(jié)點全部可以同時參與,去提供所有接口訪問,不需要去分域來提供服務(wù),這是宏杉比較大的一個特色。
在網(wǎng)絡(luò)接口這一塊,宏杉是可以支持各種各樣的接口,包括萬兆25G、100G的接口,給用戶在不同場景之下最極致的存儲帶寬性能。
除了常見的一些通用接口協(xié)議之外,宏杉分布式存儲有一個比較大的特色,就是宏杉有一個自有的增強型智能存儲協(xié)議,以同時支持文件協(xié)議和塊協(xié)議,是在用戶的客戶端可以安裝宏杉增強型智能存儲協(xié)議的客戶端,它可以實現(xiàn)最大的優(yōu)勢是可以在客戶端層面上直接去實現(xiàn)前端切片,不管是做副本還是做糾刪,都可以在客戶端上把切片完成。然后通過多個節(jié)點并發(fā)的向節(jié)點里面寫,通過這種方式實現(xiàn)多線程的并發(fā)讀寫,去進一步的增強宏杉存儲本身的并發(fā)性能。
第二,基于宏杉增強型的存儲可以提供更高級的權(quán)限控制,一共可以提供七種權(quán)限靈活設(shè)置,七種權(quán)限組合在一起,有大概127種權(quán)限組合,能夠完全滿足用戶對權(quán)限安全方面的要求。
還有一個優(yōu)勢,前面其實也提到了,通過增強型的存儲協(xié)議,是可以不配置后端網(wǎng)絡(luò)的,因為存儲文件直接在前端就進行切片了,然后通過分片分線程的方式向所有節(jié)點并發(fā)讀寫,所以在這種情況下我是可以不配置后端網(wǎng)絡(luò)的,這是關(guān)于增強型的智能存儲協(xié)議,能夠?qū)?shù)據(jù)共享來達到更高層面的提升。
第三,基于前面提到的,不論一些公有的文件協(xié)議、對象協(xié)議,還是增強型的文件協(xié)議,針對所有非結(jié)構(gòu)化數(shù)據(jù)相關(guān)協(xié)議,宏杉都可以實現(xiàn)類似數(shù)據(jù)湖的多協(xié)議融合互通訪問的功能,包括NFS、CFS、增強型的POSIX接口,包括S3/Swift的對象接口,像HDFS的大數(shù)據(jù)接口,這些所有的協(xié)議都可以在一個統(tǒng)一的全局空間之下,去實現(xiàn)數(shù)據(jù)的融合互通訪問。
這種方式的好處是實現(xiàn)了所有非結(jié)構(gòu)化數(shù)據(jù)的協(xié)議互通,共享一份數(shù)據(jù),不需要進行數(shù)據(jù)遷移的。舉個簡單的例子,比如說有一部分通過通常NFS或者SMB這樣一些通用的文件協(xié)議寫入的數(shù)據(jù),我需要通過像HDFS接口進行大數(shù)據(jù)分析的時候,有了數(shù)據(jù)共享、多協(xié)議共享功能之后,不需要把這些文件數(shù)據(jù)再進行遷移、拷貝、格式的轉(zhuǎn)換等等這些過程,通過NFS或者SMB協(xié)議寫入的文件,可以直接通過HDFS的協(xié)議去訪問,而且宏杉可以支持原生的HDFS接口,可以直接替代掉Hadoop當(dāng)中HDFS組件,給前端一些其他的組件提供存儲服務(wù)的,這是關(guān)于宏杉互聯(lián)互通的數(shù)據(jù)共享、協(xié)議共享的特色。
靈活管理方式
靈活的管理方式也是很多用戶在實際使用過程當(dāng)中提出來的相關(guān)需求,宏杉也把很多用戶的需求在現(xiàn)在分布式存儲產(chǎn)品當(dāng)中去做了一些實現(xiàn)。第一,可以實現(xiàn)靈活的節(jié)點調(diào)整,宏杉分布式集群是以三節(jié)點為最小規(guī)模起步進行配置的,可以根據(jù)業(yè)務(wù)需求在線的進行擴容,也可以在線的縮小容量,不管是擴容還是縮容,還是節(jié)點更換的過程都是可以在線完成的。
而且宏杉分布式存儲在節(jié)點增減或者更換的過程當(dāng)中有一個比較大的特色,就是不會強制要求所有節(jié)點結(jié)構(gòu)或者配置是完全一致的。比如在初始配置了三個原始節(jié)點的情況下,在擴容的時候,如果原始節(jié)點配置比較落后,現(xiàn)在有性能更高的節(jié)點,用戶也可以補充新的不同結(jié)構(gòu),甚至盤位數(shù)不一樣,硬盤規(guī)格不一樣,這些情況下新的節(jié)點都是可以加入到原有的存儲空間當(dāng)中去的。
基于這樣一種情況,新增的節(jié)點它的單節(jié)點容量可能就會跟原有節(jié)點不一致,所以在做數(shù)據(jù)自動均衡的時候,實際上也是基于兩種不同的維度去實現(xiàn)的。如果所有節(jié)點間的可用容量是完全均衡的,直接按照容量的方式在多個節(jié)點之間實現(xiàn)數(shù)據(jù)均衡。當(dāng)新增的節(jié)點比如說它的容量比原有這些節(jié)點可用容量要高的時候,宏杉也可以支持基于存儲資源的利用率去進行自動均衡,可以保證所有節(jié)點空間的利用率是一致的,這是兩種不同的自動均衡方式,可以自動的進行切換,也幫助用戶不管進行擴容還是縮容還是進行節(jié)點更換的時候,能夠更靈活的進行管理的方式。
關(guān)于數(shù)據(jù)冗余的設(shè)置,都知道分布式存儲很多要求糾刪、副本等等一系列的冗余模式,但是對于絕大部分產(chǎn)品來說,它會有一個要求,針對我一個集群或者至少在一個故障域之下,用戶只能選擇一種冗余模式,比如說只能選擇4+2糾刪,或者只能選擇3副本等等一系列冗余模式。對于宏杉的分布式存儲來說,很大一個靈活點是在于可以基于任何一個目錄去獨立設(shè)置它的冗余模式,在這個圖上也舉了個例子,比如說在根目錄,根目錄在初始設(shè)置的時候選擇了8+2的糾刪,小文件聚合功能是關(guān)閉的,存儲介質(zhì)是機械盤。在根目錄之下創(chuàng)建了兩個2級目錄,兩個2級目錄冗余模式是可以自己手動進行選擇的,比如說把其中一個目錄可能存的小文件比較多,數(shù)據(jù)安全性要求比較高,同時對性能要求也比較高??梢园堰@一個目錄設(shè)置成四副本的模式,然后把小文件聚合開起,而且可以把這個目錄放到SSD硬盤介質(zhì)上。
然后再往后看他的下一級目錄,如果不去單獨進行設(shè)置的時候,那這個目錄就會繼承附目錄的相關(guān)設(shè)置屬性,當(dāng)認為這個目錄和附目錄在文件存儲特點上有一些區(qū)別的時候,可以對任何一級的任何目錄進行單獨設(shè)置,這也是宏杉在管理方式上非常靈活的一點。
關(guān)于權(quán)限這一塊的控制,前面也簡單提到了,宏杉分布式存儲本身基于分布式存儲這一層可以提供七種不同權(quán)限的靈活設(shè)置,七種不同權(quán)限互相組合的話,是可以達到大概127種左右的權(quán)限組合,這種直接基于存儲校驗底層的訪問權(quán)限,跟操作系統(tǒng)權(quán)限、其他一些相關(guān)的權(quán)限都是屏蔽開的,可以幫助用戶去更好的對存儲相關(guān)權(quán)限進行管理。
小結(jié)
前面其實宏杉提到了很多不同場景上、不同維度上做的一些創(chuàng)新??偨Y(jié)來說,主要體現(xiàn)在四個大的方面。
第一,提供了海量的數(shù)據(jù)存儲服務(wù)。第二,有大量的智能數(shù)據(jù)管理算法。第三,提供了高效了數(shù)據(jù)共享方式。第四,可以提供更多更靈活的存儲和數(shù)據(jù)管理方式。
以上就是今天會介紹到MSmart分布式存儲相關(guān)的技術(shù)探索和創(chuàng)新。
接下來其實宏杉宏杉一直也會以自主創(chuàng)新來引領(lǐng)存儲智能的發(fā)展,以智能制造服務(wù)為口號,來助力百行百業(yè)的用戶進行數(shù)字化的轉(zhuǎn)型。
本文根據(jù)宏杉科技產(chǎn)品部副總工張夏男演講整理而成!