淺談云存儲技術(shù)架構
目前利用科技手段輔助城市管理的建設模式已經(jīng)由以前的以視頻監控為主的平安城市建設轉向以多傳感技術(shù)為主的智慧城市建設,在這一過(guò)程中,雖然當前主要的數據量仍然來(lái)自視頻監控攝像頭產(chǎn)生的圖像數據,但由各類(lèi)傳感器產(chǎn)生的數據量和數據種類(lèi)正在加速增長(cháng),例如各城市道路的交通流量信息、特種車(chē)輛的運行軌跡和車(chē)況狀態(tài)信息、移動(dòng)終端的身份采集信息等,對這些海量信息的存儲、分析和利用,除了提供傳統的安全防范、事后查證功能外,更為城市建設科學(xué)規劃、科學(xué)管理提供了充分的數據基礎,同時(shí),在這樣一個(gè)海量大數據的時(shí)代,對于數據的安全存儲和應用也需要與之相適應的新的技術(shù)手段,而以分布式和并行處理為基礎的云計算和云存儲技術(shù),在此過(guò)程中也得到了極大地發(fā)展。
相對傳統存儲而言,云存儲改變了數據垂直存儲在某一臺物理設備的存放模式,通過(guò)寬帶網(wǎng)絡(luò )(比如萬(wàn)兆以太網(wǎng)或Infiniband技術(shù))集合大量的存儲設備,通過(guò)存儲虛擬化、分布式文件系統、底層對象化等技術(shù)將位于各單一存儲設備上的物理存儲資源進(jìn)行整合,構成邏輯上統一的存儲資源池對外提供服務(wù),從而在存儲容量上得以從單設備PB級橫向擴展至數十、數百PB,由于云存儲系統中的各節點(diǎn)能夠并行提供讀寫(xiě)訪(fǎng)問(wèn)服務(wù),系統整體性能隨著(zhù)業(yè)務(wù)節點(diǎn)的增加而獲得同步提升。同時(shí),通過(guò)冗余編碼技術(shù)、遠程復制技術(shù),進(jìn)一步為系統提供節點(diǎn)級甚至數據中心級的故障保護能力。容量和性能的按需擴展、極高的系統可用性,是云存儲系統最核心的技術(shù)特征。
通常,從云存儲的技術(shù)實(shí)現層次上看,從底層向上,可以分為存儲層、管理調度層、訪(fǎng)問(wèn)接口層、應用服務(wù)層等四個(gè)層次,如下圖所示:
存儲設備(IP SAN/FC SAN/NAS)
圖1 云存儲技術(shù)實(shí)現層次
其中存儲層是云存儲的基礎,一臺云存儲節點(diǎn)設備通常能安裝24個(gè)以上的硬盤(pán),通常通過(guò)IP接口將大量的存儲設備互連在一起形成存儲設備資源池,在一個(gè)云存儲系統中,底層物理存儲設備數量龐大,而且設備形態(tài)理論上也允許異構(這樣也可以接入傳統的IP SAN或FC SAN),在物理存儲設備之上是一個(gè)統一的存儲設備管理層,實(shí)現對物理存儲設備的邏輯虛擬化管理、狀態(tài)監控和維護等功能。
管理調度層是云存儲最核心的部分,這一層的主要功能是在存儲層提供的存儲資源上部署分布式文件系統或者建立和組織存儲資源對象,并將用戶(hù)數據進(jìn)行分片處理,按照設定的保護策略將分片后的數據以多副本或者冗余糾刪碼的方式分散存儲到具體的存儲資源上去。同時(shí),在本層還會(huì )在節點(diǎn)間進(jìn)行讀寫(xiě)負載均衡調度以及節點(diǎn)或存儲資源失效后的業(yè)務(wù)調度與數據重建恢復等任務(wù),以便始終提供高性能、高可用的訪(fǎng)問(wèn)服務(wù)。不過(guò),在具體實(shí)現時(shí),該層的功能也可能上移,位于訪(fǎng)問(wèn)接口層和應用服務(wù)層之間,甚至直接嵌入到應用服務(wù)層中,和業(yè)務(wù)應用緊密結合,形成業(yè)務(wù)專(zhuān)用云存儲。
訪(fǎng)問(wèn)接口層是業(yè)務(wù)應用和云存儲平臺之間的一個(gè)橋梁,提供應用服務(wù)所需要調用的函數接口,通常云存儲系統會(huì )提供一套專(zhuān)用的API或客戶(hù)端軟件,業(yè)務(wù)應用軟件直接調用API或者使用云存儲系統客戶(hù)端軟件對云存儲系統進(jìn)行讀寫(xiě)訪(fǎng)問(wèn),往往會(huì )獲得更優(yōu)的訪(fǎng)問(wèn)效率,但由于一個(gè)云存儲系統往往需要支持多種不同的業(yè)務(wù)系統,而很多業(yè)務(wù)系統只能采用特定的訪(fǎng)問(wèn)接口,例如塊接口或者POSIX接口,因此一個(gè)優(yōu)秀的云存儲系統,應該同時(shí)提供多種訪(fǎng)問(wèn)接口,例如ISCSI、NFS、CIFS、FTP、REST等,以便在業(yè)務(wù)適配方面具有更好靈活性。
業(yè)務(wù)應用層通過(guò)云存儲系統提供的各種訪(fǎng)問(wèn)接口,對用戶(hù)提供豐富的業(yè)務(wù)類(lèi)型,例如高清視頻監控、視頻圖片智能分析、大數據查找等。部分云存儲系統也會(huì )在這一層的應用業(yè)務(wù)平臺上實(shí)現管理調度層的功能,將業(yè)務(wù)數據的冗余編碼、分散存儲、負載均衡、故障保護等功能和各種業(yè)務(wù)的實(shí)現緊密結合,形成具有豐富業(yè)務(wù)特色的應用云存儲系統,而在存儲節點(diǎn)的選擇方面,則可以采用標準的IPSAN、FC SAN或者NAS設備,例如宇視科技的視頻監控云存儲CDS(Cloud Direct Storage)解決方案就是這種應用云存儲的典型代表。
圖2 宇視CDS視頻監控云存儲架構
CDS解決方案繼承了宇視科技視頻ISCSI塊直存高性能的優(yōu)點(diǎn),采用宇視最先進(jìn)的裸數據存儲技術(shù),可極大程度發(fā)揮存儲設備讀寫(xiě)性能,實(shí)現云存儲中的秒級檢索和回放,通過(guò)采用標準的IPSAN設備,通過(guò)CDV存儲虛擬化組件,并通過(guò)CDM云存儲管理服務(wù)器集中統一管理底層的存儲資源,構成全局統一的虛擬存儲空間,當前端應用設備要進(jìn)行讀寫(xiě)時(shí),首先向CDM請求可以訪(fǎng)問(wèn)的存儲空間,并將數據離散存儲到各底層標準的存儲節點(diǎn)上去,當某一存儲節點(diǎn)發(fā)生故障時(shí),CDM會(huì )自動(dòng)重新分配一個(gè)新的空間給前端設備進(jìn)行訪(fǎng)問(wèn),從而實(shí)現業(yè)務(wù)不停頓的讀寫(xiě)。CDS系統支持海量的云存儲節點(diǎn)管理能力,可管理高達2048個(gè)存儲節點(diǎn),支持動(dòng)態(tài)擴容和縮容,提供不間斷的視頻和圖片存儲服務(wù)。同時(shí)也能提供視頻實(shí)況、視頻點(diǎn)播回放、報警管理、布防撤防、地圖應用等多種視頻業(yè)務(wù)。
應用云存儲和業(yè)務(wù)深度結合,針對業(yè)務(wù)特點(diǎn)選擇適合的存儲模式,往往能提供非常優(yōu)異的業(yè)務(wù)訪(fǎng)問(wèn)性能,但通常各廠(chǎng)家實(shí)現方式各有不同,難以互通或者供第三方開(kāi)發(fā)新的數據處理業(yè)務(wù),因此,應用云存儲系統比較適合業(yè)務(wù)種類(lèi)較少,業(yè)務(wù)模型相對固定的應用場(chǎng)合。而在智慧城市的建設中,一個(gè)云存不僅會(huì )存儲海量的數據,而且需要對這些數據進(jìn)行分析和利用,這往往需要集合多個(gè)專(zhuān)業(yè)廠(chǎng)商來(lái)進(jìn)行各自擅長(cháng)領(lǐng)域的業(yè)務(wù)開(kāi)發(fā),因此,系統的開(kāi)放性、接口的標準化,則成為云存儲系統建設的重要需求,云存儲的核心功能應直接在存儲之上實(shí)現,再通過(guò)訪(fǎng)問(wèn)接口層為業(yè)務(wù)平臺提供多種通用的訪(fǎng)問(wèn)接口,如ISCSI塊存儲訪(fǎng)問(wèn)接口、POSIX文件訪(fǎng)問(wèn)接口、REST對象訪(fǎng)問(wèn)接口等,而業(yè)務(wù)應用開(kāi)發(fā)則無(wú)需再考慮數據冗余、分散存儲、負載均衡等存儲專(zhuān)屬特性,而集中在業(yè)務(wù)應用本身的功能特性方面,例如視頻監控系統中的車(chē)型識別、卡口計數、圖像濃縮等,這種云存儲系統與具體的應用耦合程度較低,具有更好的通用性,可以認為是一種通用云存儲。
在現在比較流行的云存儲架構中,根據對元數據的管理模型,可以將通用云存儲系統分為三種類(lèi)型,即集中式元數據、分布式元數據和無(wú)元數據三種類(lèi)型的系統。
集中式元數據云存儲系統是一種典型的非對稱(chēng)式系統,在系統中,通常具有一個(gè)中央元數據管理服務(wù)器,負責元數據的存儲和處理查詢(xún)與修改請求,例如,在HDFS系統中,該元數據管理服務(wù)器即為名字節點(diǎn)Namenode,同時(shí),存在大量的數據存儲節點(diǎn)提供客戶(hù)I/O數據的并行存儲與訪(fǎng)問(wèn)。這種架構中,客戶(hù)端每次對數據流的I/O操作,都需要先向元數據管理服務(wù)器進(jìn)行元數據查詢(xún),客戶(hù)端在獲得需要讀寫(xiě)的數據塊物理位置等信息后,對于數據的I/O操作則直接在客戶(hù)端和數據存儲節點(diǎn)之間進(jìn)行。相對傳統存儲系統,集中元數據云存儲系統將控制流和數據流進(jìn)行了分離,系統在擴展性和處理性能方面獲得了較大的提升,同時(shí),由于元數據集中在一臺服務(wù)器上進(jìn)行管理,整個(gè)系統架構比較簡(jiǎn)單,降低了系統設計的復雜性,目前業(yè)界采用這種架構的系統主要有GFS、HDFS、Lustre等。
圖3 具有集中元數據管理的HDFS系統架構
不難看出,雖然集中元數據云存儲系統架構簡(jiǎn)單,但會(huì )存在兩個(gè)主要的問(wèn)題:
性能瓶頸問(wèn)題。元數據的基本特性要求任何時(shí)候對用戶(hù)數據的訪(fǎng)問(wèn),都需要同步地修改元數據,由于每次I/O訪(fǎng)問(wèn)都需要首先訪(fǎng)問(wèn)元數據服務(wù)器,隨著(zhù)系統規模不斷擴大,需要管理的存儲節點(diǎn)、文件數量、I/O操作數量等都會(huì )急劇增加,而對元數據進(jìn)行管理的物理服務(wù)器性能有限,從而形成性能瓶頸,這種性能瓶頸在大量小文件訪(fǎng)問(wèn)時(shí)會(huì )更為突出。為解決這一問(wèn)題,人們通常會(huì )采用更高性能的CPU,更大的內存,并且采用SSD來(lái)加速對元數據的訪(fǎng)問(wèn),雖然能夠在一定程度上提升元數據訪(fǎng)問(wèn)性能,但成本極其高昂,且提升效果有限。
元數據服務(wù)器單點(diǎn)故障問(wèn)題。在集中元數據云存儲系統中,整個(gè)系統的性能和可靠性完全依賴(lài)于元數據服務(wù)器,一旦元數據服務(wù)器故障,系統將無(wú)法提供任何服務(wù),因此,元數據服務(wù)器就是整個(gè)系統中的潛在單點(diǎn)故障點(diǎn)。為解決這一問(wèn)題,通常對元數據服務(wù)器采用備機形成HA解決方案來(lái)提供更高的系統可用性,主用服務(wù)器和備用服務(wù)器之間的元數據必須隨時(shí)同步,否則一旦主用服務(wù)器故障,則可能導致數據不一致問(wèn)題,但元數據同步操作會(huì )進(jìn)一步加重了元數據服務(wù)器的性能負擔,導致整個(gè)系統的訪(fǎng)問(wèn)性能受到拖累,而且也無(wú)法徹底解決腦裂問(wèn)題。
為了解決集中元數據系統中的性能瓶頸和單點(diǎn)故障問(wèn)題,一種改進(jìn)后的分布式元數據云存儲系統得以出現,這種系統采用多臺元數據服務(wù)器形成集群工作的方式提供元數據訪(fǎng)問(wèn)服務(wù),集群中的每一臺設備都可以提供元數據訪(fǎng)問(wèn),從而提高整體訪(fǎng)問(wèn)性能,并且解決了元數據服務(wù)器單點(diǎn)故障問(wèn)題。分布式云存儲系統需要在所有元數據存儲節點(diǎn)之間進(jìn)行元數據同步操作,這大大增加了系統設計的復雜性,在同步期間往往需要進(jìn)行各種加鎖,而加鎖機制的存在導致部分任務(wù)難以并行運行,從而拖慢了整個(gè)系統的性能,此外,如果元數據沒(méi)有及時(shí)得到同步,或者遭到意外破壞,則會(huì )出現同一文件或者對象的元數據不一致,進(jìn)一步導致上層應用在通過(guò)不同物理服務(wù)器訪(fǎng)問(wèn)文件或對象數據時(shí)出現數據不一致或者讀寫(xiě)錯誤的問(wèn)題,這種風(fēng)險隨著(zhù)云存儲系統規模的擴大而大幅增加,同樣,為了保證元數據同步的速度,需要采用高性能、大內存并且配備SSD的服務(wù)器,硬件成本非常昂貴。
第三種云存儲系統則徹底拋棄元數據,而是采用算法來(lái)對文件或對象進(jìn)行定位,并將該算法集成在每一個(gè)存儲節點(diǎn)上,客戶(hù)端從任何一個(gè)存儲節點(diǎn)進(jìn)行數據訪(fǎng)問(wèn)都會(huì )獲得同樣的結果,云存儲系統中的每一個(gè)存儲節點(diǎn)都可以獨立、并行地對外提供服務(wù),從而真正實(shí)現性能隨節點(diǎn)數增加而線(xiàn)性擴展,由于無(wú)需在節點(diǎn)間進(jìn)行元數據的同步操作,極大地提高了系統的穩定性和可靠性,在硬件成本方面,也相對低廉,可以用較低的建設成本獲得較高的讀寫(xiě)性能。
宇視科技的UCS(Unified Cloud Storage)統一云存儲系統是在視頻應用云存儲CDS解決方案之外提供的更為通用的云存儲解決方案,它是一種采用無(wú)元數據設計的全對稱(chēng)分布式存儲系統,其存儲節點(diǎn)可以提供16到60個(gè)3.5英寸硬盤(pán)槽位,無(wú)需額外添加服務(wù)器,底層采用對象存儲機制,自動(dòng)實(shí)現數據分片、冗余校驗計算存儲、節點(diǎn)失效業(yè)務(wù)接管、存儲資源失效數據高速重建等功能,并且通過(guò)部署UniFS分布式文件系統對供標準的POSIX讀寫(xiě)訪(fǎng)問(wèn),對外提供各種標準軟件接口,例如ISCSI、NAS、REST等,現有業(yè)務(wù)系統可以不經(jīng)改造即可使用宇視科技UCS云存儲系統。而如果全套業(yè)務(wù)系統均采用宇視設備,則可以在前端攝像機、管理服務(wù)器、智能分析服務(wù)器和UCS存儲系統之間直接采用更為優(yōu)化的CBI(Cloud Block Interface)接口,該接口繼承了宇視科技上一代ISCSI視頻監控直存解決方案的有點(diǎn),根據云存儲資源池的配置,直接在前端攝像機和訪(fǎng)問(wèn)服務(wù)器自動(dòng)實(shí)現數據切片和離散存儲,將大量的計算工作分布到數量眾多的前端設備上,實(shí)現分布式計算,從而大大降低了存儲系統本身的工作負載,顯著(zhù)提升了整個(gè)系統的能夠承載的視頻監控攝像機數量。同時(shí),針對智慧城市建設需要的業(yè)務(wù)處理分析系統,也可以集成宇視提供的API或者客戶(hù)端軟件,實(shí)現對數據的并行讀寫(xiě),或者極高的性能體驗。UCS統一云存儲解決方案可廣泛用于高清視頻監控系統、公安案件視圖庫、警用執法儀在線(xiàn)存儲、交通管理分析系統等,為智慧城市、平安城市建設提供大數據、云存儲解決方案。
圖4 宇視全對稱(chēng)分布式UCS通用云存儲解決方案
評論