


摘要 云存儲將大量不同類型的存儲設備通過軟件集合起來協同工作,共同對外提供數據存儲服務。云存儲服務對傳統存儲技術在數據安全性、可靠性、易管理性等方面提出新的挑戰。文章基于云存儲平臺架構的4個層次:將多存儲設備互連起來的數據存儲層、為多服務提供公共支撐技術的數據管理層、支持多存儲應用的數據服務層以及面向多用戶的訪問層展開研究,并以一種云存儲典型應用——云備份(B-Cloud)為例,探討云備份的軟件架構、應用特點及研究要點。
[關鍵詞]云存儲;服務;云備份
Abstract: In order to provide data storage services, cloud storage employs software to interconnect and facilitate collaboration between different types of storage devices. Compared to traditional storage methods, cloud storage poses new challenges in data security, reliability, and management. This paper introduces four layers of cloud storage architecture: data storage layer connecting multiple storage components, data management layer providing common supporting technology for multiple services, data service layer sustaining multiple storage applications, and user access layer. It then examines a typical cloud storage application—backup cloud (B-Cloud)—and discusses its software architecture, characteristics, and main research questions.
Key words: cloud storage; service; backup cloud
近年來,隨著云計算[1-2]和軟件即服務(SaaS)[3-5]的興起,云存儲成為信息存儲領域的一個研究熱點。與傳統的存儲設備相比,云存儲不僅僅是一個硬件,而是一個網絡設備、存儲設備、服務器、應用軟件、公用訪問接口、接入網和客戶端程序等多個部分組成的系統[6]。
云存儲提供的是存儲服務,存儲服務通過網絡將本地數據存放在存儲服務提供商(SSP)提供的在線存儲空間。需要存儲服務的用戶不再需要建立自己的數據中心,只需向SSP申請存儲服務,從而避免了存儲平臺的重復建設,節約了昂貴的軟硬件基礎設施投資。
云存儲這個概念一經提出,就得到了眾多廠商的支持和關注。Amazon公司推出彈性塊存儲(EBS)技術支持數據持久性存儲;Google推出在線存儲服務GDrive;內容分發網絡服務提供商CDNetworks和云存儲平臺服務商Nirvanix結成戰略伙伴關系,提供云存儲和內容傳送服務集成平臺;EMC公司收購Berkeley Data Systems,取得該公司的Mozy在線服務軟件,并開展SaaS業務;Microsoft公司推出Windows Azure,并在美國各地建立龐大的數據中心;IBM也將云計算標準作為全球備份中心擴展方案的一部分。
2009年12月,因特網數據中心(IDC)發布的2010年IT和電信行業十大預測中指出:云計算將擴張并走向成熟,會誕生許多新的公共云熱點、私有云服務、云應用以及將公共云與私有云聯系起來的服務。
1 云存儲技術
云存儲系統與傳統存儲系統相比,具有如下不同:第一,從功能需求來看,云存儲系統面向多種類型的網絡在線存儲服務,而傳統存儲系統則面向如高性能計算、事務處理等應用;第二,從性能需求來看,云存儲服務首先需要考慮的是數據的安全、可靠、效率等指標,而且由于用戶規模大、服務范圍廣、網絡環境復雜多變等特點,實現高質量的云存儲服務必將面臨更大的技術挑戰;第三,從數據管理來看,云存儲系統不僅要提供類似于POSIX的傳統文件訪問,還要能夠支持海量數據管理并提供公共服務支撐功能,以方便云存儲系統后臺數據的維護。
基于上述特點,云存儲平臺整體架構可劃分為4個層次,自底向上依次是:數據存儲層、數據管理層、數據服務層以及用戶訪問層。云存儲平臺整體架構如圖1所示。
(1)數據存儲層
云存儲系統對外提供多種不同的存儲服務,各種服務的數據統一存放在云存儲系統中,形成一個海量數據池。從大多數網絡服務后臺數據組織方式來看,傳統基于單服務器的數據組織難以滿足廣域網多用戶條件下的吞吐性能和存儲容量需求[7];基于P2P架構的數據組織需要龐大的節點數量和復雜編碼算法保證數據可靠性[8]。相比而言,基于多存儲服務器的數據組織方法能夠更好滿足在線存儲服務的應用需求[9],在用戶規模較大時,構建分布式數據中心能夠為不同地理區域的用戶提供更好的服務質量[10]。
云存儲的數據存儲層將不同類型的存儲設備互連起來,實現海量數據的統一管理,同時實現對存儲設備的集中管理、狀態監控以及容量的動態擴展,實質是一種面向服務的分布式存儲系統。
(2)數據管理層
云存儲系統架構中的數據管理層為上層提供不同服務間公共管理的統一視圖。通過設計統一的用戶管理、安全管理、副本管理及策略管理等公共數據管理功能,將底層存儲及上層應用無縫銜接起來,實現多存儲設備之間的協同工作,以更好的性能對外提供多種服務。
(3)數據服務層
數據服務層是云存儲平臺中可以靈活擴展的、直接面向用戶的部分。根據用戶需求,可以開發出不同的應用接口,提供相應的服務。比如數據存儲服務、空間租賃服務、公共資源服務、多用戶數據共享服務、數據備份服務等。
(4)用戶訪問層
通過用戶訪問層,任何一個授權用戶都可以在任何地方,使用一臺聯網的終端設備,按照標準的公用應用接口來登錄云存儲平臺,享受云存儲服務。
與傳統的購買存儲設備和部署存儲軟件相比,云存儲方式存在以下優點:
(1)成本低、見效快
傳統的購買存儲設備或軟件定制方式下,企業根據信息化管理的需求,一次性投入大量資金購置硬件設備、搭建平臺。軟件開發則經過漫長的可行性分析、需求調研、軟件設計、編碼、測試這一過程。往往在軟件開發完成以后,業務需求發生變化,不得不對軟件進行返工,不僅影響質量,提高成本,更是延誤了企業信息化進程,同時造成了企業之間的低水平重復投資以及企業內部周期性、高成本的技術升級。在云存儲方式下,企業除了配置必要的終端設備接收存儲服務外,不需要投入額外的資金來搭建平臺。企業只需按用戶數分期租用服務,規避了一次性投資的風險,降低了使用成本,而且對于選定的服務,可以立即投入使用,既方便又快捷。
(2)易于管理
傳統方式下,企業需要配備專業的IT人員進行系統的維護,由此帶來技術和資金成本。云存儲模式下,維護工作以及系統的更新升級都由云存儲服務提供商完成,企業能夠以最低的成本享受到最新最專業的服務。
(3)方式靈活
傳統的購買和定制模式下,一旦完成資金的一次性投入,系統無法在后續使用中動態調整。隨著設備的更新換代,落后的硬件平臺難以處置;隨著業務需求的不斷變化,軟件需要不斷地更新升級甚至重構來與之相適應,導致維護成本高昂,很容易發展到不可控的程度。而云存儲方式一般按照客戶數、使用時間、服務項目進行收費。企業可以根據業務需求變化、人員增減、資金承受能力,隨時調整其租用服務方式,真正做到“按需使用”。
2 云備份應用
云存儲可以支持多種應用方式,如云備份、云數據共享、云資源服務等,也可以提供標準化的接口給其他網絡服務使用。下面以我們自行研制的B-Cloud云備份為例,簡單介紹云存儲應用的具體技術細節。
B-Cloud的部署結構如圖2所示。云備份系統包括3個層次的備份云:
最上層為廣域云,也稱公共云,覆蓋范圍為所有備份客戶可以通過廣域網訪問的區域。廣域云的服務器包括廣域管理器、廣域云存儲節點等。
中間層為區域云,通常按照地理區域(如省、地區等)來劃分。相應地,服務節點包括區域云管理器、區域云存儲節點。
最下層為本地云,也稱私有云。本地云既可以按小的地理區域劃分,也可以按照特定實體劃分,如企業、組織或校園。本地云可運行于廣域網或局域網,用戶限于區域內的人員,服務節點包括本地管理器、私有云存儲節點。
區域云、私有云同廣域云一樣,具有多個本地的存儲節點,共同服務于多個備份客戶端。
B-Cloud云備份系統的拓撲結構可描述為:以廣域云為根節點,區域云和本地云為分支節點,構成的一顆備份云的樹狀結構。每個節點都具有自己的備份管理器與存儲節點,分別完成本區域內的備份任務調度與備份數據的存取。物理相連的廣域云、區域云、本地云之間,相鄰兩層的關系為父子關系,其中子節點可看作是父節點的一個特殊客戶。該結構具有良好的擴展性,當前定義了3個層次,隨著用戶規模的增長、服務區域的拓展,可根據需要對某級節點進行裂變,增加新的節點層次。
新用戶注冊時,首先訪問系統的注冊服務器(負責全局用戶管理)。由注冊服務器按照預先定義的分配策略,匹配用戶的特征信息,如客戶端IP地址所屬的網段或區域、Email地址所屬的組織、用戶所屬的地理區域等,將用戶分配到相應的備份云節點。由備份云的管理服務器進行用戶信息的維護。完成注冊后,備份客戶端每次請求服務時,只需登錄系統,在指定的備份云節點下,與相應的備份管理器、存儲節點進行三方通信,接受備份及恢復服務。
按照訪問就近原則,地理位置越近,實體之間數據傳輸的效率越高、成本越低。通過這種分層拓撲結構,使得備份服務系統中的多調度服務器和多存儲服務器建立一種有序的層次關系,能夠更好地服務于不同區域的多備份客戶端。
云備份服務的應用特點決定了應用需求,需求驅動了云備份需要研究的3項關鍵技術的發展。B-Cloud云備份系統的研究涵蓋了服務架構的幾個方面,他們相互之間的關系如圖3所示。
云備份服務與傳統的備份軟件相比,不同點主要體現在3個方面:
(1)用戶規模
備份軟件通常應用于局域網或目標群體固定的廣域網范圍內。由于用戶規模較小,出于易于部署維護、成本低廉等考慮,通常存儲服務器較少,用戶對存儲服務器的訪問路徑是固定的,無須根據各種影響因素動態指定或調整。
云備份服務的對象則是廣域網范圍內的大規模用戶,而且隨著服務推出時間的延長,用戶數量會持續增長。為此,系統必須設置多臺存儲服務器,以滿足系統擴展性方面的要求。在此基礎上,系統必須能夠很好地響應大量用戶的并發訪問,并通過高效的并行調度策略來為用戶指定合適的目標存儲服務器,使得存儲服務器總體負載均衡,且達到較高的存儲利用率。同時,該過程必須對用戶完全透明。
(2)數據量
云備份服務與備份軟件在用戶規模上的區別將直接導致兩者所處理的數據量區別極大。廣域網范圍內的大規模用戶所產生的備份數據很容易達到TB甚至PB級,如何通過研究數據組織方法和壓縮算法,來提高海量數據的傳輸和存儲效率,進而提高系統性能、降低硬件成本、實現存儲節能,具有重要的現實意義。
(3)服務安全
云備份服務要滿足多方面的需求:既要兼容客戶端的異構數據平臺,又要滿足數據在塊級、文件級及應用級的完整性;既要適應于復雜多變的廣域網環境,又要保證數據的安全性。
要統籌兼顧的問題越多,意味著存儲系統的功能越復雜,也就越容易產生各種異常。另一方面,云備份服務系統比一般的備份軟件對可信性的要求更高。
當前備份服務的概念在中國剛剛興起,阻礙其發展的一個重要原因是用戶的消費習慣。人們在潛意識里總是感覺將關鍵數據備份在可視范圍內的身邊設備上比較安全。而一旦要求用戶把私密數據備份到異地的數據中心,則會擔心數據安全性能否得到充分保障。客觀上云備份服務容易產生各類異常,主觀上用戶對備份服務更高的安全需求,都造成了對云備份服務的安全性研究刻不容緩。
以上討論的云備份的應用特點對應了如下云備份研究的幾個主要方面:
(1)命令流
B-Cloud包括三大部分:備份客戶端、管理器和存儲服務器。管理器是整個服務系統的管理中心,負責任務調度、作業管理及服務過程中的狀態監控。備份或恢復操作開始之前,從備份客戶端提出服務請求,到系統開始提供服務這段時間,3個部分除了執行雙向安全認證之外,還有一項很重要的任務就是由管理器完成作業調度,建立備份客戶端與存儲服務器之間的聯系。
(2)數據流
備份或恢復數據流的傳輸在備份客戶端與存儲服務器之間直接完成,不需要經過管理器。這種數據不經過中間環節直接在數據源和目的地之間的傳輸,不僅提高了效率,而且對系統整體負載平衡起到了較好的效果。備份數據組織與壓縮是數據傳輸與存儲的關鍵所在。
(3)服務的安全性
云備份的安全涉及到服務平臺的安全性、各個模塊的安全性及模塊之間協調和通信的安全性。這個問題需要專門的論述才能闡述清楚,本文不做過多討論。
3 結束語
本文介紹了云存儲技術,并以云備份為例,討論了云存儲應用實現當中需要注意的幾個問題。以服務的方式滿足應用需求,已經成為信息領域技術發展的一種趨勢,但如何實現云存儲,并使其廣泛應用,還需要更多的研究和努力。
4 參考文獻
[1] Hayes B. Cloud Computing [J]. Communications of the ACM, 2008, 51(7): 9-11.
[2] LIN G, DASMALCHI G, ZHU J. Cloud Computing and IT as a Service: Opportunities and Challenges [C]//Proceedings of the IEEE 6th International Conference on Web Services (ICWS’08), Sep 23-26, 2008, Beijing, China. Los Alamitos, CA,USA: IEEE Computer Society, 2008:5.
[3] NAMJOSHI J, GUPTE A. Service Oriented Architecture for Cloud Based Travel Reservation Software as a Service [C]//Proceedings of the 2009 IEEE International Conference on Cloud Computing (CLOUD’09), Sep 21-25,2009, Bangalore, India. Los Alamitos, CA,USA: IEEE Computer Society , 2009:147-150
[4] LAPLANTE P A, ZHANG J, VOAS J. What’s in a Name● Distinguishing Between SaaS and SOA [J]. IT Professional, 2008,10(3):46-50.
[5] CAMPBELL-KELLY M. Historical Reflections on the Rise, Fall, and Resurrection of Software as a Service [J]. Communications of the ACM, 2009, 52(5): 28-30.
[6] 王慶波, 金, 何樂, 等. 虛擬化與云計算 [M]. 北京: 電子工業出版社, 2009.
[7] ZHU B, LI K, PATTERSON H. Avoiding the Disk Bottleneck in the Data Domain Deduplication File System [C]//Proceedings of the 6th USENIX Conference on File and Storage Technologies (FAST’08), Feb 26-29, 2008, San Jose, CA, USA. Berkeley, CA, USA: USENIX Association, 2008:269-282.
[8] 田敬, 代亞非. P2P持久存儲研究綜述 [J]. 軟件學報, 2007, 18(6):1379-1399.
[9] LILLIBRIDGE M, ELNIKETY S, BIRRELL A, et al. A Cooperative Internet Backup Scheme [C]//Proceedings of the 2003 USENIX Annual Technical Conference (USENIX '03), Jun 12-14, 2003, San Antonio, TX, USA. Berkeley, CA, USA: USENIX Association, 2003: 29-41.
[10] PAMIES-JUAREZ L, GARCIA-LOPEZ P, SANCHEZ-ARTIGAS M. Rewarding Stability in Peer-to-Peer Backup Systems [C]//Proceedings of 16th IEEE International Conference on Networks (ICON’08), Dec 12-14, 2008, New Delhi, India. Piscataway, NJ,USA: IEEE, 2008: 6p.
收稿日期:2010-05-07
周可,華中科技大學計算機系統結構專業博士畢業,華中科技大學教授、博士生導師,主要從事信息存儲技術研究,已發表論文50余篇。
王樺,華中科技大學計算機專業博士畢業,華中科技大學講師,主要從事網絡存儲及應用和軟件工程方面的研究。
李春花,華中科技大學計算機應用專業博士畢業,華中科技大學副教授,主要從事數據安全方面的研究。