SHARK5100可以輕松支持PB級別的存儲數據總量。支持多達512個存儲節點,支持的集群總存儲容量超過100PB,足以滿足大中小各種類型企業的分布式存儲業務需求。
市面上主流的操作系統均可以通過多種協議訪問SHARK5100集群,這些系統包括Windows、Linux、CentOS、Ubuntu、Debian、Fedora、MACOSX等。SHARK5100集群能夠連接OpenStack、CloudStack等云計算環境,為它們提供底層存儲支持;能配合Hadoop、Spark等大數據分析環境使用,為它們提供底層存儲支持。
SHARK5100支持異地容災技術。存儲集群的數據,能夠以增量的方式快速地同步到異地集群中,進一步提高數據的可用性。增量同步技術可以在本地集群和異地集群的連接帶寬較低的情況下快速同步文件,確保數據在異地有完整的備份。此外,SHARK5100在插件的支持下,也可把數據同步到AWS、阿里云等公有云存儲中。
高可用性意味著任意一個或者多個部件損壞,系統仍然完全可用,業務不會中斷掉。SHARK5100使用多重技術,在軟件層次來保障系統的高可用性,比基于硬件的高可用性適應性更強,且可靠性更高。
當系統采用多副本或者糾刪碼的冗余方式時,如果一個或者多個節點完全損壞,系統仍然可以正常運行,數據讀寫不會中斷,所有數據都可訪問。具體來說,如果采用N副本,則系統至少可以容忍N-1個節點損壞;如果采用N+M的糾刪碼,可以容忍M個節點損壞;當系統不采用副本或者糾刪碼的冗余方式時,出現一個或者多個節點損壞,CX-CLOUD-F仍然可以對寫入業務的持續進行提供一定的保障,具體內容詳見下一節。
在沒有副本(僅采用節點內RAID)的分布式環境中,如果出現一個或多個節點完全損壞,不僅相關的數據無法讀出,后續數據也無法正常寫入,導致業務系統直接停滯。SHARK5100中創新的業務連續性技術能有效解決該問題。使用該技術,新的業務數據仍可以全盤持續寫入,保證業務在無人工干預的情況下不中斷。更為重要的是,損壞的節點經過排查修復,還可以重新在線加入集群中。在部分行業的實施方案中(如安防行業),因為成本的因素,需要考慮無副本的存儲方案。此類應用一般要求是必須能夠忍受硬盤錯誤。節點出錯時,只要能夠保證之前的數據在必要時有辦法讀出即可。但后面的業務數據必須持續寫入,否則就可能出現大量的數據丟失。這項技術,可以在最大程度控制成本的前提下,實現最好的數據保障。
SHARK5100支持各種接口的SSD,包括SATA/SAS SSD和更高可靠性的PCIe SSD。如果直接使用SSD作為數據盤,可以獲取很高的IOPS,但SSD的價格相對較貴,所以適合對容量需求不大但有大量小文件并發讀寫的應用負載(如動漫渲染)。
SHARK5100擁有完善的緩存支持策略,SSD可以配置為讀緩存、寫緩存和讀寫緩存。對于大規模數據寫入,SHARK5100內置的并發寫入算法,可以實現非常高的寫入帶寬,因此,結合SSD自身讀寫特性,使用SSD作為讀緩存是一種最為典型的應用加速配置。SSD讀緩存結合SHARK5100的預讀算法,能極大地提升數據的緩存命中率,對于讀負載較多的應用,有著非常顯著的性能提升作用。對于應用程序來說,性能提升的過程是全透明的,應用無需做額外的設置,這樣也大幅度簡化了應用的配置,進一步避免了額外的開發工作,能顯著提升業務帶來的經濟效益。
傳統的分布式存儲部署涉及到復雜的配置,管理員需要非常專業的操作技能,熟悉Linux/UNIX系統以及復雜的網絡配置,相關的配置步驟需利用配置文件和腳本來完成。
SHARK5100針對以上弊端,推出了非常簡單的基于圖形化界面的快速部署方案。用戶僅需要通過Web訪問每個節點,進行包括IP設置等的簡單網絡配置,便可以把分布式存儲搭建好。通過內置的圖形化向導,也可以快速對整個環境初始化,建立數據卷,對外提供服務。
SHARK5100采用了基于Web的EasyUI技術,提供操作簡單、功能強大的UI界面。用戶可以通過任意一個節點對分布式存儲進行管理,修改相關配置,查看運行狀態,系統告警,以及實時的性能數據(包括CPU、網絡帶寬、讀寫帶寬等)。此外,告警信息也可以通過電子郵件、SNMP和RESTful API獲取。
對于最終用戶來說,一般情況下僅需關注系統的告警,便能實時監測整套系統的健康狀況。得益于采用了數據自我恢復技術,許多告警能夠在一段時間之后自動消除。如果遇到了性能瓶頸,通過對性能數據的簡單分析,也能快速定位問題所在。
SHARK5100基于軟件定義存儲的架構,可以運行在通用的x86服務器上面,通過復雜的軟件機制來保證整套系統的可靠性。相對于專用硬件服務器來說,不僅可以降低用戶的整體投資,同時還帶來了極大的靈活性。用戶可根據預算選擇合適檔次的硬件,既可以直接利用現有的服務器設備,也可以采用經過大規模測試和認證的專用硬件系統(包括具有更高可用性的雙控制器存儲設備)組建。迄今為止,SHARK5100已經在多款商用服務器上面經過了完善的測試和生產環境的考驗。
SHARK5100能對用戶提供統一的命名空間,即用戶能夠訪問一個容量接近無限(數PB)的數據卷。對于應用程序來說,只需要掛載(mount)該卷,按照本地文件系統的讀寫模式讀寫該卷即可。從邏輯上,用戶可以認為自己使用的是一套超大容量和超高性能的專業存儲,而無需考慮物理上的部署細節。SHARK5100的運行機制確保了數據的合理存放以及整套系統的可用性,讓用戶能夠隨時隨地讀寫所需的數據。
當系統擴展時,卷的大小也可以同步擴展。新加入節點的存儲空間,能夠并并入到已有的卷中。整個過程是動態在線完成的,不影響用戶業務的正常運行。此外,用戶也可根據自身業務的特點,創建多個獨立的數據卷,配置不同的訪問權限,確保數據按照要求互相隔離。
SHARK5100提供了豐富的訪問接口,完全和傳統的NAS兼容,用戶可以直接拿它替換現有的NAS系統,即可在保障現有企業業務的前提下,把基于有限存儲容量的傳統應用程序遷移到基于近似無限容量的分布式存儲上來,獲得更大的容量、更好的擴展性、更高的性能、更好的可用性。
SHARK5100支持通過多種協議訪問內部的存儲數據,最大程度兼容客戶的已有業務環境。SHARK5100無需安裝客戶端,使用CIFS/SAMBA、NFSv3、FTP、WebDAV、OpenStack Swift、HDFS等標準協議即可訪問數據。雖然使用標準協議訪問數據給用戶帶來了極大的便利性,但SHARK5100也針對Linux和Windows等環境提供專有客戶端軟件,滿足用戶對于高性能數據傳輸的需求,用戶在客戶端掛載數據卷之后,可以用POSIX兼容的方式操作相關文件。
傳統存儲如果要擴展容量,一般采用縱向擴展(Scale-up)的方式。但縱向擴展性能無法隨容量同步擴展,因為所有的IO都會經過主柜(連接外部網絡的設備),且對外的網絡接口不易擴展,所以非常容易導致性能瓶頸。而且可靠性很差,無法承受單點故障,最嚴重的情況如主柜損壞,則會導致所有的硬盤無法訪問。因此,采用縱向擴展方式,不能支持較大的存儲總容量。
SHARK5100采用了橫向擴展(Scale-out)的方式來支持容量擴展。擴展容量只需要增加存儲節點,該節點是一個完整的存儲主機,直接接入網絡,與其他節點之間有很大的獨立性。任何節點損壞,不影響其他節點的訪問。而且整個擴容過程在線進行,原有的存儲系統可以繼續運行,不會中斷當前業務。
得益于強大的橫向擴展能力,隨著節點數的增多,SHARK5100存儲的性能也會近線性上升?;谌f兆以太網絡和Infiniband,SHARK5100可以輕松處理帶寬要求苛刻的應用,比如非線性視頻編輯、VOD點播、大規模數據備份等。
SHARK5100內置負載平衡模塊。通過合理的預配置,多個客戶端訪問分布式存儲,其讀寫負載會動態地均勻分布到各個節點,避免單個節點出現性能瓶頸。
SHARK5100支持完整的無限制的權限控制,全面滿足用戶的實際業務需求。它支持創建足夠多的用戶或者組,在不同的目錄針對不同的用戶賦予不同的權限(可讀可寫、只讀、禁止訪問等)。同時還支持復雜的分級目錄權限,給每一層目錄設置獨立的權限,嚴格控制內部數據的安全性和隱私性。
SHARK5100支持Windows Active Directory,最大程度地兼容用戶已有的Windows域控環境,能直接接駁到已有的Windows集群中,使用已有的用戶賬號對它進行管理。
SHARK5100從讀緩存加速和寫緩存加速兩方面著手,通過領先的優化算法,大幅度提升了系統的讀寫帶寬,尤其是視頻等非結構化數據的并發吞吐量。
讀優化方面,SHARK5100不僅支持傳統的文件內預讀,也支持文件級預讀,能顯著提升大規模數據(尤其是圖片數據)讀取的緩存命中率,以得到更好的讀取帶寬。寫優化方面,SHARK5100能對多路文件數據流進行更為有效的緩存排序,減少機械硬盤磁頭轉動次數,實現更好的聚合寫入性能。
SHARK5100支持Windows和Linux環境下的專有客戶端軟件,實現性能加速。在客戶端OS中,只需要用掛載所需訪問的卷,接下來訪問存儲的過程就等同于訪問本地文件系統,使用POSIX兼容的方式即可對數據進行對應的操作。
對于Windows系統,SHARK5100的Windows客戶端技術在業界是首創和領先的。Windows客戶端的加速代碼從協議優化和客戶端緩存處理等多方面入手,能夠實現文件的快速傳輸和性能聚合,徹底解決業界的難題——基于Linux實現的分布式存儲系統無法通過Windows高速訪問。對于非線性編輯、動漫渲染等普遍采用Windows工作站訪問存儲設備的應用,SHARK5100的Windows客戶端加速引擎,能夠給用戶帶來最佳的性能和最好的用戶體驗,極大地推進業務的發展。
多副本
多副本方式是首推的數據保護方式。SHARK5100支持副本數的為2-5。用戶可根據需要達到的保障級別和預算投入,選擇合適的副本數。當副本數設置為N(2<=N<=5)時,分布式存儲集群支持至少N個節點故障而不影響系統可用性。
糾刪碼
SHARK5100支持節點間的糾刪碼設置,能把數據拆成N份,保存到N個不同的節點上,同時保存對應的M個校驗碼片段。N和M可以在規定范圍內靈活地設置。這樣,N+M個節點組成的集群,損壞了任意M個節點,所有數據仍然可讀可寫,業務也不會中斷。其存儲利用率為N/(N+M),高于副本方式。糾刪碼的計算較為復雜,對硬件配置的要求,比副本模式的配置要求高。
節點內RAID
SHARK5100支持節點內實現硬盤級別的容錯。如果節點內部出現壞盤,可以通過RAID5/6等方式來提供數據完整性,在不影響其他存儲節點的同時,仍能保障業務的持續進行。節點內RAID可以和多副本技術組合使用,提供多層次的數據保護。
數據自動恢復
SHARK5100支持透明的數據自動恢復機制,當出現壞盤等故障時,更換新盤后能夠自動地恢復損壞的數據,使系統迅速恢復到原始的健康狀態。且數據恢復的速度可以智能調節,在盡可能加快數據恢復速度的同時,避免對用戶的讀寫業務性能造成影響。