ceph简介及简单安装步骤

学向勤中得,萤窗万卷书。这篇文章主要讲述ceph简介及简单安装步骤相关的知识,希望能为你提供帮助。


简介
Ceph 存储集群至少需要 1 个 Ceph Monitor 和 2 个 OSD 守护进程
运行Ceph 文件系统客户端时,则必须要有元数据服务器(Metadata Server )。?



  1. Ceph OSDs: ??Ceph OSD 守护进程??( Ceph OSD )的功能:存储数据,处理数据的复制、恢复、回填、再均衡,并通过检查其他OSD 守护进程的心跳来向Ceph Monitors 提供一些监控信息。当Ceph 存储集群设定为有2 个副本时,至少需要2 个OSD 守护进程,集群才能达到active+clean 状态( Ceph 默认有3 个副本,但你可以调整副本数)。?
  2. Monitors: ??Ceph Monitor ??维护着展示集群状态的各种图表,包括监视器映射、OSD 映射、归置组( PG )映射、和CRUSH 映射。Ceph 保存着发生在Monitors 、OSD 和PG 上的每一次状态变更的历史信息(称为epoch )。?
  3. MDSs: ??Ceph 元数据服务器??(MDS )为??Ceph 文件系统??存储元数据(也就是说,Ceph块设备和Ceph对象存储不使用MDS)。元数据服务器使得POSIX文件系统的用户们,可以在不对Ceph存储集群造成负担的前提下,执行诸如ls、find等基本命令。
    Ceph 把客户端数据保存为存储池内的对象。通过使用CRUSH 算法,Ceph 可以计算出哪个归置组(PG)应该持有指定的对象(Object),然后进一步计算出哪个OSD 守护进程持有该归置组。CRUSH 算法使得Ceph 存储集群能够动态地伸缩、再均衡和修复。
硬件推荐Ceph 为普通硬件设计,这可使构建、维护PB 级数据集群的费用相对低廉。规划集群硬件时,需要均衡几方面的因素,包括区域失效和潜在的性能问题。硬件规划要包含把使用Ceph 集群的Ceph 守护进程和其他进程恰当分布。通常,我们推荐在一台机器上只运行一种类型的守护进程。我们推荐把使用数据集群的进程(如OpenStack 、CloudStack 等)安装在别的机器?
上。?
  1. 写密集语义:记日志涉及写密集语义,所以你要确保选用的SSD 写入性能和硬盘相?当或好于硬盘。廉价SSD 可能在加速访问的同时引入写延时,有时候高性能硬盘的写入速度可以和便宜SSD 相媲美。?
  2. 顺序写入:在一个SSD 上为多个OSD 存储多个日志时也必须考虑SSD 的顺序写入极限,因为它们要同时处理多个OSD 日志的写入请求。?
  3. 分区对齐:采用了SSD的一个常见问题是人们喜欢分区,却常常忽略了分区对齐,这会导致SSD 的数据传输速率慢很多,所以请确保分区对齐了。
    SSD 用于对象存储太昂贵了,但是把OSD 的日志存到SSD 、把对象数据存储到独立的硬盘可以明显提升性能。osd journal选项的默认值是/var/lib/ceph/osd/$cluster-$id/journal,你可以把它挂载到一个SSD 或SSD 分区,这样它就不再是和对象数据一样存储在同一个硬盘上的文件了。

    提升CephFS 文件系统性能的一种方法是从CephFS 文件内容里分离出元数据。Ceph 提供了默认的metadata存储池来存储CephFS 元数据,所以你不需要给CephFS 元数据创建存储池,但可以给它创建一个仅指向某主机SSD 的CRUSH 运行图。详见??给存储池指定OSD ??。
控制器?硬盘控制器对写吞吐量也有显著影响,要谨慎地选择,以免产生性能瓶颈。
Tip

其他注意事项?
你可以在同一主机上运行多个OSD ,但要确保OSD 硬盘总吞吐量不超过为客户端提供读写服务所需的网络带宽;还要考虑集群在每台主机上所存储的数据占总体的百分比,如果一台主 机所占百分比太大而它挂了,就可能导致诸如超过full ratio 的问题,此问题会使Ceph 中止运作以防数据丢失。?
如果每台主机运行多个OSD ,也得保证内核是最新的。参阅??操作系统推荐??里关于glibc 和syncfs(2) 的部分,确保硬件性能可达期望值。?
  1. Ceph 内核态客户端
    当前我们推荐:
  1. 4.1.4 or later?
  2. 3.16.3 or later (rbd deadlock regression in 3.16.[0-2])?
  3. NOT v3.15.* (rbd deadlock regression)?o 3.14.*?

    如果您坚持用很旧的,可以考虑这些:?

    o 3.10.*?
  1. B-tree文件系统(Btrfs)
    如果您想在btrfs上运行Ceph ,我们推荐使用一个最新的Linux 内核(3.14 或更新)。
系统平台
下面的表格展示了Ceph 需求和各种Linux 发行版的对应关系。一般来说,Ceph 对内核和系统初始化阶段的依赖很少(如sysvinit 、upstart 、systemd )。?
INFERNALIS (9.1.0)?


Distro?


Release?


Code Name?


Kernel?


Notes?


Testing?


CentOS?


7?


N/A?


linux-3.10.0?




B, I, C?
【ceph简介及简单安装步骤】

Debian?


8.0?


Jessie?


linux-3.16.0?


1, 2?


B, I?


Fedora?


22?


N/A?


linux-3.14.0?




B, I?


RHEL?


7?


Maipo?


linux-3.10.0?




B, I?


Ubuntu?


14.04?


Trusty Tahr?


linux-3.13.0?




B, I, C?
HAMMER (0.94)?


Distro?


Release?


Code Name?


Kernel?


Notes?


Testing?
  1. 1: 默认内核 btrfs 版本较老,不推荐用于 ceph-osd 存储节点;要升级到推荐的内核,或者改用 xfs 、 ext4 。?
  2. 2: 默认内核带的Ceph 客户端较老,不推荐做内核空间客户端(内核RBD 或Ceph 文件系统),请升级到推荐内核。?
  3. 3: 默认内核或已安装的 glibc 版本若不支持 syncfs(2) 系统调用,同一台机器上使用 xfs 或 ext4 的 ceph-osd 守护进程性能不会如愿。?
    测试版?
  4. B: 我们会为此平台构建发布包。对其中的某些平台,可能也会持续地编译所有分支、做基本单元测试。?
  5. I: 我们在这个平台上做基本的安装和功能测试。?
  6. C: 我们在这个平台上持续地做全面的功能、退化、压力测试,包括开发分支、预发布版本、正式发布版本。?
  7. ??获取二进制包???
  8. ??获取源码包???
  9. ??克隆源码???
  10. ??构建Ceph??
获取二进制包
要安装Ceph 及其依赖软件,你需要参考本手册从Ceph 软件库下载,然后继续看??安装Ceph????象存储??。?
获取软件包?有两种方法获取软件包:?
  1. 增加源:增加源是获取二进制包的最简方法,因为多数情况下包管理工具都能自动下载、并解决依赖关系。然而,这种方法要求各??Ceph 节点??都能连接互联网。?
  2. 手动下载:如果你的环境不允许??Ceph 节点??访问互联网,手动下载软件包安装Ceph
Tip

CPU

Ceph (MDS)元数据服务器对CPU 敏感,它会动态地重分布它们的负载,所以你的元数据服务器应该有足够的处理能力(如4 核或更强悍的CPU )。Ceph 的OSD 运行?
着??RADOS ??服务、用??CRUSH ??计算数据存放位置、复制数据、维护它自己的集群运行图副本,因此OSD 需要一定的处理能力(如双核CPU )。监视器只简单地维护着集群运行图的副本,因此对CPU 不敏感;但必须考虑机器以后是否还会运行Ceph 监视器以外的CPU 密集型任务。例如,如果服务器以后要运行用于计算的虚拟机(如OpenStack Nova ),你就要确保给

    推荐阅读