理解 Ceph 乙個開源的分布式儲存平台

2021-09-23 15:58:18 字數 1927 閱讀 2177

ceph是乙個軟體分布式儲存平台,可執行在商用硬體上。為了了解ceph的執行效率,我們首先要弄清什麼是商用硬體。商用電腦是由多個硬體**商提供的硬體組裝而成的,**商們開發這些硬體是基於同乙個開放標準的。與超級微型計算機相比,商品電腦的成本更低,並且它的開放標準能減少眾多硬體提供商提供的硬體差異性。ceph儲存集群執行在商用機上,為了確保集群中資料的分布式儲存和良好的可擴充套件性,ceph運用了著名的crush(controllled replication under scalable hashing)演算法。ceph開發的主要目標是提供高可擴充套件性和提供物件儲存、塊儲存和檔案系統的儲存機制。ceph提供乙個單一的儲存平台,可以處理所有型別的資料儲存(包括物件、塊和檔案)。它的高擴充套件性可以達到pb級,它還擁有高容錯性和高一致性資料冗餘機制。

在2023年,sage weil開發了乙個名叫ceph的開源專案,並於2023年,基於開源協議開源了ceph。weil 曾經是「inktank storage」公司的創始人。inktank storage一直專注於ceph的研發,直到它被紅帽收購。2023年,ceph的第乙個穩定版本發布了。2023年10月,ceph的開發團隊發布了ceph的第七個穩定版本giant。為了讓ceph更加成熟與完美,這個專案還在繼續開發中。

乙個ceph集群由兩種型別的後台程序(daemon)組成:

object storage device(osd)是ceph集群中的重要組成部分。osd可以儲存檔案或資料的內容,它使用檔案系統來儲存資料。osd daemon主要負責管理集群中的所有磁碟。osd daemon還負責在本地檔案系統儲存資料,並為不同的客戶軟體或訪問媒介通過網路提供資料訪問。而且,osd daemon還負責新增和刪除磁碟,磁碟分割槽,管理osd、低層空間管理,提供安全措施和磁碟資料的可複製性。

ceph monitor也是一種ceph osd daemon,它主要負責管理全部集群。當你執行乙個ceph集群時,你就會需要ceph monitor每天幫你檢查集群的健康情況和狀態。管理乙個集群需要每天做很多任務作比如檢測所有osd的狀態和檔案系統或塊資料的狀態。你可以通過ceph monitor來管理負載均衡和資料響應的詳細資訊。為了更好的了解ceph集群的工作原理,我們來看看它是如何處理三種型別資料儲存的機制。

當向ceph寫入資料時,ceph通過內部機制自動跨集群標記和複製資料。ceph儲存物件資料時,不僅可以通過呼叫ceph內部的api來實現,還可以通過亞馬遜的s3服務或aws rest提供的api來實現。ceph塊儲存機制提供了rados(reliable autonomic distributed object store)服務。rados服務儲存機制中不可或缺的;rados服務通過使用節點中安裝的軟體管理工具能夠擴充套件千級的硬體裝置(通常被應用為「nodes「)。

ceph的塊儲存模式使使用者可以像掛載乙個小型塊裝置一樣掛載ceph。在塊資料儲存級別上,rados服務也保證塊資料的可擴充套件性。librados就是包含在這一級別上的乙個python類庫,你可以使用librados類庫和儲存伺服器或節點進行通訊。librados是乙個開源的應用,你可以調整和增強它。librados通過「rados block device「即rbd與後台進行互動。rbd不僅繼承了librados的功能,還能夠為集群建立快照和恢復資料。

cephfs 是乙個為ceph集群設計的,且遵循posix標準的分布式檔案系統。cephfs提供把資料目錄和檔案對映到儲存在rados中物件的儲存的服務。通過這種方式,cephfs和rados可以相互協作。在這裡,rados動態均等地把資料分布到不同的節點上。這種檔案系統支援無限的資料儲存和更強的資料安全性。在檔案儲存集群系統中,ceph因提供容量大和高可擴充套件性而聞名。請注意你可以同時把ceph與btrfs或ext4一起使用,但red hat推薦使用最新linux核心(3.14版本或者更新版本)。

red hat下的cep**件系統擁有價效比高、操作簡單、集群資料高可靠性的特點。redhat也一直為ceph投入了很多人力,這也確保了bug可的跟進速度,以及新特性的引入。由於ceph是開源的,所以你可以按照你的需求隨意修改它。

分布式的理解

多個節點通過網路通訊 組成乙個完成共同目標 協調工作的系統。目的是解決單台普通計算機的無法完成的儲存 計算的問題,尤其是在公升級伺服器效能特別昂貴時。優點 1,效能提公升,多節點並行工作。2,可用性更高,節點之間互不影響,故障可以轉移。缺點 分布式系統需要大量機器協作,面臨諸多的挑戰 第一,異構的機...

與ceph的區別 Ceph分布式儲存高效能設計

隨著資料量的不斷增長,如何以高效的方式儲存資料量成為it界的乙個挑戰。許多傳統儲存解決方案不能滿足日益增長的需求,業界迫切需要一種新的方法來管理現今的資料,為使用者控制訪問時間,縮減管理成本。軟體定義的儲存解決方案是儲存大量資料的乙個新興方案。當代網路,雲計算 大資料技術的應用使得資料呈指數增長,每...

編寫乙個redis分布式鎖

分布式鎖 無論集群伺服器有多少臺,使用了該分布式鎖之後都可以統一的對某乙個資源進行鎖定 某個使用者加鎖之後只有他將分布式鎖釋放了才能讓其它的人操作資源。redis分布式鎖 根據redis中的乙個key的是否存在來實現的 如果key不存在則說明沒有人加鎖,所以建立key成功表示鎖獲取到了 如果key存...