Ceph 知識摘錄 系統架構 資料儲存過程

2022-07-16 06:42:12 字數 2108 閱讀 9996

ceph系統基礎服務架構

ceph的底層實現是rados,它向外界暴露了呼叫介面,即librados,應用程式只需要呼叫librados的介面,便可操縱ceph。ceph物件儲存閘道器允許你通過swift及s3 api訪問ceph。他將這些api請求轉化為librados請求。

1、基礎儲存系統rados

本身是乙個完整的物件儲存系統,ceph系統使用者資料最終由這一層儲存,高可靠性、高擴充套件性、高自動化等特性本質由這一層提供。rados由大量的儲存裝置節點組成,每個節點擁有自己的硬體資源(cpu、記憶體、硬碟、網路),並執行著作業系統和檔案系統。特點是crush演算法維護儲存物件與儲存伺服器的對應關係,實現物件的定址過程。

2、基礎庫librados

對rados進行抽象和封裝,向上層提供api,方便基於rados進行應用開發。librados實現的api也只是針對物件儲存功能。本地api,

通過socket與rados集群中的節點通訊並完成各種操作。(物件,塊及檔案三種訪問介面,它們都通過底層的librados與後端的osd互動)

3、高層應用介面

包含三部分:radosgw、rbd、cephfs,作用librados庫的基礎上提供抽象層次更高、更便於應用或客戶端使用的上層介面。基於rados實現了乙個且相容swift和s3的儲存系統radosgw。以及乙個塊裝置驅動rbd。

4、應用層

基於librados直接開發的物件儲存應用,基於rados gw開發的物件儲存應用,基於rbd實現的雲硬碟等等。

librados和radosgw的區別

librados和radosgw的區別在於,librados提供的是本地api,而radosgw 提供的則是restful api。

radosgw針對物件儲存應用開發者和物件儲存應用使用者;librados中沒有賬戶、容器這樣的高層概念,向開發者開放了大量的rados狀態資訊與配置引數,對系統儲存策略進行控制。

ceph資料儲存過程

1. file —— 此處的file就是使用者需要儲存或者訪問的檔案。對於乙個基於ceph開發的物件儲存應用而言,這個file也就對應於應用中的「物件」,也就是使用者直接操作的「物件」。

2. ojbect —— 此處的object是rados所看到的「物件」。object與上面提到的file的區別是,object的最大size由rados限定(通常為2mb或4mb),以便實現底層儲存的組織管理。當上層應用向rados存入size很大的file時,需要將file切分成統一大小的一系列object(最後乙個的大小可以不同)進行儲存。

3. pg(placement group)——pg的用途是對object的儲存進行組織和位置對映。具體而言,乙個pg負責組織若干個object(可以為數千個甚至更多),但乙個object只能被對映到乙個pg中,即,pg和object之間是「一對多」對映關係。同時,乙個pg會被對映到n個osd上,而每個osd上都會承載大量的pg,即,pg和osd之間是「多對多」對映關係(副本關係)。在實踐當中,n至少為2,如果用於生產環境,則至少為3。乙個osd上的pg則可達到數百個。事實上,pg數量的設定牽扯到資料分布的均勻性問題。

4. osd —— 即object storage device,osd的數量事實上也關係到系統的資料分布均勻性,因此其數量不應太少。在實踐當中,至少也應該是數十上百個的量級才有助於ceph系統的設計發揮其應有的優勢。

ceph中的定址至少要經歷以下三次對映:(file---->rados層面object--->pg---->osd)

1. file -> object對映

將使用者要操作的file,對映為rados能夠處理的object。本質上就是按照object的最大size對file進行切分。這種切分的好處有二:一是讓大小不限的file變成最大size一致、可以被rados高效管理的object;二是讓對單一file實施的序列處理變為對多個object實施的並行化處理。

2. object -> pg對映

在file被對映為乙個或多個object之後,需要將每個object獨立地對映到乙個pg中去。

3. pg -> osd對映

第三次對映就是將作為object的邏輯組織單元的pg對映到資料的實際儲存單元osd。

Ceph 知識摘錄 效能測試 2

清理快取命令 echo 3 proc sys vm drop caches 清除快取頁,目錄項和inodes 磁碟效能測試 dd 測試磁碟寫吞吐量 dd命令對磁碟進行標準寫測試。記住新增oflag引數以繞過磁碟頁面快取。dd if dev zero of var lib ceph osd wc01 ...

Ceph 知識摘錄 設計思想,集群維護

動態特性 儲存系統規模變化 業務規模 儲存系統裝置變化 節點 磁碟故障替換必然是時常出現的問題,業務不能受到這種硬體 底層軟體影響 儲存系統資料變化 技術特性 高可靠性 盡可能保證儲存資料不會丟失,使用者將資料寫到ceph儲存系統過程中,不會出現意外導致資料丟失 使用者寫入 儲存資料不丟失 高度自動...

資料庫相關知識摘錄

一 dos下運算元據庫命令 1 檢視當前有哪些資料庫 show database 2 建立資料庫 create database 庫名 庫名不能以數字開頭 3 選中資料庫 use 庫名 4 建立表 create table 表名 xh int primary key,xm varcher 20 no...