Ceph是一个软件分布式储存平台,可运行在商用硬件上。为了了解Ceph的运行效率,我们首先要弄清哪些是商用硬件。商用笔记本是由多个硬件供应商提供的硬件组装而成的,供应商们开发这种硬件是基于同一个开放标准的。与超级微型计算机相比linux 分布式文件系统,商品笔记本的成本更低,而且它的开放标准能降低诸多硬件提供商提供的硬件差别性。Ceph储存集群运行在商用机上,为了确保集群中数据的分布式储存和良好的可扩充性linux命令大全,Ceph运用了知名的CRUSH(ControllledReplicationUnderScalableHashing)算法。Ceph开发的主要目标是提供高可扩充性和提供对象储存、块储存和文件系统的储存机制。Ceph提供一个单一的储存平台linux find,可以处理所有类型的数据储存(包括对象、块和文件)。它的高扩充性可以达到PB级,它还拥有高容错性和初三致性数据冗余机制。
TableofContents
Ceph的历史
在2004年linux 分布式文件系统,SageWeil开发了一个名叫Ceph的开源项目,并于2006年,基于开源合同开源了Ceph。Weil以前是“InktankStorage”公司的创始人。InktankStorage仍然专注于Ceph的研制,直至它被红帽竞购。2012年,Ceph的第一个稳定版本发布了。2014年10月,Ceph的开发团队发布了Ceph的第七个稳定版本Giant。为了让Ceph更加成熟与完美,这个项目还在继续开发中。
一个Ceph集群由两种类型的后台进程(Daemon)组成:
CephOSDDaemon
ObjectStorageDevice(OSD)是Ceph集群中的重要组成部份。OSD可以储存文件或数据的内容,它使用文件系统来储存数据。OSDDaemon主要负责管理集群中的所有c盘。OSDDaemon还负责在本地文件系统储存数据,并为不同的顾客软件或存取媒介通过网路提供数据访问。并且,OSDDaemon还负责添加和删掉c盘,c盘分区,管理OSD、低层空间管理,提供安全举措和c盘数据的可复制性。
CephMonitor
CephMonitor也是一种CephOSDDaemon,它主要负责管理全部集群。当你运行一个Ceph集群时,你都会须要CephMonitor每晚帮你检测集群的健康情况和状态。管理一个集群须要每晚做好多工作诸如测量所有OSD的状态和文件系统或块数据的状态。你可以通过CephMonitor来管理负载均衡和数据响应的详尽信息。为了更好的了解Ceph集群的工作原理,我们来瞧瞧它是怎样处理三种类型数据储存的机制。
CephObjectstorage
当向Ceph写入数据时,Ceph通过内部机制手动跨集群标记和复制数据。Ceph储存对象数据时,除了可以通过调用Ceph内部的API来实现,还可以通过亚马逊的S3服务或AWSREST提供的API来实现。Ceph块储存机制提供了RADOS(ReliableAutonomicDistributedObjectStore)服务。RADOS服务储存机制中不可或缺的;RADOS服务通过使用节点中安装的软件管理工具才能扩充千级的硬件设备(一般被应用为“Nodes“)。
CephBlockStorage
Ceph的块储存模式使用户可以像挂载一个大型块设备一样挂载Ceph。在块数据储存级别上,RADOS服务也保证块数据的可扩充性。Librados就是包含在这一级别上的一个python泛型,你可以使用librados泛型和储存服务器或节点进行通讯。Librados是一个开源的应用,你可以调整和提高它。Librados通过“RADOSBlockDevice“即RBD与后台进行交互。RBD除了承继了Librados的功能,还能否为集群构建快照和恢复数据。
CephFileStorage
CephFS是一个为Ceph集群设计的,且遵守POSIX标准的分布式文件系统。CephFS提供把数据目录和文件映射到储存在RADOS中对象的储存的服务。通过这些方法,CephFS和RADOS可以互相协作。在这儿,RADOS动态均等地把数据分布到不同的节点上。这些文件系统支持无限的数据储存和更强的数据安全性。在文件储存集群系统中,Ceph因提供容量大和高可扩充性而蜚声。请注意你可以同时把Ceph与btrfs或EXT4一起使用,但RedHat推荐使用最新Linux内核(3.14版本或则更新版本)。
推论
RedHat下的Ceph文件系统拥有性价比高、操作简单、集群数据高可靠性的特征。RedHat也仍然为Ceph投入了好多人力,这也确保了Bug可的跟进速率,以及新特点的引入。因为Ceph是开源的,所以你可以根据你的需求随便更改它。