云存儲(chǔ)技術(shù)及其應(yīng)用
近年來,隨著云計(jì)算[1-2]和軟件即服務(wù)(SaaS)[3-5]的興起,云存儲(chǔ)成為信息存儲(chǔ)領(lǐng)域的一個(gè)研究熱點(diǎn)。與傳統(tǒng)的存儲(chǔ)設(shè)備相比,云存儲(chǔ)不僅僅是一個(gè)硬件,而是一個(gè)網(wǎng)絡(luò)設(shè)備、存儲(chǔ)設(shè)備、服務(wù)器、應(yīng)用軟件、公用訪問接口、接入網(wǎng)和客戶端程序等多個(gè)部分組成的系統(tǒng)[6]。
云存儲(chǔ)提供的是存儲(chǔ)服務(wù),存儲(chǔ)服務(wù)通過網(wǎng)絡(luò)將本地?cái)?shù)據(jù)存放在存儲(chǔ)服務(wù)提供商(SSP)提供的在線存儲(chǔ)空間。需要存儲(chǔ)服務(wù)的用戶不再需要建立自己的數(shù)據(jù)中心,只需向SSP申請存儲(chǔ)服務(wù),從而避免了存儲(chǔ)平臺(tái)的重復(fù)建設(shè),節(jié)約了昂貴的軟硬件基礎(chǔ)設(shè)施投資。
云存儲(chǔ)這個(gè)概念一經(jīng)提出,就得到了眾多廠商的支持和關(guān)注。Amazon公司推出彈性塊存儲(chǔ)(EBS)技術(shù)支持?jǐn)?shù)據(jù)持久性存儲(chǔ);Google推出在線存儲(chǔ)服務(wù)GDrive;內(nèi)容分發(fā)網(wǎng)絡(luò)服務(wù)提供商CDNetworks和云存儲(chǔ)平臺(tái)服務(wù)商N(yùn)irvanix結(jié)成戰(zhàn)略伙伴關(guān)系,提供云存儲(chǔ)和內(nèi)容傳送服務(wù)集成平臺(tái);EMC公司收購Berkeley Data Systems,取得該公司的Mozy在線服務(wù)軟件,并開展SaaS業(yè)務(wù);Microsoft公司推出Windows Azure,并在美國各地建立龐大的數(shù)據(jù)中心;IBM也將云計(jì)算標(biāo)準(zhǔn)作為全球備份中心擴(kuò)展方案的一部分。
2009年12月,因特網(wǎng)數(shù)據(jù)中心(IDC)發(fā)布的2010年IT和電信行業(yè)十大預(yù)測中指出:云計(jì)算將擴(kuò)張并走向成熟,會(huì)誕生許多新的公共云熱點(diǎn)、私有云服務(wù)、云應(yīng)用以及將公共云與私有云聯(lián)系起來的服務(wù)。
1 云存儲(chǔ)技術(shù)
云存儲(chǔ)系統(tǒng)與傳統(tǒng)存儲(chǔ)系統(tǒng)相比,具有如下不同:第一,從功能需求來看,云存儲(chǔ)系統(tǒng)面向多種類型的網(wǎng)絡(luò)在線存儲(chǔ)服務(wù),而傳統(tǒng)存儲(chǔ)系統(tǒng)則面向如高性能計(jì)算、事務(wù)處理等應(yīng)用;第二,從性能需求來看,云存儲(chǔ)服務(wù)首先需要考慮的是數(shù)據(jù)的安全、可靠、效率等指標(biāo),而且由于用戶規(guī)模大、服務(wù)范圍廣、網(wǎng)絡(luò)環(huán)境復(fù)雜多變等特點(diǎn),實(shí)現(xiàn)高質(zhì)量的云存儲(chǔ)服務(wù)必將面臨更大的技術(shù)挑戰(zhàn);第三,從數(shù)據(jù)管理來看,云存儲(chǔ)系統(tǒng)不僅要提供類似于POSIX的傳統(tǒng)文件訪問,還要能夠支持海量數(shù)據(jù)管理并提供公共服務(wù)支撐功能,以方便云存儲(chǔ)系統(tǒng)后臺(tái)數(shù)據(jù)的維護(hù)。
基于上述特點(diǎn),云存儲(chǔ)平臺(tái)整體架構(gòu)可劃分為4個(gè)層次,自底向上依次是:數(shù)據(jù)存儲(chǔ)層、數(shù)據(jù)管理層、數(shù)據(jù)服務(wù)層以及用戶訪問層。云存儲(chǔ)平臺(tái)整體架構(gòu)如圖1所示。
(1)數(shù)據(jù)存儲(chǔ)層
云存儲(chǔ)系統(tǒng)對外提供多種不同的存儲(chǔ)服務(wù),各種服務(wù)的數(shù)據(jù)統(tǒng)一存放在云存儲(chǔ)系統(tǒng)中,形成一個(gè)海量數(shù)據(jù)池。從大多數(shù)網(wǎng)絡(luò)服務(wù)后臺(tái)數(shù)據(jù)組織方式來看,傳統(tǒng)基于單服務(wù)器的數(shù)據(jù)組織難以滿足廣域網(wǎng)多用戶條件下的吞吐性能和存儲(chǔ)容量需求[7];基于P2P架構(gòu)的數(shù)據(jù)組織需要龐大的節(jié)點(diǎn)數(shù)量和復(fù)雜編碼算法保證數(shù)據(jù)可靠性 [8]。相比而言,基于多存儲(chǔ)服務(wù)器的數(shù)據(jù)組織方法能夠更好滿足在線存儲(chǔ)服務(wù)的應(yīng)用需求[9],在用戶規(guī)模較大時(shí),構(gòu)建分布式數(shù)據(jù)中心能夠?yàn)椴煌乩韰^(qū)域的用戶提供更好的服務(wù)質(zhì)量[10]。
云存儲(chǔ)的數(shù)據(jù)存儲(chǔ)層將不同類型的存儲(chǔ)設(shè)備互連起來,實(shí)現(xiàn)海量數(shù)據(jù)的統(tǒng)一管理,同時(shí)實(shí)現(xiàn)對存儲(chǔ)設(shè)備的集中管理、狀態(tài)監(jiān)控以及容量的動(dòng)態(tài)擴(kuò)展,實(shí)質(zhì)是一種面向服務(wù)的分布式存儲(chǔ)系統(tǒng)。
(2)數(shù)據(jù)管理層
云存儲(chǔ)系統(tǒng)架構(gòu)中的數(shù)據(jù)管理層為上層提供不同服務(wù)間公共管理的統(tǒng)一視圖。通過設(shè)計(jì)統(tǒng)一的用戶管理、安全管理、副本管理及策略管理等公共數(shù)據(jù)管理功能,將底層存儲(chǔ)及上層應(yīng)用無縫銜接起來,實(shí)現(xiàn)多存儲(chǔ)設(shè)備之間的協(xié)同工作,以更好的性能對外提供多種服務(wù)。
(3)數(shù)據(jù)服務(wù)層
數(shù)據(jù)服務(wù)層是云存儲(chǔ)平臺(tái)中可以靈活擴(kuò)展的、直接面向用戶的部分。根據(jù)用戶需求,可以開發(fā)出不同的應(yīng)用接口,提供相應(yīng)的服務(wù)。比如數(shù)據(jù)存儲(chǔ)服務(wù)、空間租賃服務(wù)、公共資源服務(wù)、多用戶數(shù)據(jù)共享服務(wù)、數(shù)據(jù)備份服務(wù)等。
(4)用戶訪問層
通過用戶訪問層,任何一個(gè)授權(quán)用戶都可以在任何地方,使用一臺(tái)聯(lián)網(wǎng)的終端設(shè)備,按照標(biāo)準(zhǔn)的公用應(yīng)用接口來登錄云存儲(chǔ)平臺(tái),享受云存儲(chǔ)服務(wù)。
與傳統(tǒng)的購買存儲(chǔ)設(shè)備和部署存儲(chǔ)軟件相比,云存儲(chǔ)方式存在以下優(yōu)點(diǎn):
(1)成本低、見效快
傳統(tǒng)的購買存儲(chǔ)設(shè)備或軟件定制方式下,企業(yè)根據(jù)信息化管理的需求,一次性投入大量資金購置硬件設(shè)備、搭建平臺(tái)。軟件開發(fā)則經(jīng)過漫長的可行性分析、需求調(diào)研、軟件設(shè)計(jì)、編碼、測試這一過程。往往在軟件開發(fā)完成以后,業(yè)務(wù)需求發(fā)生變化,不得不對軟件進(jìn)行返工,不僅影響質(zhì)量,提高成本,更是延誤了企業(yè)信息化進(jìn)程,同時(shí)造成了企業(yè)之間的低水平重復(fù)投資以及企業(yè)內(nèi)部周期性、高成本的技術(shù)升級。在云存儲(chǔ)方式下,企業(yè)除了配置必要的終端設(shè)備接收存儲(chǔ)服務(wù)外,不需要投入額外的資金來搭建平臺(tái)。企業(yè)只需按用戶數(shù)分期租用服務(wù),規(guī)避了一次性投資的風(fēng)險(xiǎn),降低了使用成本,而且對于選定的服務(wù),可以立即投入使用,既方便又快捷。
(2)易于管理
傳統(tǒng)方式下,企業(yè)需要配備專業(yè)的IT人員進(jìn)行系統(tǒng)的維護(hù),由此帶來技術(shù)和資金成本。云存儲(chǔ)模式下,維護(hù)工作以及系統(tǒng)的更新升級都由云存儲(chǔ)服務(wù)提供商完成,企業(yè)能夠以最低的成本享受到最新最專業(yè)的服務(wù)。
(3)方式靈活
傳統(tǒng)的購買和定制模式下,一旦完成資金的一次性投入,系統(tǒng)無法在后續(xù)使用中動(dòng)態(tài)調(diào)整。隨著設(shè)備的更新?lián)Q代,落后的硬件平臺(tái)難以處置;隨著業(yè)務(wù)需求的不斷變化,軟件需要不斷地更新升級甚至重構(gòu)來與之相適應(yīng),導(dǎo)致維護(hù)成本高昂,很容易發(fā)展到不可控的程度。而云存儲(chǔ)方式一般按照客戶數(shù)、使用時(shí)間、服務(wù)項(xiàng)目進(jìn)行收費(fèi)。企業(yè)可以根據(jù)業(yè)務(wù)需求變化、人員增減、資金承受能力,隨時(shí)調(diào)整其租用服務(wù)方式,真正做到“按需使用”。
2 云備份應(yīng)用
云存儲(chǔ)可以支持多種應(yīng)用方式,如云備份、云數(shù)據(jù)共享、云資源服務(wù)等,也可以提供標(biāo)準(zhǔn)化的接口給其他網(wǎng)絡(luò)服務(wù)使用。下面以我們自行研制的B-Cloud云備份為例,簡單介紹云存儲(chǔ)應(yīng)用的具體技術(shù)細(xì)節(jié)。B-Cloud的部署結(jié)構(gòu)如圖2所示。云備份系統(tǒng)包括3個(gè)層次的備份云:
最上層為廣域云,也稱公共云,覆蓋范圍為所有備份客戶可以通過廣域網(wǎng)訪問的區(qū)域。廣域云的服務(wù)器包括廣域管理器、廣域云存儲(chǔ)節(jié)點(diǎn)等。
中間層為區(qū)域云,通常按照地理區(qū)域(如省、地區(qū)等)來劃分。相應(yīng)地,服務(wù)節(jié)點(diǎn)包括區(qū)域云管理器、區(qū)域云存儲(chǔ)節(jié)點(diǎn)。
最下層為本地云,也稱私有云。本地云既可以按小的地理區(qū)域劃分,也可以按照特定實(shí)體劃分,如企業(yè)、組織或校園。本地云可運(yùn)行于廣域網(wǎng)或局域網(wǎng),用戶限于區(qū)域內(nèi)的人員,服務(wù)節(jié)點(diǎn)包括本地管理器、私有云存儲(chǔ)節(jié)點(diǎn)。
區(qū)域云、私有云同廣域云一樣,具有多個(gè)本地的存儲(chǔ)節(jié)點(diǎn),共同服務(wù)于多個(gè)備份客戶端。
B-Cloud云備份系統(tǒng)的拓?fù)浣Y(jié)構(gòu)可描述為:以廣域云為根節(jié)點(diǎn),區(qū)域云和本地云為分支節(jié)點(diǎn),構(gòu)成的一顆備份云的樹狀結(jié)構(gòu)。每個(gè)節(jié)點(diǎn)都具有自己的備份管理器與存儲(chǔ)節(jié)點(diǎn),分別完成本區(qū)域內(nèi)的備份任務(wù)調(diào)度與備份數(shù)據(jù)的存取。物理相連的廣域云、區(qū)域云、本地云之間,相鄰兩層的關(guān)系為父子關(guān)系,其中子節(jié)點(diǎn)可看作是父節(jié)點(diǎn)的一個(gè)特殊客戶。該結(jié)構(gòu)具有良好的擴(kuò)展性,當(dāng)前定義了3個(gè)層次,隨著用戶規(guī)模的增長、服務(wù)區(qū)域的拓展,可根據(jù)需要對某級節(jié)點(diǎn)進(jìn)行裂變,增加新的節(jié)點(diǎn)層次。
新用戶注冊時(shí),首先訪問系統(tǒng)的注冊服務(wù)器(負(fù)責(zé)全局用戶管理)。由注冊服務(wù)器按照預(yù)先定義的分配策略,匹配用戶的特征信息,如客戶端IP地址所屬的網(wǎng)段或區(qū)域、Email地址所屬的組織、用戶所屬的地理區(qū)域等,將用戶分配到相應(yīng)的備份云節(jié)點(diǎn)。由備份云的管理服務(wù)器進(jìn)行用戶信息的維護(hù)。完成注冊后,備份客戶端每次請求服務(wù)時(shí),只需登錄系統(tǒng),在指定的備份云節(jié)點(diǎn)下,與相應(yīng)的備份管理器、存儲(chǔ)節(jié)點(diǎn)進(jìn)行三方通信,接受備份及恢復(fù)服務(wù)。
按照訪問就近原則,地理位置越近,實(shí)體之間數(shù)據(jù)傳輸?shù)男试礁?、成本越低。通過這種分層拓?fù)浣Y(jié)構(gòu),使得備份服務(wù)系統(tǒng)中的多調(diào)度服務(wù)器和多存儲(chǔ)服務(wù)器建立一種有序的層次關(guān)系,能夠更好地服務(wù)于不同區(qū)域的多備份客戶端。
云備份服務(wù)的應(yīng)用特點(diǎn)決定了應(yīng)用需求,需求驅(qū)動(dòng)了云備份需要研究的3項(xiàng)關(guān)鍵技術(shù)的發(fā)展。B-Cloud云備份系統(tǒng)的研究涵蓋了服務(wù)架構(gòu)的幾個(gè)方面,他們相互之間的關(guān)系如圖3所示。
云備份服務(wù)與傳統(tǒng)的備份軟件相比,不同點(diǎn)主要體現(xiàn)在3個(gè)方面:
(1)用戶規(guī)模
備份軟件通常應(yīng)用于局域網(wǎng)或目標(biāo)群體固定的廣域網(wǎng)范圍內(nèi)。由于用戶規(guī)模較小,出于易于部署維護(hù)、成本低廉等考慮,通常存儲(chǔ)服務(wù)器較少,用戶對存儲(chǔ)服務(wù)器的訪問路徑是固定的,無須根據(jù)各種影響因素動(dòng)態(tài)指定或調(diào)整。
云備份服務(wù)的對象則是廣域網(wǎng)范圍內(nèi)的大規(guī)模用戶,而且隨著服務(wù)推出時(shí)間的延長,用戶數(shù)量會(huì)持續(xù)增長。為此,系統(tǒng)必須設(shè)置多臺(tái)存儲(chǔ)服務(wù)器,以滿足系統(tǒng)擴(kuò)展性方面的要求。在此基礎(chǔ)上,系統(tǒng)必須能夠很好地響應(yīng)大量用戶的并發(fā)訪問,并通過高效的并行調(diào)度策略來為用戶指定合適的目標(biāo)存儲(chǔ)服務(wù)器,使得存儲(chǔ)服務(wù)器總體負(fù)載均衡,且達(dá)到較高的存儲(chǔ)利用率。同時(shí),該過程必須對用戶完全透明。
(2)數(shù)據(jù)量
云備份服務(wù)與備份軟件在用戶規(guī)模上的區(qū)別將直接導(dǎo)致兩者所處理的數(shù)據(jù)量區(qū)別極大。廣域網(wǎng)范圍內(nèi)的大規(guī)模用戶所產(chǎn)生的備份數(shù)據(jù)很容易達(dá)到TB甚至PB級,如何通過研究數(shù)據(jù)組織方法和壓縮算法,來提高海量數(shù)據(jù)的傳輸和存儲(chǔ)效率,進(jìn)而提高系統(tǒng)性能、降低硬件成本、實(shí)現(xiàn)存儲(chǔ)節(jié)能,具有重要的現(xiàn)實(shí)意義。
(3)服務(wù)安全
云備份服務(wù)要滿足多方面的需求:既要兼容客戶端的異構(gòu)數(shù)據(jù)平臺(tái),又要滿足數(shù)據(jù)在塊級、文件級及應(yīng)用級的完整性;既要適應(yīng)于復(fù)雜多變的廣域網(wǎng)環(huán)境,又要保證數(shù)據(jù)的安全性。
要統(tǒng)籌兼顧的問題越多,意味著存儲(chǔ)系統(tǒng)的功能越復(fù)雜,也就越容易產(chǎn)生各種異常。另一方面,云備份服務(wù)系統(tǒng)比一般的備份軟件對可信性的要求更高。
當(dāng)前備份服務(wù)的概念在中國剛剛興起,阻礙其發(fā)展的一個(gè)重要原因是用戶的消費(fèi)習(xí)慣。人們在潛意識(shí)里總是感覺將關(guān)鍵數(shù)據(jù)備份在可視范圍內(nèi)的身邊設(shè)備上比較安全。而一旦要求用戶把私密數(shù)據(jù)備份到異地的數(shù)據(jù)中心,則會(huì)擔(dān)心數(shù)據(jù)安全性能否得到充分保障??陀^上云備份服務(wù)容易產(chǎn)生各類異常,主觀上用戶對備份服務(wù)更高的安全需求,都造成了對云備份服務(wù)的安全性研究刻不容緩。
以上討論的云備份的應(yīng)用特點(diǎn)對應(yīng)了如下云備份研究的幾個(gè)主要方面:
(1)命令流
B-Cloud包括三大部分:備份客戶端、管理器和存儲(chǔ)服務(wù)器。管理器是整個(gè)服務(wù)系統(tǒng)的管理中心,負(fù)責(zé)任務(wù)調(diào)度、作業(yè)管理及服務(wù)過程中的狀態(tài)監(jiān)控。備份或恢復(fù)操作開始之前,從備份客戶端提出服務(wù)請求,到系統(tǒng)開始提供服務(wù)這段時(shí)間,3個(gè)部分除了執(zhí)行雙向安全認(rèn)證之外,還有一項(xiàng)很重要的任務(wù)就是由管理器完成作業(yè)調(diào)度,建立備份客戶端與存儲(chǔ)服務(wù)器之間的聯(lián)系。
(2)數(shù)據(jù)流
備份或恢復(fù)數(shù)據(jù)流的傳輸在備份客戶端與存儲(chǔ)服務(wù)器之間直接完成,不需要經(jīng)過管理器。這種數(shù)據(jù)不經(jīng)過中間環(huán)節(jié)直接在數(shù)據(jù)源和目的地之間的傳輸,不僅提高了效率,而且對系統(tǒng)整體負(fù)載平衡起到了較好的效果。備份數(shù)據(jù)組織與壓縮是數(shù)據(jù)傳輸與存儲(chǔ)的關(guān)鍵所在。
(3)服務(wù)的安全性
云備份的安全涉及到服務(wù)平臺(tái)的安全性、各個(gè)模塊的安全性及模塊之間協(xié)調(diào)和通信的安全性。這個(gè)問題需要專門的論述才能闡述清楚,本文不做過多討論。
3 結(jié)束語
本文介紹了云存儲(chǔ)技術(shù),并以云備份為例,討論了云存儲(chǔ)應(yīng)用實(shí)現(xiàn)當(dāng)中需要注意的幾個(gè)問題。以服務(wù)的方式滿足應(yīng)用需求,已經(jīng)成為信息領(lǐng)域技術(shù)發(fā)展的一種趨勢,但如何實(shí)現(xiàn)云存儲(chǔ),并使其廣泛應(yīng)用,還需要更多的研究和努力。