【ZStack】13.存儲模型——主存儲和備份存儲

ZStack通過邏輯功能辟汰,將存儲系統(tǒng)抽象成主存儲和備份存儲列敲。一個主存儲是一個存放VM磁盤的存儲池;一個備份存儲是這么一個存儲帖汞,用戶存儲鏡像模板戴而、備份的磁盤、快照翩蘸。主存儲和備份存儲可以是物理分離的存儲系統(tǒng)所意,也可以是同一個存儲系統(tǒng)同時扮演兩種角色。存儲廠商可以輕松地鹿鳖,通過實現(xiàn)相應的存儲插件扁眯,在ZStack中加入他們的產(chǎn)品。

概述

云中的存儲系統(tǒng)可以以它們的邏輯功能被分為兩類翅帜。一類作為存儲池工作姻檀,存儲VM的磁盤,并可以被運行中的VM訪問涝滴;這類存儲可以是基于文件系統(tǒng)的绣版,磁盤被作為文件存儲;或者基于塊存儲歼疮,磁盤則變成了塊設備杂抽。在ZStack的術(shù)語表中,這類存儲被稱為主存儲韩脏,要么可以是網(wǎng)絡共享的存儲缩麸,如NFS、ISCSI:

要么是本地存儲赡矢,如物理主機的硬盤:

另一類存儲系統(tǒng)作為倉庫存在杭朱,存儲含有操作系統(tǒng)的鏡像模板,以及備份的磁盤和快照吹散;這類存儲可以是基于文件系統(tǒng)的弧械,實體作為文件被存儲;或者是基于對象存儲的空民,實體作為對象被存儲刃唐。在ZStack的術(shù)語表中,這類存儲被稱為備份存儲界轩,對VM無法直接訪問画饥,只能是網(wǎng)絡共享的存儲:

這兩種存儲都是邏輯概念,事實上浊猾,它們可以是各自獨立的存儲系統(tǒng)荒澡,使用不同的協(xié)議。例如与殃,ISCSI主存儲和NFS備份存儲单山。或者同一個存儲系統(tǒng)幅疼,同時扮演兩種角色米奸。例如,ceph爽篷,它的塊存儲部分是用于滿足主存儲悴晰,而它的對象存儲部分則扮演了備份存儲的角色。存儲廠商可以很容易地在ZStack中逐工,同時為主存儲和備份存儲加入他們的存儲系統(tǒng)铡溪,通過實現(xiàn)存儲插件的方式。

內(nèi)部實現(xiàn)

主存儲和備份存儲并不是分開工作的泪喊;它們?yōu)榱藞?zhí)行存儲相關(guān)的活動棕硫,確實需要相互合作。最重要的活動是為了創(chuàng)建一個新的虛擬機袒啼。當一個虛擬機是第一次在一個主存儲上被創(chuàng)建哈扮,它的鏡像模板將會被從備份存儲下載到主存儲的鏡像緩存中。由于大多數(shù)hypervisor使用稱為鏈式克隆的技術(shù)蚓再,一旦鏡像模板被下載滑肉,它將為所有的,使用了同樣的鏡像模板且在同樣的主存儲中有根磁盤的虛擬機摘仅,作為基礎磁盤來工作靶庙。

在下載鏡像之外,主存儲也會上傳實體娃属,像磁盤六荒、快照,到備份存儲膳犹;這些上傳活動都是備份相關(guān)的恬吕;例如,當用戶備份一個數(shù)據(jù)磁盤時须床,數(shù)據(jù)磁盤的一個副本將會被上傳到備份存儲铐料,作為一個鏡像模板,可以在之后被下載到主存儲用于創(chuàng)建新的數(shù)據(jù)磁盤豺旬。

在源代碼中钠惩,主存儲和備份存儲在不同的插件中實現(xiàn)。在復雜性方面族阅,備份存儲顯得更直接篓跛,因為只處理自身的事情。備份存儲的主要活動是下載坦刀、上傳和刪除愧沟。一個備份存儲需要定義一些協(xié)議蔬咬,規(guī)定主存儲怎樣下載和上傳實體,但它不需要知道主存儲的細節(jié)沐寺,因為這是主存儲的責任去使用這些協(xié)議來執(zhí)行這些活動林艘。另外,備份存儲必須實現(xiàn)一些協(xié)議混坞,這些協(xié)議允許鏡像服務注冊和刪除鏡像模板狐援。和所有的其他資源類似,備份存儲有一個抽象的基類BackupStorageBase,已經(jīng)實現(xiàn)了大多數(shù)通用的業(yè)務邏輯究孕,存儲廠商只需要實現(xiàn)那些和他們后臺存儲系統(tǒng)直接相關(guān)的操作啥酱,通常是通過調(diào)用SDK或調(diào)用agent。

主存儲更加復雜厨诸。復雜的根源來自于這么一個事實镶殷,即它的業(yè)務邏輯不只是依賴于備份存儲,也依賴于hypervisor的細節(jié)泳猬。一個主存儲批钠,首先,必須理解備份存儲的協(xié)議得封,以下載和上傳實體埋心;例如,一個NFS主存儲必須知道Sftp備份存儲忙上,亞馬遜S3備份存儲拷呆,Swift備份存儲的信息,如果它計劃支持所有的這些疫粥。另一方面茬斧,對于同一個備份存儲,協(xié)議的使用方法也會隨著不同的hypervisor而不同梗逮;例如项秉,NFS主存儲可以調(diào)用KVM agent去使用s3tool來從亞馬遜S3備份存儲下載一個鏡像模板;然而慷彤,由于VMWare有一個封閉的生態(tài)系統(tǒng)娄蔼,對于NFS主存儲來說要做同樣事情的唯一方式是通過VMWare的SDK〉谆基于這些事實岁诉,主存儲的復雜性是M*N,其中M是備份存儲的種類跋选,N是它所支持的hypervisor的種類涕癣。

正如ZStack—通用插件系統(tǒng)一文中所描述的,ZStack是一個插件系統(tǒng),每一個特性都被做成一個小的插件前标;一個主存儲需要定義兩個接口來打破這個復雜性坠韩。第一個是一個hypervisor的后端距潘,用于處理只和hypervisor有關(guān)的活動;例如同眯,NFS主存儲有個定義好的接口:NfsPrimaryStorageBackend绽昼,對每一個支持的hypervisor,都會有一個具體的類须蜗,類似NfsPrimaryStorageKVMBackend用于KVM。第二個目溉,稱之為PrimaryToBackupStorageMediator明肮,是一個hypervisor到備份存儲的后端,用于處理同時涉及到hypervisor和備份存儲的后端缭付;例如柿估,Nfs主存儲有一個NfsPrimaryToSftpBackupKVMBackup的實現(xiàn),用于為KVM支持Sftp備份存儲陷猫。

這聽起來非常糟糕秫舌,因為一個主存儲必須實現(xiàn)如此多的東西;然而绣檬,事實上足陨,一個主存儲可能不需要去為所有的hypervisor支持所有的備份存儲;例如娇未,為VMWare支持Sftp備份存儲是毫無意義的墨缘,因為VMWare SDK沒有可能允許用scp傳輸一個文件到它的存儲倉(即使可以通過繞過SDK使得這成為可能,我們不把它視為一種可靠的方式)零抬。而且網(wǎng)絡共享存儲上镊讼,流行的協(xié)議并不特別多,大多數(shù)的使用場景可以被處理平夜,一旦我們把Nfs主存儲和Iscsi主存儲準備就位蝶棋。

注意:在當前的ZStack版本中(0.6),只有Nfs主存儲和Sftp備份存儲被實現(xiàn)了忽妒。

總結(jié)

在這篇文章中玩裙,我們演示了ZStack的存儲模型。通過以邏輯功能將存儲劃分成主存儲和備份存儲锰扶,ZStack提供了一個非常棒的靈活性献酗,使得存儲廠商可以選擇性地以各種意圖插入他們的存儲系統(tǒng)。而且隨著越來越的普遍的存儲協(xié)議坷牛,比如NFS罕偎、ISCSI、S3京闰、Swift颜及,將被作為默認插件加入甩苛,用戶將不需要憂慮他們是否能夠為他們現(xiàn)存的存儲系統(tǒng)找到合適的組合。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末俏站,一起剝皮案震驚了整個濱河市讯蒲,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌肄扎,老刑警劉巖墨林,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異犯祠,居然都是意外死亡旭等,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進店門衡载,熙熙樓的掌柜王于貴愁眉苦臉地迎上來搔耕,“玉大人,你說我怎么就攤上這事痰娱∑ィ” “怎么了?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵梨睁,是天一觀的道長鲸睛。 經(jīng)常有香客問我,道長而姐,這世上最難降的妖魔是什么腊凶? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮拴念,結(jié)果婚禮上钧萍,老公的妹妹穿的比我還像新娘。我一直安慰自己政鼠,他們只是感情好风瘦,可當我...
    茶點故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著公般,像睡著了一般万搔。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上官帘,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天瞬雹,我揣著相機與錄音,去河邊找鬼刽虹。 笑死酗捌,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播胖缤,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼尚镰,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了哪廓?” 一聲冷哼從身側(cè)響起狗唉,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎涡真,沒想到半個月后分俯,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡哆料,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年澳迫,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片剧劝。...
    茶點故事閱讀 39,779評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖抓歼,靈堂內(nèi)的尸體忽然破棺而出讥此,到底是詐尸還是另有隱情,我是刑警寧澤谣妻,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布萄喳,位于F島的核電站,受9級特大地震影響蹋半,放射性物質(zhì)發(fā)生泄漏他巨。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一减江、第九天 我趴在偏房一處隱蔽的房頂上張望染突。 院中可真熱鬧,春花似錦辈灼、人聲如沸份企。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽司志。三九已至,卻和暖如春降宅,著一層夾襖步出監(jiān)牢的瞬間骂远,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工腰根, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留激才,地道東北人。 一個月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像贸营,于是被迫代替她去往敵國和親吨述。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,700評論 2 354

推薦閱讀更多精彩內(nèi)容

  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯誤還是無法避免 以后資料會慢慢更新 大...
    數(shù)據(jù)革命閱讀 12,161評論 2 33
  • 本文遵循「知識共享許可協(xié)議 CC-BY-NC-SA 4.0 International」钞脂,未經(jīng)作者書面許可揣云,不允許...
    laiwei閱讀 11,793評論 1 24
  • 1、第八章 Samba服務器2冰啃、第八章 NFS服務器3邓夕、第十章 Linux下DNS服務器配站點,域名解析概念命令:...
    哈熝少主閱讀 3,732評論 0 10
  • 做人別低頭阎毅,因為焚刚,地上沒有黃金只有石頭;凡事別強求扇调,因為矿咕,強摘的果實沒甜頭。人活著狼钮,就要活出自己的個性碳柱,不仰視,不...
    滄海冰心閱讀 200評論 2 6
  • 許昕想秦志戩想得發(fā)瘋熬芜,秦志戩也想他小朋友莲镣。 挑著大蟒直播的幾個時間點兒上去看,被不明真相的同事網(wǎng)癮中年涎拉、愛崗敬業(yè)地...
    雙漪閱讀 3,032評論 0 2