Ceph分佈式存儲介紹

在這裏插入圖片描述

Ceph官網

在這裏插入圖片描述
官網:https://ceph.io/
國內官網:http://docs.ceph.org.cn/
中國社區:http://ceph.org.cn/

Ceph簡介

Ceph是一種爲優秀的性能、可靠性和可擴展性而設計的,統一的分佈式文件系統。其中"統一"是指Ceph可以同時提供多種存儲功能,分別是:塊設備存儲,文件系統存儲和對象存儲

名稱由來

其命名和UCSC(Ceph 的誕生地)的吉祥物有關,這個吉祥物是 “Sammy”,一個香蕉色的蛞蝓,就是頭足類中無殼的軟體動物。這些有多觸角的頭足類動物,是對一個分佈式文件系統高度並行的形象比喻。
Ceph 最初是一項關於存儲系統的 PhD 研究項目,由 Sage Weil 在 University of California, SantaCruz(UCSC)實施。

應用場景

1)框架存儲,因其可擴容性,高可用及多種存儲功能等特性,使其非常適用於OpenStack或CloudStack等雲計算框架的存儲後端。

2)存儲集羣,可搭建Ceph分佈式文件系統羣集,專門用來存放業務數據。

3)底層支持,可以作爲其他服務的存儲支持,例如:容器,FTP服務等等。

Ceph存儲優點

高可用性
Ceph支持數據副本,並且可以根據環境自行定義,因爲是分佈式的原因,一臺Ceph節點宕掉後,在其他Ceph節點中有相應數據的副本,不用擔心數據丟失,安全可靠。

高性能
因爲是多個副本的原因,在讀寫操作時能夠做到高度並行化。節點越多,整個集羣的IOPS和吞吐量越高,而且Ceph客戶端讀寫數據是直接與存儲設備交互的。

高擴展性
擴容比較方便,支持擴展容量比較大,並沒有集羣的數量限制(Ceph聲稱可以無限擴展),能夠管理數千臺服務器,支持EB級別的容量。

CRUSH算法
Crush算法是Ceph的兩大創新之一,通過Crush算法的尋址操作,Ceph得以摒棄了傳統的集中式存儲元數據尋址方案。而Crush算法在一致性哈希基礎上很好的考慮了容災域的隔離,使得Ceph能夠實現各類負載的副本放置規則,例如跨機房、機架感知等。同時,Crush算法有相當強大的擴展性,理論上可以支持數千個存儲節點,這爲Ceph在大規模雲環境中的應用提供了先天的便利。

統一存儲
Ceph能夠同時提供對象存儲、塊存儲和文件系統存儲三種存儲服務的統一存儲架構,因此能夠滿足不同應用需求前提下的簡化部署和運維,這是Ceph被OpenStack用戶熱衷的最主要原因。

Ceph的三種存儲方式

Ceph三種存儲方式:
Object(對象存儲):有原生的API,而且也兼容Swift和S3的API。
Block(塊設備存儲):支持精簡配置、快照、克隆。
File(文件系統存儲):Posix接口,支持快照。

在這裏插入圖片描述

塊存儲

由Ceph集羣提供出來的塊設備名稱爲rbd,我們電腦或筆記本中的硬盤是通過數據線進行連接的,而rbd是通過網絡連接到Ceph集羣中的一塊存儲區域,往rbd設備文件寫入數據,最終會被存儲到Ceph集羣的一塊區域中。

用戶可以直接使用不含文件系統的塊設備(存儲設備),也可以將其指定需要的文件系統,由文件系統來組織管理存儲空間,從而爲用戶提供豐富而友好的數據操作支持。

塊存儲有着優異的讀寫性能,用戶通過掛載來使用rbd設備,但不能多處掛載同時讀寫,不具備共享性,相當於使用本地磁盤一樣,不可共享數據。

文件系統存儲

Ceph集羣可以通過自己的文件系統來管理集羣的存儲空間,使用者可以直接將Ceph集羣的文件系統掛載到主機上使用。

塊存儲有着優異的讀寫性能,但不能多處掛載同時讀寫,文件系統存儲解決了塊存儲在共享方面的不足,可以同時多處掛載讀寫,但讀寫性能相對較差。

對象存儲

對象存儲,也就是鍵值存儲,通過接口指令,例如:GET,PUT,DEL等指令,向Ceph集羣上傳下載數據等。對象存儲中所有數據都被認爲是一個對象,任何數據都可以存入Ceph集羣的對象存儲服務器,如圖片、視頻、音頻等。

單說塊存儲和文件系統存儲,都有各自的優缺,而對象存儲在二者基礎上進行調整,既具有共享性,又在存儲方面性能強於文件系統存儲,這就是對象存儲的出現。

Ceph組件說明

OSD(Object Storage Device)
用於集羣中所有數據和對象的存儲,處理集羣數據的複製、恢復、回填、再均衡,與其它OSD間進行心跳檢查等,並將一些變化情況上報給Ceph Monitor。

Monitors
Ceph Monitor負責監視Ceph集羣,維護Ceph集羣的健康狀態,同時維護着Ceph集羣中的各種Map圖,包括監視器圖、OSD 圖、歸置組( PG )圖、和 CRUSH 圖。

MDS(MetaData server)
Ceph 元數據服務器(MDS)爲 Ceph 文件系統存儲元數據,但對象存儲和塊存儲設備是不需要使用該服務。元數據服務器使得 POSIX 文件系統的用戶可以在不對 Ceph 存儲集羣造成負擔的前提下,執行諸如 ls、find 等基本命令。

Mgr(Manager Daemon)
主要作用是分擔和擴展monitor的部分功能,減輕monitor的負擔,讓更好地管理ceph存儲系統。

Ceph架構

在這裏插入圖片描述
RADOS
全稱(Reliable, Autonomic, Distributed Object Store),RADOS是一個可靠的、自主的、分佈式的對象存儲系統,Ceph的高可靠、高可拓展、高性能、高自動化都是由這一層來提供的,用戶數據的存儲最終也都是通過這一層來進行存儲的,RADOS可以說就是Ceph的核心。

LIBRADOS
LIBRADOS爲一個公共庫,塊存儲和對象存儲都依賴該動態庫對外提供存儲服務,其允許應用程序通過訪問該庫來與RADOS系統進行交互,而且支持多種編程語言。

RADOS GateWay
對象存儲網關,也是對象存儲接口,是一個基於RESTFUL協議的網關。

RBD
塊設備,塊存儲接口。

Ceph FS
Ceph分佈式文件系統,也是文件系統存儲接口。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章