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