云存儲(cloud storage)這個概念的出現,在一定程度上改變了我們對于傳統存儲模式的看法。Amazon在兩年前就推出的Elastic Compute Cloud(EC2:彈性計算云)云存儲產品,旨在為用戶提供互聯網服務形式同時提供更強的存儲和計算功能。內容分發網絡服務提供商CDNetworks 和業界著名的云存儲平臺服務商 Nirvanix發布了一項新的合作,并宣布結成戰略伙伴關系,以提供業界目前唯一的云存儲和內容傳送服務集成平臺。
半年以前,微軟就已經推出了提供網絡移動硬盤服務的Windows Live SkyDrive Beta測試版。近期,EMC宣布加入道里可信基礎架構項目,致力于云計算環境下關于信任和可靠度保證的全球研究協作,IBM也將云計算標準作為 全球備份中心的3億美元擴展方案的一部分。
云存儲變得越來越熱,大家眾說紛”云”,而且各有各的說法,各有各的觀點,那么到底什么是云存儲?
云狀的網格結構
云存儲在云計算 (cloud computing)概念上延伸和發展出來的一個新的概念。云計算是是分布式處理(Distributed Computing)、并行處理(Parallel Computing)和網格計算(Grid Computing)的發展,是透過網絡將龐大的計算處理程序自動分拆成無數個較小的子程序,再交由多部服務器所組成的龐大系統經計算分析之后將處理結果 回傳給用戶。通過云計算技術,網絡服務提供者可以在數秒之內,處理數以千萬計甚至億計的信息,達到和”超級計算機”同樣強大的網絡服務。
云存儲的概念與云計算類似,它是指通過集群應用、網格技術或分布式文件系統等功能,將網絡中大量各種不同類型的存儲設備通過應用軟件集合起來協同工 作,共同對外提供數據存儲和業務訪問功能的一個系統。如果這樣解釋還是難以理解,那我們可以借用廣域網和互聯網的結構來解釋云存儲。
相信大家對局域網、廣域網和互聯網都已經非常了解了。在常見的局域網系統中,我們為了能更好地使用局域網,一般來講,使用者需要非常清楚地知道網絡 中每一個軟硬件的型號和配置,比如采用什么型號交換機,有多少個端口,采用了什么路由器和防火墻,分別是如何設置的。系統中有多少個服務器,分別安裝了什 么操作系統和軟件。各設備之間采用什么類型的連接線纜,分配了什么 xml:lang=IP地址和子網掩碼。
但當我們使用廣域網和互聯網時,我們只需要知道是什么樣的接入網和用戶名、密碼就可以連接到廣域網和互聯網,并不需要知道廣域網和互聯網中到底有多 少臺交換機、路由器、防火墻和服務器,不需要知道數據是通過什么樣的路由到達我們的電腦,也不需要知道網絡中的服務器分別安裝了什么軟件,更不需要知道網 絡中各設備之間采用了什么樣的連接線纜和端口。
廣域網和互聯網對于具體的使用者是完全透明的,我們經常用一個云狀的圖形來表示廣域網和互聯網。
雖然云狀的圖形中包含了許許多多的交換機、路由器、防火墻和服務器,但對具體的廣域網、互聯網用戶來講,這些都是不需要知道的。這個云狀圖形代表的 是廣域網和互聯網帶給大家的互聯互通的網絡服務,無論我們在任何地方,都可以通過一個網絡接入線纜和一個用戶、密碼,就可以接入廣域網和互聯網,享受網絡 帶給我們的服務。
參考云狀的網絡結構,創建一個新型的云狀結構的存儲系統系統,這個存儲系統由多個存儲設備組成,通過集群功能、分布式文件系統或類似網格計算等功能 聯合起來協同工作,并通過一定的應用軟件或應用接口,對用戶提供一定類型的存儲服務和訪問服務。
當我們使用某一個獨立的存儲設備時,我們必須非常清楚這個存儲設備是什么型號,什么接口和傳輸協議,必須清楚地知道存儲系統中有多少塊磁盤,分別是 什么型號、多大容量,必須清楚存儲設備和服務器之間采用什么樣的連接線纜。為了保證數據安全和業務的連續性,我們還需要建立相應的數據備份系統和容災系 統。除此之外,對存儲設備進行定期地狀態監控、維護、軟硬件更新和升級也是必須的。
如果采用云存儲,那么上面所提到的一切對使用者來講都不需要了。云狀存儲系統中的所有設備對使用者來講都是完全透明的,任何地方的任何一個經過授權 的使用者都可以通過一根接入線纜與云存儲連接,對云存儲進行數據訪問。
云存儲簡易架構圖
經常看到人們在談論云存儲,但是沒看過實際的圖,人們很難想象到底云存儲是什么模樣,下面就是一個云存儲的簡易架構圖

橘色的存儲節點(storage node)負責存放文件,藍色的控制節點(control node)則是作為文件索引,并負責監控存儲節點間容量及負載的均衡,這2個部分合起來便組成一個云存儲。存儲節點與控制節點都是單純的服務器,只是存儲 節點的硬盤多一些,存儲節點服務器不需要具備 RAID 的功能,只要能安裝 Linux 即可,控制節點為了保護數據,需要有簡單的 RAID level 01的功能。每個存儲節點與控制節點至少有2片網卡(千兆、萬兆卡都可以,有些也支持 infiniband),一片網卡 internal 負責內部存儲節點與控制節點的溝通、數據遷移,一片 external 負責對外應用端的數據讀寫,一片千兆卡,讀可以達到100MB,寫可以達到70MB,如果你覺得對外一片網卡不夠,也可以多裝幾片。
上面灰色的方塊(NFS、HTTP、FTP、WebDav)是應用端,左上角的灰色方塊(mgmt console)是一臺PC,負責云存儲中存儲節點的管理。對應用端看來,云存儲只是個文件系統,而且一般來說支持標準的協議,例如 NFS、HTTP、FTP、WebDav等等,所以很容易把舊有的系統與云存儲結合,應用端不需要作什么改變。
云存儲不是要取代現有的盤陣,而是為了應付高速成長的數據量與帶寬而產生的新形態存儲系統,因此云存儲在設計時通常會考慮以下三點
1. 容量、帶寬的擴容是否簡便
擴容是不能停機,會自動將新的存儲節點容量納入原來的存儲池,不需要做繁復的設定
2. 帶寬是否線形增長
使用云存儲的客戶,很多是考慮未來帶寬的增長,因此云存儲產品設計的好壞會產生很大的差異,有些十幾個節點便達到飽和,這樣對未來帶寬的擴容就有不 利的影響,這一點要事先弄清楚,否則等到發現不符合需求時,已經買了幾百TB,后悔就來不及了
3. 管理是否容易
不說 google 有五萬臺存儲服務器,即使國內也有很多客戶有超過500臺存儲的,若不使用云存儲來統一管理,管理500臺存儲是一個巨大的工作,一不小心就可能導致某些 應用的崩潰,因此云存儲的應用是一個必然的趨勢,當用戶把應用遷移到云存儲,他管理的就是一臺存儲,而不是 500臺甚至五萬臺存儲。管理一臺存儲不容易出錯,分別管理五萬臺要不出錯就很難了
上面我介紹的是一個純軟件的云存儲解決方案,有的產品是硬件的解決方案,他們把橘色的存儲節點和藍色的控制節點,放在一臺設備上,這樣做的缺點是成 本比較高,客戶也不能夠按照自己的需求,任意選擇適合自己規格的硬件,例如讀寫性能、網卡、硬盤容量等等,因此我個人觀點覺得軟件的解決方案會成為最后的 贏家,因為以云存儲使用者的角度來看,他們對成本的要求很高、也不希望放棄他們原有的硬件投入,這些都是硬件的解決方案無法滿足的。
云存儲的結構模型
與傳統的存儲設備相比,云存儲不僅僅是一個硬件,而是一個網絡設備、存儲設備、服務器、應用軟件、公用訪問接口、接入網、和客戶端程序等多個部分組 成的復雜系統。各部分以存儲設備為核心,通過應用軟件來對外提供數據存儲和業務訪問服務。

云存儲系統的結構模型由 4層組成。
一、存儲層
存儲層是云存儲最基礎的部分。存儲設備可以是FC光纖通道存儲設備,可以是NAS和 iSCSI等IP存儲設備,也可以是 SCSI或SAS等 DAS存儲設備。云存儲中的存儲設備往往數量龐大且分布多不同地域,彼此之間通過廣域網、互聯網或者 FC光纖通道網絡連接在一起。
存儲設備之上是一個統一存儲設備管理系統,可以實現存儲設備的邏輯虛擬化管理、多鏈路冗余管理,以及硬件設備的狀態監控和故障維護。
二、基礎管理層:
基礎管理層是云存儲最核心的部分,也是云存儲中最難以實現的部分。基礎管理層通過集群、分布式文件系統和網格計算等技術,實現云存儲中多個存儲設備 之間的協同工作,使多個的存儲設備可以對外提供同一種服務,并提供更大更強更好的數據訪問性能。
CDN內容分發系統、數據加密技術保證云存儲中的數據不會被未授權的用戶所訪問,同時,通過各種數據備份和容災技術和措施可以保證云存儲中的數據不 會丟失,保證云存儲自身的安全和穩定。
三、應用接口層:
應用接口層是云存儲最靈活多變的部分。不同的云存儲運營單位可以根據實際業務類型,開發不同的應用服務接口,提供不同的應用服務。比如視頻監控應用 平臺、IPTV和視頻點播應用平臺、網絡硬盤引用平臺,遠程數據備份應用平臺等。
四、訪問層:
任何一個授權用戶都可以通過標準的公用應用接口來登錄云存儲系統,享受云存儲服務。云存儲運營單位不同,云存儲提供的訪問類型和訪問手段也不同。