2016年3月20日 星期日

Ceph 是什麼?

        接觸 Ceph 將近一年了,從我還是一個剛跨入社會的菜鳥到跨入社會一年的菜鳥。人生第一份工作就闖進我從未接觸的領域 --- 雲端儲存,也就是 Ceph 這個架構。


Ceph 是什麼?


        用條列式來簡單說明 Ceph 是什麼東東 :

  • Ceph 是儲存系統
  • Ceph 是軟體
  • Ceph 是 open source
  • Ceph + 硬體 就是儲存設備
  • Ceph 是一個 SDS (Software-defined Storage 軟體定義儲存)(就第 1 項 + 第 2 項阿 ...廢話)

        以上是對 Ceph 最表層的看想,當然 Ceph 架構中還有許多部分。但是我認為,要了解 Ceph 就要先對 "儲存" 先有一個基本的了解,才能明白 Ceph 的設計原理。許多 Ceph 介紹都會直接切入解析架構會導致都還沒搞清楚狀況就接收太多資訊,會消化不良阿~所以我想紀錄一些利於新手了解 Ceph 架構、運作、佈署、使用。便於大家踏入 Ceph 這塊領域。
       
        如果在網路上搜尋 Ceph 相關資訊,常常會看到 Ceph 會有很多種應用,像是 virtual image,block device,object storage,file system ....拉里拉扎。簡單來說 Ceph 這個儲存系統提供多種接口提供儲存服務。拿出幾乎每篇 Ceph 都會使用的圖片 :


from Ceph official site 
        目前 Ceph 提供幾種服務 :
  • Rados Gateway
  • RBD (Rados Block Device)
  • CephFS (Ceph File System)
  • librados
        在圖中最上面一列為對於 Ceph 儲存系統 server 的 client,提供儲存服務給所需的地方(App,VM,Host,Client....)。
        中間一列則為對於底層 Rados 的介面,這個圖比較有意思的地方為 librados (藍色區塊) 接在底層上並在其上有其他所有接口,意思為 Radosgw,RBD,CephFS 也都是使用 librados 實做出來的功能。所以想當然爾,要連接 Ceph 底層也可以透過自己使用 librados 實作來達成。(Ceph 更深入的架構解析以及操作或是問題討論會在其他文章中,以免會混淆這篇的主題)
        最底一層為 Rados,以我觀點,所謂的 Ceph Storage system 就是指 Rados (紅色區塊) 這部分,在圖中他上面的部分都是這個儲存系統與外界的接口。
        Ceph 為 C++ base 的 software,並且也是 open source,由本人偶像 Sage Weil 所帶領的 inktank 團隊所開發。目前其公司已經被併到 Redhat 旗下,Ceph 擁有 Redhat 支援後也帶入更多的資源,更多的關注。
        Ceph 目前雖然已經有發行的版本,但是還有許多未成熟的地方,可以讓我們一起嘗試了解並提供我們的意見,甚至 contribute 我們的 code 回去,成為 Ceph 這個 project 的一員,這也是 open source 的魅力吧。

       

沒有留言:

張貼留言