Ceph 存储集群第一部分:配置和部署

Posted 三度

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ceph 存储集群第一部分:配置和部署相关的知识,希望对你有一定的参考价值。

内容来源于官方,经过个人实践操作整理,官方地址:http://docs.ceph.org.cn/rados/

所有 Ceph 部署都始于 Ceph 存储集群。
基于 RADOS 的 Ceph 对象存储集群包括两类守护进程:term:对象存储守护进程( OSD )把存储节点上的数据存储为对象; term:Ceph 监视器( MON )维护集群运行图的主拷贝。

一个 Ceph 集群可以包含数千个存储节点,最简系统至少需要一个监视器和两个 OSD 才能做到数据复制。
Ceph 文件系统、 Ceph 对象存储、和 Ceph 块设备从 Ceph 存储集群读出和写入数据。

Ceph 存储集群的某些配置选项是必要的,但大多数都有默认值。典型部署是通过部署工具定义集群、并启动监视器的,关于 ceph-deploy 的详情见部署(http://docs.ceph.org.cn/rados/deployment/)。

配置

Ceph 作为集群时可以包含数千个对象存储设备(OSD)。最简系统至少需要二个 OSD 做数据复制。要配置 OSD 集群,你得把配置写入配置文件。 Ceph 对很多选项提供了默认值,你可以在配置文件里覆盖它们;另外,你可以使用命令行工具修改运行时配置。

Ceph 启动时要激活三类守护进程:

  • ceph-mon (必备)
  • ceph-osd (必备)
  • ceph-mds (cephfs必备)

各进程、守护进程或工具都会读取配置文件。一个进程可能需要不止一个守护进程例程的信息(即多个上下文);一个守护进程或工具只有关于单个守护进程例程的信息(单上下文)。

硬盘和文件系统

1.准备硬盘
Ceph 注重数据安全,就是说, Ceph 客户端收到数据已写入存储器的通知时,数据确实已写入硬盘。使用较老的内核(版本小于 2.6.33 )时,如果日志在原始硬盘上,就要禁用写缓存;较新的内核没问题。

用 hdparm 禁用硬盘的写缓冲功能。

sudo hdparm -W 0 /dev/hda 0

在生产环境,我们建议操作系统和 Ceph OSD 守护进程数据分别放到不同的硬盘。如果必须把数据和系统放在同一硬盘里,最好给数据分配一个单独的分区。

2.文件系统
Ceph 的 OSD 依赖于底层文件系统的稳定性和性能。

当前,我们推荐部署生产系统时使用 xfs 文件系统;推荐用 btrfs 做测试、开发和其他不太要紧的部署。我们相信,长远来看 btrfs 适合 Ceph 的功能需求和发展方向,但是 xfs 和 ext4 能提供当前部署所必需的稳定性。

OSD 守护进程有赖于底层文件系统的扩展属性( XATTR )存储各种内部对象状态和元数据。底层文件系统必须能为 XATTR 提供足够容量, btrfs 没有限制随文件的 xattr 元数据总量; xfs 的限制相对大( 64KB ),多数部署都不会有瓶颈; ext4 的则太小而不可用。

使用 ext4 文件系统时,一定要把下面的配置放于 ceph.conf 配置文件的 [osd] 段下;用 btrfs 和 xfs 时可以选填。

filestore xattr use omap = true

配置 Ceph

启动 Ceph 服务时,初始化进程会把一系列守护进程放到后台运行。 Ceph 存储集群运行两种守护进程:

  • Ceph 监视器 ( ceph-mon )
  • Ceph OSD 守护进程 ( ceph-osd )

要支持 Ceph 文件系统功能,它还需要运行至少一个 Ceph 元数据服务器( ceph-mds );支持 Ceph 对象存储功能的集群还要运行网关守护进程( radosgw )。为方便起见,各类守护进程都有一系列默认值(很多由 ceph/src/common/config_opts.h 配置),你可以用 Ceph 配置文件覆盖这些默认值。

1.配置文件

启动 Ceph 存储集群时,各守护进程都从同一个配置文件(即默认的 ceph.conf )里查找它自己的配置。手动部署时,你需要创建此配置文件;用部署工具(如 ceph-deploy 、 chef 等)创建配置文件时可以参考下面的信息。配置文件定义了:

  • 集群身份
  • 认证配置
  • 集群成员
  • 主机名
  • 主机 IP 地址
  • 密钥环路径
  • 日志路径
  • 数据路径
  • 其它运行时选项

默认的 Ceph 配置文件位置相继排列如下:

  • $CEPH_CONF (就是 $CEPH_CONF 环境变量所指示的路径);
  • -c path/path (就是 -c 命令行参数);
  • /etc/ceph/ceph.conf
  • ~/.ceph/config
  • ./ceph.conf (就是当前所在的工作路径)。

Ceph 配置文件使用 ini 风格的语法,以分号 (

以上是关于Ceph 存储集群第一部分:配置和部署的主要内容,如果未能解决你的问题,请参考以下文章

ceph部署二(存储集群安装)

二十八. Ceph概述 部署Ceph集群 Ceph块存储

精品轻松部署ceph分布式存储集群

精品轻松部署ceph分布式存储集群

[ ceph ] 基本介绍及硬件配置

ceph部署一个最小的ceph集群