Ceph介绍

Ceph的是一个大规模的、可扩展的、开源的分布式存储系统。它包括对象存储,块存储,并且符合是POSIX标准的分布式文件系统。Ceph具有自我修复和自我管理,并且没有单点故障等优点。 Ceph已经集成在了Linux(2.6.34之后)之中,并能很好的使用在OpenStack的云操作系统。因为它的开源性质,这种便携式存储平台可以安装和使用在公有云或私有云中。

 

RADOS:可靠的自主分布式对象存储(Reliable Autonomic Distributed Object Store )是一个对象存储系统。 RADOS管理的对象分布在整个存储集群中,并且通过复制对象达到容错的目的。它主要有3个主要组成部分:

对象存储设备( OSD ):存储守护进程 - RADOS服务,定位数据。该进程运行在集群中的每个服务器上。对于每一个OSD,都有一个与之映射关联的磁盘。为了达到提高性能的目的,最好是集中所有的磁盘如使用磁盘阵列,LVMBTRFS池。一台服务器将有一个守护进程运行。默认情况下,一个OSD将会有三个池将被创建:数据,元数据和RBD

元数据服务器(MDS):用来存储集群的元数据。 MDSCeph客户端对象之上构建POSIX文件系统。

监视器(MON):这个轻量级的守护进程用来处理与外部应用程序和客户端的所有通信。它还为Ceph/ RADOS集群的分布式决策提供了一个共识。例如,当您使用MON服务器中的某个被监控的IP在客户端上远程挂载Ceph共享盘时,这个共识就会检查状态和数据的一致性。建议在一个集群中至少要运行3 ceph-mon 守护进程。这是因为采用投票选举仲裁的方式,需要一个奇数。

Ceph的开发者建议使用BTRFS文件系统做存储,在生产环境中使用XFS也许更好。无论Ceph还是Btrfs文件系统都不是为生产做准备的。把它们放在一起,存在安全隐患。这就是为什么XFS是一个很好的替代BTRFS ext4文件系统是兼容的,但不能发挥Ceph的优势。

建议暂时先用XFS文件系统与Ceph搭配使用,若btrfs在生产环境下足够稳定,那么将使用它与Ceph搭配。

 

RADOS:作为一个对象,默认的存储结构。

RBD:作为一个块设备,linux内核中RBDRADOS block device)驱动允许在分布式数据对象存储对象上分离一块linux块设备出来,这是与KVMRBD镜像兼容的。

CephFS:作为一个文件,是符合POSIX标准的文件系统。

Ceph开放了它的一些分布式对象存储(RADOS)接口:

   RADOS Gateway:兼容SwiftAmazon-S3RESTful接口;

   librados:和C/C++相关的;

   rbdQEMU-RBDlinux内核和QEMU块设备。