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