當今社會是一個數(shù)據(jù)社會,從2010 年開始,全球數(shù)據(jù)總量已經(jīng)進入ZB 時代,隨著視頻監(jiān)控向高清化、智能化的發(fā)展,隨著移動互聯(lián)網(wǎng)和物聯(lián)網(wǎng)的興起,由各類傳感器產(chǎn)生的數(shù)據(jù)量和數(shù)據(jù)種類正在加速增長,根據(jù)IDC 監(jiān)測,全球數(shù)據(jù)量大約每18 個月就會翻一番(這大概也可以稱之為數(shù)據(jù)摩爾定律吧),預(yù)計到2020 年,全球數(shù)據(jù)量將達到或超過40ZB,人類社會正處于一個數(shù)據(jù)爆炸的時代,或者大數(shù)據(jù)時代,對這些海量數(shù)據(jù)的存儲、管理和利用,促進了云計算技術(shù)的發(fā)展,而云存儲作為云計算概念的一種具體表現(xiàn)形式,也得到了極大的發(fā)展。
相對傳統(tǒng)存儲而言,云存儲改變了數(shù)據(jù)垂直存儲在某一臺物理設(shè)備的存放模式,通過寬帶網(wǎng)絡(luò)(比如萬兆以太網(wǎng)或Infiniband技術(shù))集合大量的存儲設(shè)備,通過存儲虛擬化、分布式文件系統(tǒng)等技術(shù)將位于各單一存儲設(shè)備上的物理存儲資源統(tǒng)一管理,構(gòu)成邏輯上統(tǒng)一的存儲資源池對外提供服務(wù),從而在存儲容量上得以從單設(shè)備PB 級擴展至數(shù)十PB乃至數(shù)百PB,并且,由于云存儲系統(tǒng)中的各節(jié)點能夠并行提供讀寫訪問服務(wù),系統(tǒng)性能隨著業(yè)務(wù)節(jié)點的增加而獲得顯著提升。同時,通過數(shù)據(jù)冗余編碼技術(shù)、業(yè)務(wù)快速接管技術(shù),提供相對傳統(tǒng)存儲設(shè)備更高的系統(tǒng)可用性。容量和性能的可擴展性、系統(tǒng)高可用性,是云存儲系統(tǒng)最核心的技術(shù)特征。
通常,從云存儲的技術(shù)實現(xiàn)層次上看,從底層向上,可以分為存儲層、管理調(diào)度層、訪問接口層、業(yè)務(wù)應(yīng)用層等四個層次,如上圖所示:

云存儲技術(shù)實現(xiàn)層次
其中存儲層是云存儲的基礎(chǔ),存儲設(shè)備可以是FC 光纖通道設(shè)備,也可以是基于IP的ISCSI 存儲設(shè)備或者NAS 系統(tǒng),在一個云存儲系統(tǒng)中,底層物理存儲設(shè)備數(shù)量龐大,而且設(shè)備形態(tài)理論上也允許異構(gòu),在物理存儲設(shè)備之上是一個統(tǒng)一的存儲設(shè)備管理層,實現(xiàn)對物理存儲設(shè)備的邏輯虛擬化管理、狀態(tài)監(jiān)控和維護等功能。
管理調(diào)度層是云存儲最核心的部分,這一層次協(xié)調(diào)各底層存儲設(shè)備實現(xiàn)對數(shù)據(jù)的多副本或冗余編碼計算、分散存儲、負載均衡等功能,在常見的云存儲系統(tǒng)中,通常采用分布式文件系統(tǒng)或者對象存儲來實現(xiàn)。不過,在具體實現(xiàn)時,該層的功能也可能上移,位于訪問接口層和應(yīng)用服務(wù)層之間,甚至直接嵌入到業(yè)務(wù)應(yīng)用層中,和業(yè)務(wù)應(yīng)用緊密結(jié)合,形成業(yè)務(wù)專用云存儲。
訪問接口層是業(yè)務(wù)應(yīng)用和云存儲平臺之間的一個橋梁,提供應(yīng)用服務(wù)所需要調(diào)用的函數(shù)接口,由于云存儲系統(tǒng)往往需要支持多種不同的業(yè)務(wù)系統(tǒng),往往需要提供多種訪問接口,例如ISCSI、NFS、CIFT、FTP、REST 等。
業(yè)務(wù)應(yīng)用層通過云存儲系統(tǒng)提供的各種訪問接口,對用戶提供豐富的業(yè)務(wù)類型,例如公有云存儲提供的網(wǎng)盤服務(wù)、數(shù)據(jù)歸檔服務(wù)、高清視頻監(jiān)控服務(wù)等。部分云存儲系統(tǒng)也會在這一層實現(xiàn)管理調(diào)度層的功能,將業(yè)務(wù)數(shù)據(jù)的冗余編碼、分散存儲、負載均衡、故障保護等功能和各種業(yè)務(wù)的實現(xiàn)緊密結(jié)合,提供非常極具特色的業(yè)務(wù)應(yīng)用,和云存儲系統(tǒng)的核心功能在管理調(diào)度層實現(xiàn)的通用云存儲相對應(yīng),此類云存儲系統(tǒng)的核心功能在應(yīng)用層實現(xiàn),可以歸類為應(yīng)用云存儲,例如宇視公司的視頻監(jiān)控云存儲CDS(Cloud DirectStorage)解決方案,可以為用戶提供極其豐富的視頻監(jiān)控業(yè)務(wù)。
CDS 解決方案繼承了宇視科技視頻ISCSI塊直存高性能的優(yōu)點,采用宇視最先進的裸數(shù)據(jù)存儲技術(shù),可極大程度發(fā)揮存儲設(shè)備讀寫性能,實現(xiàn)云存儲中的秒級檢索和回放,通過采用標準的IPSAN 設(shè)備,通過CDV 存儲虛擬化組件,構(gòu)成全局統(tǒng)一的虛擬存儲空間,系統(tǒng)支持海量的云存儲節(jié)點管理能力,可管理高達2048 個存儲節(jié)點,支持動態(tài)擴容和縮容,通過云存儲管理服務(wù)器對物理存儲資源進行實時動態(tài)監(jiān)控,支持節(jié)點間負載均衡和故障業(yè)務(wù)重新調(diào)度,提供不間斷的視頻和圖片存儲服務(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)用場合。而一個云存儲系統(tǒng)中,不僅會存儲海量的數(shù)據(jù),而且需要對這些數(shù)據(jù)進行分析和利用,這往往需要集合多個專業(yè)廠商來進行各自擅長領(lǐng)域的業(yè)務(wù)開發(fā),因此,系統(tǒng)的開放性、接口的標準化,則成為云存儲系統(tǒng)建設(shè)的重要需求,在這種云存儲系統(tǒng)中,由管理調(diào)度層實現(xiàn)的云存儲的核心功能則直接在存儲層之上實現(xiàn),再通過訪問接口層為業(yè)務(wù)平臺提供通用的訪問接口,如ISCSI塊存儲訪問接口、POSIX 文件訪問接口、RESTFUL 接口等,而業(yè)務(wù)應(yīng)用開發(fā)則無需再考慮數(shù)據(jù)冗余、分散存儲、負載均衡等存儲專屬特性,而集中在業(yè)務(wù)應(yīng)用本身的功能特性方面,例如視頻監(jiān)控系統(tǒng)中的智能識別、卡口計數(shù)等,這種云存儲系統(tǒng)與具體的應(yīng)用耦合程度較低,具有更好的通用性,可以認為是一種通用云存儲。目前通用云存儲的應(yīng)用主要以分布式文件系統(tǒng)和對象存儲的方式出現(xiàn),由于人類發(fā)展過程中產(chǎn)生的數(shù)據(jù)絕大部分都是以文件形式存在,因此云存儲系統(tǒng)以分布式集群文件系統(tǒng)的方式出現(xiàn)是一個必然的選擇,而隨著寬帶移動互聯(lián)網(wǎng)、WEB 技術(shù)的發(fā)展,對象存儲系統(tǒng)也越來越多地出現(xiàn)在網(wǎng)盤、數(shù)據(jù)歸檔等應(yīng)用中。
在一個通用云存儲系統(tǒng)中,都需要通過橫向擴展存儲節(jié)點來解決大量數(shù)據(jù)的存儲容量和讀寫訪問性能問題,而其中最關(guān)鍵的問題,是解決記錄數(shù)據(jù)邏輯位置和物理位置之間的映像關(guān)系的可靠性存儲和高性能訪問問題,也就是元數(shù)據(jù)的存儲與訪問問題,當然,元數(shù)據(jù)還記錄著文件或者對象的訪問權(quán)限、屬性、訪問時間等其他信息。元數(shù)據(jù)的處理好壞,將極大地影響系統(tǒng)的整體性能和可擴展性。一般而言,根據(jù)對元數(shù)據(jù)的管理模型,可以將通用云存儲系統(tǒng)分為三種類型,即集中式元數(shù)據(jù)、分布式元數(shù)據(jù)和無元數(shù)據(jù)三種類型的系統(tǒng)。
集中式元數(shù)據(jù)云存儲系統(tǒng)是一種典型的非對稱式系統(tǒng),在系統(tǒng)中,通常具有一個中央元數(shù)據(jù)管理服務(wù)器,負責元數(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 等。
不難看出,雖然集中元數(shù)據(jù)云存儲系統(tǒng)架構(gòu)簡單,但會存在兩個主要的問題:
性能瓶頸問題。元數(shù)據(jù)的基本特性要求任何時候?qū)τ脩魯?shù)據(jù)的訪問,都需要同步地修改元數(shù)據(jù),例如,即使是對文件進行讀操作或者列出目錄操作,都需要更新元數(shù)據(jù)中的文件訪問時間屬性。由于每次I/O 訪問都需要首先訪問元數(shù)據(jù)服務(wù)器,以便實現(xiàn)對系統(tǒng)命名空間進行解析、數(shù)據(jù)定位和訪問對象權(quán)限控制等,然后才能夠?qū)τ脩魯?shù)據(jù)進行I/O 操作,隨著系統(tǒng)規(guī)模不斷擴大,需要管理的存儲節(jié)點、文件數(shù)量、I/O 操作數(shù)量等都會急劇增加,而對元數(shù)據(jù)進行管理的物理服務(wù)器性能有限,從而形成性能瓶頸,這種性能瓶頸在大量小文件訪問時會更為突出。為解決這一問題,人們通常會采用更高性能的CPU,并且采用SSD 來加速對元數(shù)據(jù)的訪問,雖然能夠在一定程度上提升元數(shù)據(jù)訪問性能,但往往成本高昂,且提升效果有限,系統(tǒng)性能隨存儲節(jié)點數(shù)量增加只能呈現(xiàn)對數(shù)方式提升而無法線性提升。
元數(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)可用性,一旦主用元數(shù)據(jù)服務(wù)器故障,備用元數(shù)據(jù)服務(wù)器可以替代主用服務(wù)器提供對元數(shù)據(jù)的訪問操作,主用服務(wù)器和備用服務(wù)器之間的元數(shù)據(jù)必須隨時同步,否則一旦主用服務(wù)器故障,則可能導(dǎo)致數(shù)據(jù)不一致問題,但元數(shù)據(jù)同步操作會進一步加重了元數(shù)據(jù)服務(wù)器的性能負擔,導(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ù)器單點故障問題。在實際設(shè)計中,分布式元數(shù)據(jù)服務(wù)器通常和數(shù)據(jù)存儲節(jié)點集成到一起,形成全對稱分布式架構(gòu),EMC 公司的Isilon OneFS 是這一架構(gòu)的典型代表。
分布式云存儲系統(tǒng)需要在所有元數(shù)據(jù)存儲節(jié)點之間進行元數(shù)據(jù)同步操作,這大大增加了系統(tǒng)設(shè)計的復(fù)雜性,如果元數(shù)據(jù)沒有及時得到同步,或者遭到意外破壞,則會出現(xiàn)同一文件或者對象的元數(shù)據(jù)不一致,進一步導(dǎo)致上層應(yīng)用在通過不同物理服務(wù)器訪問文件或?qū)ο髷?shù)據(jù)時出現(xiàn)數(shù)據(jù)不一致或者讀寫錯誤的問題,這種風險隨著云存儲系統(tǒng)規(guī)模的擴大而大幅增加。
此外,由于分布式元數(shù)據(jù)系統(tǒng)需要在大量節(jié)點之間進行元數(shù)據(jù)同步,同步過程需要采用各種加鎖機制,以確保數(shù)據(jù)的一致性,加鎖機制的存在導(dǎo)致很多任務(wù)處理無法并行進行,元數(shù)據(jù)同步也會對后端帶寬帶來開銷,二者都會帶來系統(tǒng)性能上的額外開銷,部分抵消由于采用分布式元數(shù)據(jù)存取帶來的性能提升,且系統(tǒng)規(guī)模越大,性能開銷越顯著。為了降低性能開銷,通常需要為節(jié)點配置高性能CPU、SSD或者高性能SAS 或FC 硬盤陣列來提供元數(shù)據(jù)訪問,并且采用分布式共享內(nèi)存和高性能后端網(wǎng)絡(luò)(如Infiniband 或萬兆以太網(wǎng))來加速元數(shù)據(jù)同步速度,不過這樣就顯著提升了系統(tǒng)的硬件成本。
既然元數(shù)據(jù)總會帶來性能開銷和可靠性問題,第三種云存儲系統(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)定性和可靠性。
宇視科技的UCS(Unified Cloud Storage)統(tǒng)一云存儲系統(tǒng)是在視頻應(yīng)用云存儲CDS 解決方案之外提供的更為通用的云存儲解決方案,它是一種采用無元數(shù)據(jù)設(shè)計的全對稱分布式存儲系統(tǒng),通過UVFS 分布式文件系統(tǒng)實現(xiàn)對存儲資源的虛擬化統(tǒng)一管理,對外提供各種標準軟件接口,無需集成特殊軟件客戶端到前端設(shè)備(例如IPC),也無需前端應(yīng)用設(shè)備在數(shù)據(jù)保護方面做額外的開發(fā)工作,對于數(shù)據(jù)的保護功能完全在存儲卷層面實現(xiàn),具有架構(gòu)簡單、高性能、高擴展性、高可用性、開放性等特點,如下圖所示:

宇視全對稱分布式UCS 通用云存儲
具有以下顯著特征:
■全局統(tǒng)一的命名空間
■無元數(shù)據(jù)全對稱分布式設(shè)計,智能哈希算法數(shù)據(jù)定位,并行任務(wù)處理,系統(tǒng)性能隨節(jié)點數(shù)增加而線性提升
■靈活、高效的系統(tǒng)擴展能力,最大可橫向擴展256 個存儲節(jié)點,管理數(shù)十PB 存儲空間
■支持節(jié)點間故障保護、負載均衡,任一節(jié)點故障,剩余節(jié)點均可繼續(xù)提供客戶端無感知的數(shù)據(jù)讀寫服務(wù)
■基于卷提供多種數(shù)據(jù)分布和保護策略,如N+M 糾刪碼、多副本、高性能分布式存儲等
■繼承宇視在傳統(tǒng)存儲上的長期積累,支持多種RAID 類型,提供更高性能的塊級底層數(shù)據(jù)保護
■存儲節(jié)點支持掉電數(shù)據(jù)保護功能,已寫入文件系統(tǒng)buffer 的數(shù)據(jù)在掉電時能得到妥善保存
■支持ISCSI、NFS、CIFS、FTP、HTTP、REST 等多種標準訪問接口
UCS 統(tǒng)一云存儲解決方案可廣泛用于高清視頻監(jiān)控系統(tǒng)、警用執(zhí)法儀在線存儲、警情視頻庫歸檔系統(tǒng)等,為智慧城市、平安城市建設(shè)提供大數(shù)據(jù)、云存儲解決方案。