東京故事:Swift vs.Ceph@OpenStack峰會

2021-02-19 企事錄

OpenStack東京峰會於2015年10月27日~30日舉行,非常幸運和榮幸我能夠代表企事錄(QSLab)及合作夥伴希捷在峰會上做分享。關於會議的報導,已經很多了,也不用企事錄再贅述,我這次想站在一個分享者的角度來聊一聊。

我分享的主題是和對象存儲相關的,包括兩個方面的內容:1. 將OpenStack Swift和Ceph的對象存儲功能進行比較——這部分可以說是老生常談了,所以我並沒有重複以往已經有人做過的事情,而是對以前比較具有代表性的工作做了一個總結,並做補充;2. 討論如何結合實際用戶的實際應用場景來進行對象存儲系統的測試與評價,並以一個基於希捷Kinetic硬碟的Swift POC環境為例,給出了測試結果。

由於N久沒有站在臺上講英語了,所以當時還是有點擔心。直到講完以後,兩個歪果仁在提問的時候先說了一句「This is the best presentation I』ve seen these two days」,我才知道這次沒有給中國人丟臉,遂放下心來。

我分享的第一部分是關於Swift和Ceph用於對象存儲服務的比較

Swift和Ceph的對比,在OpenStack社區裡不是什麼新鮮話題了,而且一直有比較高的關注度,如果我們Google一下相關內容,能得到很多搜索結果。Swift是OpenStack最初的兩個項目之一,其的核心功能的代碼經過了五年的發展,現在非常穩定,實際使用中,Swift的運維也很簡單;而由於OpenStack的Nova、Cinder和Glance三個核心項目都支持用Ceph做後端,所以,Ceph對OpenStack用戶非常有吸引力。

Swift和Ceph沒有絕對的誰好誰壞,更多的是要看應用場景,溫哥華峰會上來自Mirantis的Christian Huebner也曾經說過,對Ceph和Swift進行選擇的依據應當是看要解決什麼問題,而不要泛泛地爭辯技術的優劣,他用了「No Religious War」來形容。在我的分享中,我用下面這頁片子總結了一些在構建對象存儲系統時,常需要考慮的因素。


如果您希望擁有對象自動過期、版本控制等等一些我們稱之為「Advanced Object Storage Features」的功能,那麼您應當選用Swift,因為這些功能是Ceph沒有的。更重要的是Swift是如何實現這些功能的——Swift通過一種叫做Middleware的東西,這裡的Middleware不是我們平常說的「中間件」,而是WSGI框架中的一種概念。這是一種類似插件的東西,使用起來非常方便,通過在一個配置文件中,指定一個pipeline中使用哪些middleware,以及這些middleware使用的先後順序,就可以給一個Web服務賦予各種不同的功能。另一方面,因為WSGI Middleware接口也很簡潔,所以用戶如果想編程實現自己的Middleware,也很方便,所以用戶可以很方便地通過Middleware來對Swift的功能進行定製,實現刪重、壓縮、殺毒、不良信息掃描等功能,這是Ceph所不具備的。

Ceph的主要優勢在於統一存儲,這樣,我們只需要搭建一個集群就可以提供塊存儲、對象存儲和文件系統服務。由此衍生的一個優勢是,如果我們手頭上的資源有限,比如,我們只有不到十臺伺服器,我們要為虛擬化提供支持,例如做Nova和Cinder的後端,我們又想提供對象存儲服務。那麼Ceph是一個不錯的選擇,因為要實現一個生產中可用的穩定的分布式存儲系統,通常需要四個或者更多的節點,當伺服器數量有限的時候,我們可能不希望把資源分散到兩個集群中,這時候用Ceph,就可以通過一個集群提供多種類型的存儲服務。

如果我們希望跨多個數據中心構建存儲系統,那麼通過Swift可以比較容易實現,但是Ceph目前尚不能實現真正的多域部署(Multi-Region Deployment)。跨數據中心部署可以在異地共享數據,並且通過Swift提供的Write affinity和 Read affinity特性,得到較低的訪問延遲;同時也起到了災備的作用。但是要注意Swift所採用的是最終一致性模型,這一方面讓Swift能夠很容易實現跨域部署,另一方面也造成數據更新後,某些客戶端可能不能立即讀到最新的版本。所以,如果要求「立即一致性」或者「強一致性」的話,最好是選用Ceph。

另外需要澄清的一個事情是,很多人認為Swift不適用於來存大對象,而Ceph不適用於來存小對象,這實際上是一個誤區,Swift和Ceph對大對象和小對象的存儲都提供一些Features加以支持,更重要的是要正確地使用這些Features和對集群進行調優(Tuning)。


Swift通過一個被稱為「Dynamic Large Objects」的Feature能夠好地支持大文件的存儲,這在OpenStack官方文檔中進行了很詳細的闡述( http://docs.openstack.org/developer/swift/overview_large_objects.html ),官方的Swift客戶端和Glance中正式通過改Feature實現大對象上傳和下載的。我們實際測試結果,採用正確的方法向Swift集群上傳大文件時,Porxy節點上連接到Storage節點的萬兆網絡接口能夠基本上達到極限。而對於Ceph存儲小文件來說,同樣,Zurich University of Applied Sciences的雲計算實驗室給出的一份測試報告表明,在他們的實驗環境中,用Ceph存儲小對象,讀寫性能的測試結果很好。但是需要注意的是,Zurich University of Applied Sciences的測試場景中的Ceph集群比較小,而且負載中沒有頻繁刪除小對象的情況。

我分享的第二部分是如何站在用戶的角度進行對象存儲的測試與評估

既然說到比較,就離不開測試與評估,正確的測評方法比最終的結果往往更為重要。目前測對象存儲常用的一些benchmark tools,如COSbench和SSbench都能告訴你一個對象存儲系統的極限在哪裡,這對於系統的設計者和實施方來說非常有用。但是站在用戶的角度來說,基於HTTP的對象存儲是一種新型的存儲形態,對象存儲服務每秒鐘能夠響應的請求數量和吞吐率與傳統存儲的IOPS及傳輸速率的本質是不一樣的,當用戶在評價一個對象存儲系統或者服務對業務的幫助時,以往的經驗不再起作用了,所以,我們(希捷和企事錄的工程師)根據對象存儲在真實應用中的負載進行建模,並對基於Kinetic的Swift對象存儲方案進行了實際評測。

對象存儲在過去十年內吸引了巨大的投資,其背後的主要的推動力量是網際網路應用和移動計算的發展,無獨有偶,在此次峰會上,關於Swift的另一個演講也表達了類似的觀點。


網際網路應用中使用對象存儲的典型場景有:電商的商品圖像的存儲、社交軟體中用戶上傳的圖像和短視頻、在線辦公系統中的文檔存儲等,對於這些場景來說,服務的可用性和訪問延遲比每秒鐘最多響應多少次請求更加重要。對於對象存儲來說,訪問延遲即為從發出讀/寫請求到一個對象完全讀取/寫入所需要的時間。

而對於網際網路應用來說,真實世界中訪問請求的到達不是均勻地,而是服從泊松分布,單位之間內到達的請求數是一個隨機變量,如下圖所示


這個隨機變量的數學表達式為:


其中,λ是單位時間內達到請求數的平均值,即X的數學期望。這個值在真實的應用場景中,實際上是由用戶所需要面對的負載決定的,例如,我們以「秒」為單位時間,假設某網際網路應用A,用戶數量為10萬,日活躍用戶比例為30%,如果這些用戶當天平均是用該應用的次數為30次,每次會讀取50個對象,其中80%的負載發生在一天的兩個小時之內,則訪問高峰期每秒鐘讀請求次數為:
所以,從該用戶的角度來說,測評的重點應當是,平均負載為每秒500次讀請求的情況下,最大的響應延遲和平均響應延遲。


我們的測試環境使用了基於Kinetic的Swift方案。Kinetic是一個由希捷提出的基於乙太網硬碟和開源軟體的開放存儲方案,目前已經發展為Linux基金會的一個項目——Kinetic Open Storage Project(KOSP),一些存儲領域的大廠紛紛加入。基於Kinetic構建對象存儲系統,可以有效減少存儲伺服器的使用,提高存儲密度並降低成本;同時由於每個硬碟都是一個IP設備直接接入乙太網,所以能夠有效降低分布式存儲系統運維的難度。

如下圖所示,希捷提供的基於Kinetic的Swift對象存儲方案與傳統的完全基於x86伺服器的Swift方案不同的地方在於,傳統方案中要使用x86伺服器來運行Object Server,但是在基於Kinetic的Swift中,修改後的Object Server服務進程可以和Proxy Server部署在相同的節點上,因為Object Server不在本地存儲對象數據,而是將對象數據通過網絡保存在Kinetic硬碟上。

我們搭建的測試環境如下圖所示,由於這只是一個初步的測試環境,所以我們只使用了一臺Kinetic設備,內含12塊4TB Kinetic硬碟。另外使用了一臺x86伺服器運行Swift的Proxy Server、Account Server、Container Server和修改的Object Server,稱為PACO Node。我們使用的Load Generator可以根據泊松分布模型模擬實際的網際網路訪問負載,因為這是一個初步的實驗環境,我們將Load Generator運行在PACO Node上。


測試結果表明,當對象大小為1MB時,每秒平均500次讀請求的負載下,該對象存儲方案最大的請求-響應延遲為579.6 ms,平均延遲為66.3 ms。一般來說,這個延遲對於網際網路用戶來說是可接受的,所以可以認為該方案在性能上能夠滿足網際網路應用A的需求。

需要說明的是,這只是一個初步的測評,實際上一個對象存儲系統的負載往往是混合的,操作不可能只有讀或者寫,對象的大小也不可能是相同的,這些都將會在我們後續的工作中完善。

另外關於東京峰會,我有幾點感受:

雖然每個Track都有Chair,但是他們並不一定在各個分會場擔任主持人,完全看自願。這個很有意思,我參加過許多會議,一個人只要做了Chair,基本上這一天在會上別的活動就甭想參與了,因為他要在這個會場上做主持人幫各個演講者穿針引線。主持這個事情對於大會報告Keyonte來說,沒有什麼問題,因為Keynote期間一般也不會有其他活動了,但是對於分會來說,由於各個Track往往是並行進行的,如果Track Chairs還要在各自的Track上盯著走不開,就限制了他們在會議中的參與度。而事實上,Chair們一般是各個領域方向中的牛人,把他們解放出來,讓他們多參與會議中的活動,對於會議本身質量的提高也是很有幫助的。這有個潛在的要求是聽眾和演講者都能夠非常守時,演講者要控制好時間不能拖延,聽眾要在該開始下一個session的時候準時或者提前一點到達會場。

會議錄製剪輯非常專業。整個錄製過程對演講者來說是透明的,攝像機放在那裡無人值守,上線以後的視頻中基本沒看到過有什麼問題;Speaker都用自己的筆記本演示,也無需向主辦方提供任何PPT或者Keynote等膠片的文件,通過類似錄屏的方式進行,所有演示動畫、插入的視頻和live demo的內容悉數保留;任一天的所有session,都會在第二天完成後期製作並可以在YouTube上看到,錄音和圖像的質量都非常高。國內大大小小的會議,嘗試錄像的不少,但是目前我還沒看到能做到這個水平的。比如有的會議錄像喜歡給演講者特寫,或者在膠片和演講者之間切換。給特寫的用途並不大,觀眾要看清楚的是演講者的手勢以及他在幹什麼,比如是在做live demo還是在講膠片,至於在膠片和演講者之間的切換,這個是要儘量避免的,因為幻燈片的動畫和演講者的手勢裡可能都包含了希望傳遞給觀眾的信息;還有的會議錄像以後為了製作後期,要求提供PPT,我一直比較反感這個要求,因為我不用盜版,又不覺得微軟的產品值那個錢,所以我不用PowerPoint,而如果我把Keynote做的膠片轉成PPT格式,大部分動畫都會丟失。

聽眾的質量非常高,在提問環節還討論了關於如何基於Kinetic硬碟實現Ceph的一些技術細節問題,直到晚宴上還有一個老外找到我,問了一些非常專業的問題。OpenStack Summit是一個非常適合做深入技術交流的場合,企事錄今後會多參與類似的活動,也非常歡迎廠商來一起合作。

專注於企業級產品、技術的傳播推廣,加速促進新產品、新解決方案的落地實施。企事錄公眾號為您分析介紹企業IT、網際網路基礎設施及架構方面值得關注的技術趨勢,歡迎大家關注!


長按,選擇「識別圖中二維碼」

相關焦點

  • OpenStack雪梨峰會 | Kubernetes與OpenStack融合之路
    11月4日K8S GeekGathering深圳站圓滿落幕!
  • 信息匯總:全面了解OpenStack COA技術認證
    這次考試須使用最新版本的GoogleChrome,暫不支持其他瀏覽器不再支持使用任何在線文檔(例如,docs.openstack.org)COA活動網頁:https://coa.arlo.co/w/events/1-coa-certified-openstack-administrator我需要具備哪些專業知識
  • OpenStack基金會為OpenStack雲管理員啟動COA專業認證
    該項目將為世界範圍內的OpenStack專業使用者提供衡量知識和技術的基準。OpenStack基金會執行總監Jonathan Bryce在日本東京OpenStack峰會開幕致辭時同時宣布,首批OpenStack管理員認證(COA)將於2016年進行。
  • 東京迪士尼VS日本環球影城:誰是NO.1
    俗話說得好:「日本東邊有東京,西邊有大阪」。佔全國三大城市其二的這兩個城市常年「老死不相往來」,如今,在玩上也得爭個第一才肯罷休,那麼這場沒有硝煙的「東西地域之爭」,東京迪士尼vs日本環球影城,誰才是日本NO.1?
  • 雪梨峰會:部署 BareMetal 雲不是一件容易的事,但我們做到了!
    澳大利亞雪梨當地時間11月6號上午9點,第16屆OpenStack峰會在雪梨國際會議中心盛大開幕
  • 廈門峰會總攻略|All information about 2015 Xiamen Fall Conference
    >廈門峰會還有7天就開始了!如果您搭乘公交車來:搭乘BRT快1線,經11站到達嘉庚體育館站下車,轉公交906(20分鐘一班)直達北海灣酒店 詳細交通攻略: http://blog.sina.com.cn/s/blog_14b0a2a760102vs7j.html 4.
  • 東京奧運會延期一年背後的故事
    一直想寫一篇關於東京奧運會延期的故事,今日終於提筆。
  • 【日劇】東京愛情故事 東京ラブストーリー (1991)
    東京愛情故事的劇情簡介  五個人的感情糾葛,東京城市下渴望愛的一個個靈魂。完治會選擇熱情奔放的莉香,還是傳統女性的裡美呢?《東京愛情故事》(東京ラブストーリー),是由日本富士電視臺於1991年1月7日推出的一部愛情電視劇。
  • Cocos2015秋季峰會:英特爾「三件大禮」助力Cocos完善手機頁遊新生態
    由觸控科技主辦的Cocos 2015秋季峰會·手機頁遊崛起將於9月23日在廈門舉行,全球遊戲行業的精英、巨頭將齊聚於此,就手機頁遊生態系統和遊戲引擎技術兩大領域進行深度角度和分享
  • 日本黑道G20峰會期間暫停活動 「覺悟」咋這麼高?
    車站儲物箱被貼上了停用標籤。1989年先後入讀東京大學新聞研究所、慶應大學經濟系,博士課程畢業。1998年開始在山口縣萩國際大學任經濟學教授。2003年回國任《經濟》雜誌主筆。2010年任日本企業(中國)研究院執行院長,主要研究日本企業及日本經濟,採訪及報導過數千家日本企業。
  • 東京電視臺,日本電視臺中的「泥石流」...
    其他電視臺vs東京電視臺東京電視臺一向不走尋常路就是不管外界如何喧囂它絲毫不為所動堅持播放三件事:動畫片、美食、購物節目比如▽日本巖手縣六級地震各臺都在發布海嘯警報東京電視臺在播動畫片NHK:東京申奧成功!TBS:東京申奧成功!日本電視臺:東京申奧成功!朝日電視臺:東京申奧成功!
  • 2019中國國際文創娛樂產業峰會在石景山區召開
    10月23-24日,2019中國國際文創娛樂產業峰會在北京市石景山區召開。本屆峰會圍繞新時代科技文創和數字經濟,在政策指導、行業研究、資源對接、國際合作等方面進行了卓有成效的深度交流,相關政府部門領導以及駐華使節、專家學者、企業家代表等千餘人參與了各項主題論壇。
  • 【關注】2019G20峰會
    大阪G20峰會6月28日開幕,峰會主題包括世界經濟與貿易、全球氣候變化、環境治理等。
  • G20峰會前的杭州,美翻了!
    g20峰會期間,杭州人又多了一個黃金周,G20杭州峰會將於9月4日至5日在杭州召開。為確保與會各國代表團順利抵達和離杭返程,儘量減少對全市交通和市民出行的影響,9月1日至9月7日,杭州放假7天,市民開啟休假模式。
  • 大阪VS東京:一個笑容看出兩個城市的區別丨日本觀察
    對於這兩個城市的區別,有人說東京冷漠,大阪熱情。也有人說東京人嚴謹,大阪人太隨性。為什麼會有這樣的感覺呢?大概是從兩個城市中人們的笑容上感覺的吧。很多人對於東京人的印象是這樣的:冷めたイメージが強いらしい東京人東京人給人的印象是冷漠的且有些強勢的。
  • 但東京電視臺卻在播這種新聞...?
    其他電視臺vsNHK:東京申奧成功!TBS:東京申奧成功!日本電視臺:東京申奧成功!朝日電視臺:東京申奧成功!富士電視臺:東京申奧成功!東京電視臺:請看這枚閃亮的八心八箭大鑽石!東京電視臺中途轉播,日本完蛋了日本完了.東京電視臺播出了特別節目,我們最後的堡壘.
  • 中國(樟樹)中醫藥峰會在樟樹舉行
    10月15日下午,由中國中醫科學院、宜春市人民政府、中國醫藥峰會主辦的中國(樟樹)中醫藥峰會在江西省樟樹市舉行。2017中國(樟樹)中醫藥峰會組委會秘書長王玉民主持峰會,中國中醫科學院院長、天津中醫藥大學校長、中國工程院院士張伯禮,國家科技進步一等獎獲獎者、中國工程院院士陳香美出席會議並作報告。國家科技部、國家中醫藥管理局、中國中醫科學院、軍事醫學科學院、中國藥科大學等部門單位的相關領導和專家,宜春市各縣市區中醫院院長,樟樹市醫藥企業代表共300餘人參會。
  • 達利絲綢,G20峰會記者包裡的「顏值擔當」
    峰會會場結合G20峰會「構建創新、活力、聯動、包容的世界經濟」的主題,達利國際的設計師們將國際化的視野與中國絲綢充分融合,以波西米亞風格、宮廷風、幾何拼接等為元素,為國內外媒體記者設計出了明豔亮麗
  • 班加羅爾 vs 舊金山,印度網友抗議結果:再不讓班加羅爾贏,將呼籲大家抵制
    Bengaluru vs San Francisco : City Comparison班加羅爾vs舊金山
  • 新增983例 緬甸參加第23屆東協+3(APT)峰會和第15屆東亞峰會(EAS)
    緬甸參加第23屆東協+3(APT)峰會和第15屆東亞峰會(EAS)緬甸國務資政翁山蘇姬於昨日通過視頻會議參加了第23屆東協+3(APT)峰會和第15屆東亞峰會(EAS)。第23屆東協+3峰會由越南總理阮春福先生以東協2020年主席國身份主持召開,東協成員國、中國、日本和韓國領導人出席。