《專家觀察 | 朱榮澤:“統一存儲,為云而生——基于Ceph的存儲全家桶”》要點:
本文介紹了專家觀察 | 朱榮澤:“統一存儲,為云而生——基于Ceph的存儲全家桶”,希望對您有用。如果有疑問,可以聯系我們。
由工業和信息化部指導,中國信息通信研究院主辦,業界知名組織云計算開源產業聯盟(OSCAR)承辦的2017全球云計算開源大會于4月19日-20日在北京國家會議中心順利召開.本文為本屆大會嘉賓分享的大會演講速記內容,敬請瀏覽.
嘉賓介紹:朱榮澤
公司職務:UMCloud存儲產品部門總監
大會演講速記
大家下午好,我叫朱榮澤,現在給大家做一個基于Ceph的存儲全家桶.
這是我演講內容的一個大綱,我站在一個云平臺的建設者角度去看云平臺對于處理系統是怎樣的,我們怎么選擇的,是需要大家對OpenStack有一些基本的了解.
我首先介紹一下我們來自哪里,我們是Ucloud,一個中國最大的廠商,MIRANTIS是美國最專業的廠商,它跟一家合資公司叫UMCloud,UMCloud在國內專門提供一些專業的產品等等.
我們先講一下Mirantis它的最新架構怎樣,這是一個最新的架構,主要分為三部分,全部是由開源云件組成,中間是云計算平臺,上層是為各個用戶提供了容器還有虛擬機還有裸機,裸機和虛擬機是OpenStack提供的.
另外平臺做的事情,OpenStack是用Mirantis部署的,大家也知道之前開發了一個開發工具,能部署三百臺到五百臺是沒有問題的,我單純說的部署,不是集聯的方式,Mirantis也會遇到一些困難的問題,前幾周已經發布了將近九百個節點的一個報告,大家可以在Mirantis的博客上查到.
中間的云算平臺大家可以看到是普通的X86服務器組成的,右邊是一個生命周期管理,主要是用于OpenStack集群的升級變更,以后Mirantis云盤不會跟某一個OpenStack綁定,會滾動上面的OpenStack,比如從最新的O板到P板或者下一個版本都可以滾動的升級,而且它跟整個Mirantis云盤相關性是沒有很強的,而且還能動態的去修改配置.
右邊是一個運維的平臺,主要是對云平臺進行監控和報警,我們看到整個云平臺是會非常靈活跟敏捷的.
底層的存儲系統怎么才能滿足云平臺的需求?這是我們總結的開源平臺對處理系統的要求,五個方面.
首先對于接口來說,因為云平臺上面跑著各種的業務和各種運營時態,所以需要基本的快存儲,快存儲可能要跟你進行對接還有提供快設備,特別是面向互聯網的應用是需要對象存儲的,還有一些存儲應用接口,但是對于傳統存儲來說,它會比較差,不能滿足.
第二是可編程性,提供一個API方便集成,這樣做平臺能夠快速的調用一個存儲系統的資源,定義存儲資源的調度,對于傳統存儲來說它只是會提供API的接口,而且輸入是分鐘級別的,非常慢,這是跟傳統對接的時候會發現的一個問題,你也不希望我創建要幾分鐘才會創建好,這其實不符合云平臺對系統的要求.
另外是Workload,云盤可能會跑著各種的數據庫包括一些大數據或者像其他的一些負載,可能有一些大存儲的,或者要求低延遲的,可能需要你去滿足它的要求,但是傳統存儲會專注于某一版面,也不是太合適.
另外是擴展性,因為你隨著云平臺的擴展你需要資源做一個相應的擴展,不管是容量還是性能的,而且是需要在線擴展的,擴展的時候我必須要不能宕機,因為傳統的存儲都是賣盒子的方式,擴展起來非常麻煩,而且需要一段的維護時間.
另外主要是一個可管理性,包括統一部署、統一監控、統一運維,這樣是可以跟云平臺的進行整合結合,需要一個管理員就可以把整個云平臺還有所有的網絡存儲都全部管理起來,不需要另外有一套專門的存儲管理人員.
其實這樣我們就定義了我們需要的統一存儲,至少提供三種存儲接口,可以無縫的承接OpenStack或者NFS.
這是我們需要的一個統一存儲,下面的Rados為是高可用、高可靠無縫拓展的,上面是提供快速對接的,還有CephGRW是對應用直接提供的接口,而且可以使用其他的插件,還有一個CephFS可以提供一個文件系統的接口,也可以跟OpenStack做一個對接.
這個是Ceph統一存儲的部署架構,OSD主要提供存儲資源,MON主要是維護狀態,其他主要是提供對外的服務,只提供存儲是OpenStack跟MON直接進行加護,整個集群所有的都是全分布式的,而且沒有故障的,帶來的好處就是性能強.
我們拿OpenStack舉例,對于OpenStack來說有很多需要使用存儲后端的,NOVA虛擬機可以直接使用,虛擬機可以快速的啟動,而不需要下載到本地再啟動,因為下載會速度非常慢,我通過這個存儲就可以很快,另外是一個新的平臺也可以直接的使用整個集群的.
另外一個好處就是我經常存在這里,虛擬機啟動以后可以減少整個數據的復制鏈路,就把整個語音操作下發到Ceph去做,這樣就可以快速的去做,這邊是使用RADOS,這邊是MANLA.另外是個做一個計量,會把總的指標數據全部存下來,存在本地都沒有很好的解決以后尊出的高可用,假如直接用這個對接就可以讓你負責整個數據的分布.然后就是Ceph怎么做支持.
我們再來看一下為什么我們Ceph是開源首選的存儲方案,作為它是一個開源的方案,這會吸引非常多的開發者,而且可編程性強,可以持續改進,可以在上面提供很多的創造力,做有創造性的一些工作,激發開發者的創造力,因為Ceph是一個分布式的,我可以對接一些存儲系統,做更多的推薦,讓Ceph幫我做底層的分布式和高可用高可靠,另外它是一個硬件無關的系統,好處可以激發架構師的創作力,比如我要實現減少你的工作負擔,拿我應該使用怎樣的服務器都可以配置的.
另外它是一個合適的架構根河市的技術,因為云平臺對于擴展性還有元數據處理是非常強的,比如組件分布,對于Ceph來說可以部署在服務器上,這可以提高拓展性.
另外一個是元數據處理,我們知道一般的系統對于分塊主要兩種方式,第一個是做一次性的,計算出我到底板塊錯在哪里,還會做一個存儲,一些商業的存儲是查表.因為查表可以做很多高級特性,比如做消重、或者數據遷移、拍照等,但是Ceph里面就沒有把原數據做表格的形式,而且全部通過計算得到的,這樣是有一個元數據的.
還有一個是快照和克隆,對于OpenStack吸引力非常強,這樣你就可以快速的創建一個虛擬機,而且你可以創建快照,這個是可以實現的.還有另外一個,因為Ceph社區是非常強大的,會有BP級別的塊存儲,30PB級別的對象存儲這個都是社區的一些實踐.
我們這邊可能還會存在一些問題,就是分布式帶來的復雜性,為什么帶來復雜性,因為我們的分布式規模特別大,會對你的架構設計,因為你設計非常多的因素,特別像網絡、硬件等等,主要是通過網上的架構設計.比如我們的網絡架構,我后面怎么去做一個部署,怎么去分割網絡的流量,提高它最大的性能,還有服務器配置,我怎么充分利用CPU、SSD還有一個網卡的性能.三者的性能要是能夠均衡的,可以存儲池進行規劃,還有一個CRUSH MAP的設計,你要對自己集群的性能可靠性可用性要有一個權衡.還有你的數據流量也要權衡,還有一些自動化部署管理及優化.
另外一個問題,不同的Workload我們怎么優化,比如有些對容量有要求,所以我們可以做一些優化服務,比如硬件配置的優化,還有操作系統參數優化,因為我們知道有缺點會做一個調優,而且把它CPU全部榨干.
還有Ceph的參數優化,存儲池配置優化,可以做一些代碼的優化,還有架構優化.還有大規模部署的問題,比如你部署一兩百臺Ceph集群怎么做,像推土機一個小時部署起來,這涉及到Ceph集群生命周期管理,還有自動化圖形部署工具.
這是常見的一些運維操作優化,比如我們遇到一種情況,我們做一個30PB的集群,幾乎每周都會畫換幾塊盤,操作非常頻繁,這樣我們就可以直接換盤操作直接放在我們的自動化管理界面上,快速的做一個換盤,不需要手動的換,這樣可以避免你因為手動帶來的誤操作.
下面還有一個報警的工具.我們業提供產品,會有一個平臺主要是做管理和部署,目標是一個人一小時交付大規模的Ceph集群,像服務器初始化都可以通過圖形化的界面做操作,這是一個自動化部署安裝流程,剛開始部署的時候可能每一步都是你需要敲命令或者用其他配置起來,通過圖形化的界面可以把這些全部變更.
下面一些數據,還有故障排查,像網絡故障,因為網絡故障導致集群出問題,之前我們遇到一些非常奇葩的問題,比如交換機只能過小包不能過大包.硬件故障包括CPU等等,還有操作系統,大家可以在Mirantis直接下載.謝謝大家.
文章來自微信公眾號:云計算開源產業聯盟
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/4172.html