久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Ceph淺析(上):概況與設(shè)計(jì)思想

 hello_worldw6 2017-08-24

【編者按】Ceph,當(dāng)下已成為OpenStack上最通用的存儲(chǔ)之一,,也是是目前人氣最高的開源存儲(chǔ)項(xiàng)目之一,。近日,擁有海量存儲(chǔ)領(lǐng)域工作經(jīng)驗(yàn)的華為@一棹凌煙基于現(xiàn)有資料文檔的學(xué)習(xí)思考,,以及由此而來的心得體會(huì),,對(duì)Ceph進(jìn)行介紹與分析,。文章內(nèi)容大致涵蓋Ceph的產(chǎn)生背景,、設(shè)計(jì)思想、技術(shù)實(shí)現(xiàn),、主要特點(diǎn),、與OpenStack的聯(lián)系、與Swift的比較等等,。

以下為原文:

Ceph的概況

本文將對(duì)Ceph的基本情況進(jìn)行概要介紹,,以期讀者能夠在不涉及技術(shù)細(xì)節(jié)的情況下對(duì)Ceph建立一個(gè)初步印象。

1. 什么是Ceph,?

Ceph的官方網(wǎng)站Ceph.com上用如下這句話簡(jiǎn)明扼要地定義了Ceph:

“Ceph is a unified, distributed storage system designed for excellent performance, reliability and scalability.”

也即,,Ceph是一種為優(yōu)秀的性能、可靠性和可擴(kuò)展性而設(shè)計(jì)的統(tǒng)一的,、分布式的存儲(chǔ)系統(tǒng),。應(yīng)該說,這句話確實(shí)點(diǎn)出了Ceph的要義,可以作為理解Ceph系統(tǒng)設(shè)計(jì)思想和實(shí)現(xiàn)機(jī)制的基本出發(fā)點(diǎn),。在這個(gè)定義中,,應(yīng)當(dāng)特別注意“存儲(chǔ)系統(tǒng)”這個(gè)概念的兩個(gè)修飾詞,即“統(tǒng)一的”和“分布式的”,。

具體而言,,“統(tǒng)一的”意味著Ceph可以一套存儲(chǔ)系統(tǒng)同時(shí)提供對(duì)象存儲(chǔ)、塊存儲(chǔ)和文件系統(tǒng)存儲(chǔ)三種功能,,以便在滿足不同應(yīng)用需求的前提下簡(jiǎn)化部署和運(yùn)維,。而“分布式的”在Ceph系統(tǒng)中則意味著真正的無中心結(jié)構(gòu)和沒有理論上限的系統(tǒng)規(guī)模可擴(kuò)展性,。在實(shí)踐當(dāng)中,,Ceph可以被部署于上千臺(tái)服務(wù)器上。截至2013年3月初,,Ceph在生產(chǎn)環(huán)境下部署的最大規(guī)模系統(tǒng)為Dreamhost公司的對(duì)象存儲(chǔ)業(yè)務(wù)集群,,其管理的物理存儲(chǔ)容量為3PB。

2. 為什么要關(guān)注Ceph,?

事實(shí)上,,Ceph并不是一個(gè)剛剛出現(xiàn)的開源項(xiàng)目。與此相反,,從最初發(fā)布到逐漸流行,,Ceph走過了七年以上的漫長(zhǎng)路程。筆者以為,,之所以應(yīng)當(dāng)對(duì)Ceph加以了解,,其原因大致有兩個(gè)方面:

首先,Ceph本身確實(shí)具有較為突出的優(yōu)勢(shì),。

Ceph值得一提的優(yōu)勢(shì)頗多,,包括統(tǒng)一存儲(chǔ)能力、可擴(kuò)展性,、可靠性,、性能、自動(dòng)化的維護(hù)等等,。本質(zhì)上,,Ceph的這些優(yōu)勢(shì)均來源于其先進(jìn)的核心設(shè)計(jì)思想,筆者將其概括為八個(gè)字——“無需查表,,算算就好”,。基于這種設(shè)計(jì)思想,,Ceph充分發(fā)揮存儲(chǔ)設(shè)備自身的計(jì)算能力,,同時(shí)消除了對(duì)系統(tǒng)單一中心節(jié)點(diǎn)的依賴,,從而實(shí)現(xiàn)了真正的無中心結(jié)構(gòu)?;谶@一設(shè)計(jì)思想和結(jié)構(gòu),,Ceph一方面實(shí)現(xiàn)了高度的可靠性和可擴(kuò)展性,另一方面保證了客戶端訪問的相對(duì)低延遲和高聚合帶寬,。通過后續(xù)內(nèi)容的介紹,,讀者可以看到,Ceph幾乎所有優(yōu)秀特性的實(shí)現(xiàn),,都與這個(gè)核心設(shè)計(jì)思想有關(guān),。

其次,Ceph目前在OpenStack社區(qū)中備受重視,。

OpenStack是目前最為流行的開源云操作系統(tǒng),。而據(jù)筆者觀察,Ceph之所以在近一兩年間熱度驟升,,其最為有力的推動(dòng)因素就是OpenStack社區(qū)的實(shí)際需求,。目前而言,Ceph已經(jīng)成為OpenStack社區(qū)中呼聲最高的開源存儲(chǔ)方案之一,,其實(shí)際應(yīng)用主要涉及塊存儲(chǔ)和對(duì)象存儲(chǔ),,并且開始向文件系統(tǒng)領(lǐng)域擴(kuò)展。這一部分的相關(guān)情況,,在后續(xù)文章中也將進(jìn)行介紹,。

3. Ceph的產(chǎn)生與發(fā)展

通常而言,開源項(xiàng)目的來源有三:一是學(xué)校里的大牛作的課題,,論文發(fā)夠然后開源,;二是企業(yè)里的大牛搞的產(chǎn)品,機(jī)緣巧合于是開源,;三是某些大牛突然顯靈,,然后一票人跟著一起開源。每一類的例子都有不少,,而不同起源的開源項(xiàng)目也有著自身的不同特點(diǎn),。具體而言,第一類項(xiàng)目的原理和技術(shù)上很可能頗有獨(dú)到之處,,而Ceph就正在此列。相比之下,,第二類項(xiàng)目的設(shè)計(jì)實(shí)現(xiàn)很可能頗為成熟,,并且在開源之前或者開源初期就獲得生產(chǎn)環(huán)境下的實(shí)際部署應(yīng)用機(jī)會(huì)。這種出身背景上的因素,,對(duì)于一個(gè)開源項(xiàng)目的后續(xù)發(fā)展很有可能產(chǎn)生影響,。

言歸正傳。Ceph項(xiàng)目起源于其創(chuàng)始人Sage Weil在加州大學(xué)Santa Cruz分校攻讀博士期間的研究課題。項(xiàng)目的起始時(shí)間為2004年,。在2006年的OSDI學(xué)術(shù)會(huì)議上,,Sage發(fā)表了介紹Ceph的論文,并在該篇論文的末尾提供了Ceph項(xiàng)目的下載鏈接,。由此,,Ceph開始廣為人知。

Ceph使用C++語言開發(fā),。對(duì)于一個(gè)典型的強(qiáng)調(diào)性能的系統(tǒng)項(xiàng)目,,這一選擇可以理解。

作為開源項(xiàng)目,,Ceph遵循LGPL協(xié)議,。

根據(jù)Inktank官方網(wǎng)站上的信息,Cpeh的生態(tài)系統(tǒng)參加下圖:

Ceph ecosystem

不難看出,,圖中列出的廠商或組織帶有明顯的云計(jì)算氣息,。

隨著Ceph的熱度不斷增加,Sage Weil于 2011年創(chuàng)立了Inktank公司以主導(dǎo)Ceph的開發(fā)和社區(qū)維護(hù),。目前,,Ceph的發(fā)布周期為三個(gè)月。

4. Sage Weil其人其事

在展開后續(xù)的技術(shù)討論之前,,適度八卦Sage Weil的人生經(jīng)歷實(shí)在是很有必要,,因?yàn)檫@位兄臺(tái)委實(shí)是 IT男青年中鳳毛麟角的在工程、研究,、創(chuàng)業(yè)三個(gè)領(lǐng)域都有涉獵且都頗有建樹的神人,。

Sage在工程上的能力自然不必多言,而他發(fā)表Ceph論文的OSDI也是計(jì)算機(jī)操作系統(tǒng)領(lǐng)域首屈一指的最高水平學(xué)術(shù)會(huì)議,。至于創(chuàng)業(yè)方面,,Sage是 DreamHost的聯(lián)合創(chuàng)始人,彼時(shí)是1997年,,他剛上大學(xué)不久,。。,。有興趣的同學(xué)可以去LinkedIn研究一下Sage的個(gè)人簡(jiǎn)歷,,基本上是想工作就工作,想上學(xué)就上學(xué),,想創(chuàng)業(yè)就創(chuàng)業(yè),,想讀博就讀博,隨心所欲,,天馬行空,,令人油然而生一種表示敬佩的沖動(dòng),。

Ceph的設(shè)計(jì)思想

分析開源項(xiàng)目,時(shí)常遇到的一個(gè)問題就是資料不足,。有時(shí)間寫代碼的大牛們通常是都是沒有時(shí)間或者根本不屑于寫文檔的,。而不多的文檔通常又是使用手冊(cè)之類的東西。即便偶爾有設(shè)計(jì)文檔通常也是語焉不詳,。在這種情況下,,想從代碼里反向把設(shè)計(jì)思想提煉出來,畢竟不是人人都能做到的,。

值得我們慶幸的是,,Ceph是一個(gè)典型的起源于學(xué)術(shù)研究課題的開源項(xiàng)目。雖然學(xué)術(shù)研究生涯對(duì)于Sage而言只是其光輝事跡的短短一篇,,但畢竟還是有幾篇學(xué)術(shù)文獻(xiàn)可供參考,。這也為我們提供了難得的,從頂層視角入手分析一個(gè)系統(tǒng)領(lǐng)域的優(yōu)秀開源項(xiàng)目的機(jī)會(huì),。本篇文章的內(nèi)容也正是筆者閱讀這些文獻(xiàn)的心得體會(huì),。

1. Ceph針對(duì)的目標(biāo)應(yīng)用場(chǎng)景

理解Ceph的設(shè)計(jì)思想,首先還是要了解Sage設(shè)計(jì)Ceph時(shí)所針對(duì)的目標(biāo)應(yīng)用場(chǎng)景,,換言之,,“做這東西的目的是啥?”

事實(shí)上,,Ceph最初針對(duì)的目標(biāo)應(yīng)用場(chǎng)景,,就是大規(guī)模的、分布式的存儲(chǔ)系統(tǒng),。所謂“大規(guī)?!焙汀胺植际健保侵钢辽倌軌虺休dPB級(jí)別的數(shù)據(jù),,并且由成千上萬的存儲(chǔ)節(jié)點(diǎn)組成,。

在大數(shù)據(jù)口號(hào)深入人心的今天,PB已經(jīng)遠(yuǎn)遠(yuǎn)不是一個(gè)激動(dòng)人心的系統(tǒng)設(shè)計(jì)目標(biāo)了,。但是,,應(yīng)該指出,Ceph項(xiàng)目起源于04年,。那是一個(gè)商用處理器以單核為主流,,常見硬盤容量只有幾十GB的年代。這和現(xiàn)在動(dòng)輒6核12線程還要雙處理器,、單塊硬盤3TB已經(jīng)司空見慣的情況是不可同日而語的,。因此,理解這個(gè)設(shè)計(jì)目標(biāo),,應(yīng)該考慮當(dāng)時(shí)的實(shí)際情況,。當(dāng)然,如前所述,,Ceph的設(shè)計(jì)并沒有理論上限,,所以PB級(jí)別并不是實(shí)際應(yīng)用的容量限制。

在Sage的思想中,,對(duì)于這樣一個(gè)大規(guī)模的存儲(chǔ)系統(tǒng),,是不能以靜態(tài)的眼光來看待的。對(duì)于其動(dòng)態(tài)特性,,筆者概括為如下三個(gè)“變化”:

  1. 存儲(chǔ)系統(tǒng)規(guī)模的變化:這樣大規(guī)模的存儲(chǔ)系統(tǒng),,往往不是在建設(shè)的第一天就能預(yù)料到其最終的規(guī)模,甚至是根本就不存在最終規(guī)模這個(gè)概念的,。只能是隨著業(yè)務(wù)的不斷開展,,業(yè)務(wù)規(guī)模的不斷擴(kuò)大,讓系統(tǒng)承載越來越大的數(shù)據(jù)容量,。這也就意味系統(tǒng)的規(guī)模自然隨之變化,,越來越大。
  2. 存儲(chǔ)系統(tǒng)中設(shè)備的變化:對(duì)于一個(gè)由成千上萬個(gè)節(jié)點(diǎn)構(gòu)成的系統(tǒng),,其節(jié)點(diǎn)的故障與替換必然是時(shí)常出現(xiàn)的情況,。而系統(tǒng)一方面要足夠可靠,不能使業(yè)務(wù)受到這種頻繁出現(xiàn)的硬件及底層軟件問題的影響,,同時(shí)還應(yīng)該盡可能智能化,,降低相關(guān)維護(hù)操作的代價(jià)。
  3. 存儲(chǔ)系統(tǒng)中數(shù)據(jù)的變化:對(duì)于一個(gè)大規(guī)模的,,通常被應(yīng)用于互聯(lián)網(wǎng)應(yīng)用中的存儲(chǔ)系統(tǒng),,其中存儲(chǔ)的數(shù)據(jù)的變化也很可能是高度頻繁的。新的數(shù)據(jù)不斷寫入,,已有數(shù)據(jù)被更新,、移動(dòng)乃至刪除。這種場(chǎng)景需求也是設(shè)計(jì)時(shí)必須予以考慮的,。

上述三個(gè)“變化”就是Ceph目標(biāo)應(yīng)用場(chǎng)景的關(guān)鍵特征,。Ceph所具備的各種主要特性,也都是針對(duì)這些場(chǎng)景特征所提出的,。

2. 針對(duì)目標(biāo)應(yīng)用場(chǎng)景所提出的預(yù)期技術(shù)特性

針對(duì)上述應(yīng)用場(chǎng)景,,Ceph在設(shè)計(jì)之初的幾個(gè)技術(shù)特性是:

  1. 高可靠性。所謂“高可靠”,,首先是針對(duì)存儲(chǔ)在系統(tǒng)中的數(shù)據(jù)而言,,也即,盡可能保證數(shù)據(jù)不會(huì)丟失,。其次,,也包括數(shù)據(jù)寫入過程中的可靠性,,也即,在用戶將數(shù)據(jù)寫入Ceph存儲(chǔ)系統(tǒng)的過程中,,不會(huì)因?yàn)橐馔馇闆r的出現(xiàn)造成數(shù)據(jù)丟失,。
  2. 高度自動(dòng)化。具體包括了數(shù)據(jù)的自動(dòng)replication,,自動(dòng)re-balancing,,自動(dòng)failure detection和自動(dòng)failure recovery??傮w而言,,這些自動(dòng)化特性一方面保證了系統(tǒng)的高度可靠,一方面也保障了在系統(tǒng)規(guī)模擴(kuò)大之后,,其運(yùn)維難度仍能保持在一個(gè)相對(duì)較低的水平,。
  3. 高可擴(kuò)展性。這里的“可擴(kuò)展”概念比較廣義,,既包括了系統(tǒng)規(guī)模和存儲(chǔ)容量的可擴(kuò)展,,也包括了隨著系統(tǒng)節(jié)點(diǎn)數(shù)增加的聚合數(shù)據(jù)訪問帶寬的線性擴(kuò)展,還包括了基于功能豐富強(qiáng)大的底層API提供多種功能,、支持多種應(yīng)用的功能性可擴(kuò)展,。

3. 針對(duì)預(yù)期技術(shù)特性所提出的設(shè)計(jì)思路

針對(duì)3.2節(jié)中介紹的預(yù)期技術(shù)特性,Sage對(duì)于Ceph的設(shè)計(jì)思路基本上可以概括為以下兩點(diǎn):

  1. 充分發(fā)揮存儲(chǔ)設(shè)備自身的計(jì)算能力,。事實(shí)上,,采用具有計(jì)算能力的設(shè)備(最簡(jiǎn)單的例子就是普通的服務(wù)器)作為存儲(chǔ)系統(tǒng)的存儲(chǔ)節(jié)點(diǎn),這種思路即便在當(dāng)時(shí)來看也并不新鮮,。但是,,Sage認(rèn)為這些已有系統(tǒng)基本上都只是將這些節(jié)點(diǎn)作為功能簡(jiǎn)單的存儲(chǔ)節(jié)點(diǎn)。而如果充分發(fā)揮節(jié)點(diǎn)上的計(jì)算能力,,則可以實(shí)現(xiàn)前面提出的預(yù)期特性,。這一點(diǎn)成為了Ceph系統(tǒng)設(shè)計(jì)的核心思想。
  2. 去除所有的中心點(diǎn),。一旦系統(tǒng)中出現(xiàn)中心點(diǎn),,則一方面引入單點(diǎn)故障點(diǎn),另一方面也必然面臨當(dāng)系統(tǒng)規(guī)模擴(kuò)大時(shí)的規(guī)模和性能瓶頸,。除此之外,,如果中心點(diǎn)出現(xiàn)在數(shù)據(jù)訪問的關(guān)鍵路徑上,事實(shí)上也比然導(dǎo)致數(shù)據(jù)訪問的延遲增大,。而這些顯然都是Sage所設(shè)想的系統(tǒng)中不應(yīng)該出現(xiàn)的問題,。雖然在大多數(shù)系統(tǒng)的工程實(shí)踐中,單點(diǎn)故障點(diǎn)和性能瓶頸的問題可以通過為中心點(diǎn)增加備份加以緩解,但Ceph系統(tǒng)最終采用創(chuàng)新的方法更為徹底地解決了這個(gè)問題,。

4. 支撐設(shè)計(jì)思路實(shí)現(xiàn)的關(guān)鍵技術(shù)創(chuàng)新

無論多么新穎奇妙的設(shè)計(jì)思路,,最終落地必定需要有技術(shù)實(shí)力的支撐。而這也正是Ceph最為閃亮的地方,。

Ceph最為核心的技術(shù)創(chuàng)新就是前面所概括的八個(gè)字——“無需查表,,算算就好”,。一般而言,,一個(gè)大規(guī)模分布式存儲(chǔ)系統(tǒng),必須要能夠解決兩個(gè)最基本的問題:

一是“我應(yīng)該把數(shù)據(jù)寫入到什么地方”,。對(duì)于一個(gè)存儲(chǔ)系統(tǒng),,當(dāng)用戶提交需要寫入的數(shù)據(jù)時(shí),系統(tǒng)必須迅速?zèng)Q策,,為數(shù)據(jù)分配一個(gè)存儲(chǔ)位置和空間,。這個(gè)決策的速度影響到數(shù)據(jù)寫入延遲,而更為重要的是,,其決策的合理性也影響著數(shù)據(jù)分布的均勻性,。這又會(huì)進(jìn)一步影響存儲(chǔ)單元壽命、數(shù)據(jù)存儲(chǔ)可靠性,、數(shù)據(jù)訪問速度等后續(xù)問題,。

二是“我之前把數(shù)據(jù)寫到什么地方去了”。對(duì)于一個(gè)存儲(chǔ)系統(tǒng),,高效準(zhǔn)確的處理數(shù)據(jù)尋址問題也是基本能力之一,。

針對(duì)上述兩個(gè)問題,傳統(tǒng)的分布式存儲(chǔ)系統(tǒng)常用的解決方案是引入專用的服務(wù)器節(jié)點(diǎn),,在其中存儲(chǔ)用于維護(hù)數(shù)據(jù)存儲(chǔ)空間映射關(guān)系的數(shù)據(jù)結(jié)構(gòu),。在用戶寫入/訪問數(shù)據(jù)時(shí),首先連接這一服務(wù)器進(jìn)行查找操作,,待決定/查到數(shù)據(jù)實(shí)際存儲(chǔ)位置后,,再連接對(duì)應(yīng)節(jié)點(diǎn)進(jìn)行后續(xù)操作。由此可見,,傳統(tǒng)的解決方案一方面容易導(dǎo)致單點(diǎn)故障和性能瓶頸,,另一方面也容易導(dǎo)致更長(zhǎng)的操作延遲。

針對(duì)這一問題,,Ceph徹底放棄了基于查表的數(shù)據(jù)尋址方式,,而改用基于計(jì)算的方式。簡(jiǎn)言之,,任何一個(gè)Ceph存儲(chǔ)系統(tǒng)的客戶端程序,,僅僅使用不定期更新的少量本地元數(shù)據(jù),加以簡(jiǎn)單計(jì)算,,就可以根據(jù)一個(gè)數(shù)據(jù)的ID決定其存儲(chǔ)位置,。對(duì)比之后可以看出,,這種方式使得傳統(tǒng)解決方案的問題一掃而空。Ceph的幾乎所有優(yōu)秀特性都是基于這種數(shù)據(jù)尋址方式實(shí)現(xiàn)的,。

原文連接:

“Ceph淺析”系列之二——Ceph概況

“Ceph淺析”系列之三——Ceph的設(shè)計(jì)思想


以“ 云計(jì)算大數(shù)據(jù) 推動(dòng)智慧中國(guó) ”為主題的  第六屆中國(guó)云計(jì)算大會(huì) 將于5月20-23日在北京國(guó)家會(huì)議中心隆重舉辦,。產(chǎn)業(yè)觀察、技術(shù)培訓(xùn),、主題論壇,、行業(yè)研討,內(nèi)容豐富,,干貨十足,。票價(jià)優(yōu)惠,馬上  報(bào)名 ,! 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多