理解Ceph:一個開源的分布式存儲平臺
Ceph是一個符合POSIX、開源的分布式存儲系統。最初由Sage Weill于2007年開發,Ceph的主要目標是設計成基于POSIX的沒有單點故障的分布式文件系統,使數據能容錯和無縫的復制。本文詳細介紹了Ceph的歷史和架構。
Ceph是一個軟件分布式存儲平臺,可運行在商用硬件上。為了了解Ceph的運行效率,我們首先要弄清什么是商用硬件。商用電腦是由多個硬件供應
商提供的硬件組裝而成的,供應商們開發這些硬件是基于同一個開放標準的。與超級微型計算機相比,商品電腦的成本更低,并且它的開放標準能減少眾多硬件提供
商提供的硬件差異性。Ceph存儲集群運行在商用機上,為了確保集群中數據的分布式存儲和良好的可擴展性,Ceph運用了著名的CRUSH(Controllled
Replication Under Scalable
Hashing)算法。Ceph開發的主要目標是提供高可擴展性和提供對象存儲、塊存儲和文件系統的存儲機制。Ceph提供一個單一的存儲平臺,可以處理
所有類型的數據存儲(包括對象、塊和文件)。它的高擴展性可以達到PB級,它還擁有高容錯性和高一致性數據冗余機制。
Ceph的歷史
在2004年,Sage Weil開發了一個名叫Ceph的開源項目,并于2006年,基于開源協議開源了Ceph。Weil 曾經是“Inktank Storage”公司的創始人。Inktank Storage一直專注于Ceph的研發,直到它被紅帽收購。2012年,Ceph的第一個穩定版本發布了。2014年10月,Ceph的開發團隊發布了 Ceph的第七個穩定版本Giant。為了讓Ceph更加成熟與完美,這個項目還在繼續開發中。一個Ceph集群由兩種類型的后臺進程(Daemon)組成:
- OSD Daemon
- Ceph Monitor
Ceph OSD Daemon
Object Storage Device(OSD)是 Ceph集群中的重要組成部分。OSD可以存儲文件或數據的內容,它使用文件系統來存儲數據。OSD Daemon主要負責管理集群中的所有磁盤。OSD Daemon還負責在本地文件系統存儲數據,并為不同的客戶軟件或存取媒介通過網絡提供數據訪問。而且,OSD Daemon還負責添加和刪除磁盤,磁盤分區,管理OSD、低層空間管理,提供安全措施和磁盤數據的可復制性。Ceph Monitor
Ceph Monitor也是一種Ceph OSD Daemon,它主要負責管理全部集群。當你運行一個Ceph集群時,你就會需要Ceph Monitor每天幫你檢查集群的健康情況和狀態。管理一個集群需要每天做很多工作比如檢測所有OSD的狀態和文件系統或塊數據的狀態。你可以通過 Ceph Monitor來管理負載均衡和數據響應的詳細信息。為了更好的了解Ceph集群的工作原理,我們來看看它是如何處理三種類型數據存儲的機制。Ceph Object storage
當向Ceph寫入數據時,Ceph通過內部機制自動跨集群標記和復制數據。Ceph存儲對象數據時,不僅可以通過調用Ceph內部的API來實 現,還可以通過亞馬遜的S3服務或AWS REST提供的API來實現。Ceph塊存儲機制提供了RADOS(Reliable Autonomic Distributed Object Store)服務。RADOS服務存儲機制中不可或缺的;RADOS服務通過使用節點中安裝的軟件管理工具能夠擴展千級的硬件設備(通常被應用為 “Nodes“)。
Ceph Block Storage
Ceph的塊存儲模式使用戶可以像掛載一個小型塊設備一樣掛載Ceph。在塊數據存儲級別上,RADOS服務也保證塊數據的可擴展性。 Librados就是包含在這一級別上的一個python類庫,你可以使用librados類庫和存儲服務器或節點進行通信。Librados是一個開源 的應用,你可以調整和增強它。Librados通過“RADOS Block Device“即RBD與后臺進行交互。RBD不僅繼承了Librados的功能,還能夠為集群建立快照和恢復數據。
Ceph File Storage
CephFS 是一個為Ceph集群設計的,且遵循POSIX標準的分布式文件系統。CephFS提供把數據目錄和文件映射到存儲在RADOS中對象的存儲的服務。通過 這種方式,CephFS和RADOS可以相互協作。在這里,RADOS動態均等地把數據分布到不同的節點上。這種文件系統支持無限的數據存儲和更強的數據 安全性。在文件存儲集群系統中,Ceph因提供容量大和高可擴展性而聞名。請注意你可以同時把Ceph與btrfs或EXT4一起使用,但Red Hat推薦使用最新Linux內核(3.14版本或者更新版本)。
結論
Red Hat下的Ceph文件系統擁有性價比高、操作簡單、集群數據高可靠性的特點。RedHat也一直為Ceph投入了很多人力,這也確保了Bug可的跟進速度,以及新特性的引入。由于Ceph是開源的,所以你可以按照你的需求隨意修改它。原文鏈接:Understanding Ceph - An Open Source Distributed Storage Platform(翻譯:占帥兵 校對:李穎杰)
來自:http://dockerone.com/article/307
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!