這些不斷增長的視頻數(shù)據(jù)在帶來海量視頻存儲需求的同時,也對當前的視頻存儲技術提出了一系列新的挑戰(zhàn):如何實現(xiàn)存儲容量的平滑擴展?如何有效的降低由此帶來的存儲成本?如何更可靠地保存、更安全地使用和更便捷地分享這些數(shù)據(jù)?如何解決越來越龐大的系統(tǒng)給維護管理帶來的困擾?
一、云存儲的定義
云存儲和云計算都是云架構的技術實現(xiàn),任何應用都需要一個計算模型、一個存儲模型和一個通信模型。云計算中,為了實現(xiàn)資源的彈性利用以及給用戶造成資源無限的假象,必須實現(xiàn)資源的復用。云存儲也是一樣,它通過虛擬化和精簡配置技術,讓資源的效益最大化。
與傳統(tǒng)的存儲設備相比,云存儲不僅僅是一個硬件,而是一個網(wǎng)絡設備、存儲設備、服務器、應用軟件、公用訪問接口、接入網(wǎng)和客戶端程序等多個部分組成的復雜系統(tǒng)。各部分以存儲設備為核心,通過應用軟件來對外提供數(shù)據(jù)存儲和業(yè)務訪問服務。
云存儲對外提供的是與存儲相關的服務。云存儲可以提供類似于磁盤陣列的裸空間服務,也可以提供基于存儲的特定服務。
二、云存儲的系統(tǒng)架構
要了解云存儲的系統(tǒng)架構,需要先了解其應用架構。我們以平安城市為例來看云存儲的應用架構。在平安城市中,云存儲可為多個系統(tǒng)提供存儲服務,包括視頻監(jiān)控、卡口電警、圖像資源庫、圖偵分析研判等。其可完成日常視頻錄像資源、各個案件中所涉及的視頻和圖片等資源、卡口電警所產(chǎn)生的車輛抓拍圖片等資源的統(tǒng)一存儲。
從應用架構上看,云存儲系統(tǒng)與傳統(tǒng)分布式存儲系統(tǒng)差異并不明顯,其更本質(zhì)的區(qū)別其實體現(xiàn)在內(nèi)部軟件架構上。
云存儲系統(tǒng)采用大規(guī)模分布式并行文件系統(tǒng),以大量的服務器和存儲設備為基礎,構建一個大規(guī)模存儲集群,提供上百PB的存儲容量,并能夠在線進行容量的擴充,由此搭建的大容量存儲系統(tǒng)整體成本遠低于傳統(tǒng)存儲架構,并且具有良好的可擴充性和靈活性。
云存儲系統(tǒng)通過元數(shù)據(jù)和存儲數(shù)據(jù)分離的非對稱式架構,通過負載均衡和數(shù)據(jù)并發(fā)訪問策略,在普通硬件條件下獲得高達數(shù)十Gbps的傳輸速率以及上百PB級的存儲容量,并可根據(jù)用戶應用發(fā)展的趨勢,適時按需進行在線動態(tài)擴展。與單機的文件系統(tǒng)不同,分布式文件系統(tǒng)不是將這些數(shù)據(jù)放在一塊磁盤上由上層操作系統(tǒng)來管理,而是存放在一個服務器集群上,由集群中的服務器,各盡其責,通力合作,提供整個文件系統(tǒng)的服務。
云存儲系統(tǒng)內(nèi)置了基于對象數(shù)據(jù)管理策略,能夠保證在系統(tǒng)局部發(fā)生故障時數(shù)據(jù)的安全性和可靠性,徹底消除存儲系統(tǒng)中的單點故障,結(jié)合自動故障探測和快速故障恢復技術,確保用戶的應用持續(xù)穩(wěn)定地運行,同時減少部署和管理的難度。
更直觀的理解,云存儲系統(tǒng)本身也是構建在通用磁盤陣列之上的,它通過通過操作系統(tǒng)的API管理磁盤上的數(shù)據(jù),只不過這樣一個系統(tǒng)在邏輯上可以分為元數(shù)據(jù)節(jié)點(控制節(jié)點)、數(shù)據(jù)節(jié)點(存儲節(jié)點)、管理節(jié)點以及客戶端四個部分,這四個部分分別對應了上面提到的云存儲的4層結(jié)構模型:
(一)元數(shù)據(jù)節(jié)點(控制節(jié)點)
元數(shù)據(jù)節(jié)點即控制節(jié)點,用于記錄所存儲的文件的各種屬性,相當于整個文件系統(tǒng)的大腦,管理各個數(shù)據(jù)節(jié)點,收集數(shù)據(jù)節(jié)點信息,了解所有數(shù)據(jù)節(jié)點的現(xiàn)狀,然后給它們分配任務,協(xié)調(diào)指示各數(shù)據(jù)節(jié)點為系統(tǒng)服務;
(二)數(shù)據(jù)節(jié)點(存儲節(jié)點)
數(shù)據(jù)節(jié)點即存儲節(jié)點,用于管理磁盤和卷和存儲用戶的文件數(shù)據(jù),是整個存儲系統(tǒng)的存儲資源提供者,它同時還負責集群構建,包括節(jié)點管理和數(shù)據(jù)分片,并承擔數(shù)據(jù)冗余保護和對數(shù)據(jù)訪問的負載均衡;
(三)管理節(jié)點
管理節(jié)點統(tǒng)一管理云存儲系統(tǒng)中的集群節(jié)點、文件、日志、告警、網(wǎng)關等,同時提供日志管理、性能監(jiān)控、配置管理、故障管理等能力,方便系統(tǒng)管理維護人員管理云存儲系統(tǒng);
(四)客戶端
客戶端在一個獨立的進程中提供服務,為用戶提供文件讀寫、目錄操作等APIs,當用戶需要使用分布式文件系統(tǒng)進行文件讀寫的時候,將客戶端安裝至需使用系統(tǒng)的服務器,即可使用系統(tǒng)提供的服務。