ceph简介及简单安装步骤

Posted Well_Name

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ceph简介及简单安装步骤相关的知识,希望对你有一定的参考价值。


简介

Ceph 存储集群至少需要 1 个 Ceph Monitor 和 2 个 OSD 守护进程

运行Ceph 文件系统客户端时,则必须要有元数据服务器(Metadata Server )。

ceph简介及简单安装步骤_守护进程


  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存储集群造成负担的前提下,执行诸如lsfind等基本命令。
    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

ceph简介及简单安装步骤_linux_02

其他注意事项

你可以在同一主机上运行多个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


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

ceph简介及简单安装步骤_服务器_03

CPU

Ceph MDS元数据服务器对CPU 敏感,它会动态地重分布它们的负载,所以你的元数据服务器应该有足够的处理能力(如4 核或更强悍的CPU )。Ceph OSD 运行

RADOS 服务、用CRUSH 计算数据存放位置、复制数据、维护它自己的集群运行图副本,因此OSD 需要一定的处理能力(如双核CPU )。监视器只简单地维护着集群运行图的副本,因此对CPU 不敏感;但必须考虑机器以后是否还会运行Ceph 监视器以外的CPU 密集型任务。例如,如果服务器以后要运行用于计算的虚拟机(如OpenStack Nova ),你就要确保给黑苹果基础安装经验

ceph工作原理及安装

基于 Ceph 的 Kubernetes 数据持久化

Ceph架构简介及使用场景介绍

Ceph架构简介及使用场景介绍

Ceph架构简介及使用场景介绍