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

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

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