iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 6
0
DevOps

30天完成本地部署 kubernetes系列 第 6

使用 Ceph 實現高可用的持久化儲存(1):Ceph 基本介紹

  • 分享至 

  • xImage
  •  

選擇 Ceph 作為 Kubernetes 的持久化儲存

本地部署 Kubernetes 的困難之一,在於持久化儲存如何埃到高可用性,避免單點失敗造成工作負載的狀態不可用。

選擇 Ceph 除了可避免儲存的單點失敗外,其提供的 CephFS 也可以支援 ReadWriteMany,讓多個工作負載可以同時寫入同一個 volume。

Ceph 的基本介紹

Ceph 作為軟體定義的分散式儲存系統,具有高可用性、可平行擴展、無單點失敗、且具有一定自我修復能力等特性。

Ceph 的預設配置,將資料以 3 個副本的形式,儲存在不同節點上,從而避免單一節點故障時,造成資料遺失的問題。

Ceph 的核心慨念是 CRUSH map 及 pg。基本運作原理,以 object 為儲存單元,並以 oid 計算出 pgid,決定該 object 儲存於那個 pg。再透過 CRUSH map,決定 pg 實際應儲存的 osd 為何。

為了部署 Ceph/CephFS,需要建立以下節點:

  1. mon:作為整個群集的管理節點,mon 保存了群集的狀態,包含 CRUSH map、osd map、monitor map、及 manager map。需要至少 3 個 mon 節點,可在損失 1 個 mon 節點的情形下,保持群集的可用性。
  2. osd:作為資料儲存的節點。需要至少 3 台主機,分別提供 1 個以上的 osd 節點,才能在損失 1 個 osd 節點的情形下,保持資料的可用性。
  3. mgr:提供群集的使用狀態、監控功能的節點。需要至少 2 個 mgr 節點以保持高可用性。
  4. mds:提供相容於 POSIX 的檔案系統功能。可以部署 1 個 active mds 及 1 個 standby mds 以保持高可用性。

參考

  1. https://kubernetes.io/docs/concepts/storage/volumes/#types-of-volumes
  2. https://kubernetes.io/docs/concepts/storage/persistent-volumes/
  3. https://docs.ceph.com/docs/master/start/intro/

上一篇
測試環境部署前準備(2):安裝作業系統
下一篇
使用 Ceph 實現高可用的持久化儲存(2):Ceph 部署環境及工具介紹
系列文
30天完成本地部署 kubernetes30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言