分布式云存储Ceph部署方法

Ceph是一个分布式存储系统,提供对象,块和文件存储,是一个免费开源软件的存储解决方案,随着云计算的发展,Ceph搭上Openstack这趟快车,成为了开源社区备受关注的项目之一。

系统配置

系统架构

主机名 主机IP 功能
cephmgr 10.10.200.150 ceph-deploy
ceph01 10.10.200.181 ceph-mon
ceph02 10.10.200.182
ceph03 10.10.200.183
osd01 10.10.100.201 ceph-osd
osd02 10.10.100.202

说明:

  • Ceph管理节点可以安装在openstack的控制节点,甚至可以部署集群。
  • 可以将ceph-deploy部署在任意节点,建议部署在一个独立的节点。
  • 建议每个osd节点单独一块系统磁盘(sda),用于安装操作系统。
  • 建议每个osd节点单独一块日志磁盘(sdb),而且最好是SSD,用于存储OSD日志。
  • 日志磁盘分成与挂载的OSD磁盘等数量的分区,即挂载了多少块OSD磁盘就分多少个区。
  • 文件系统均使用官方推荐的xfs,OSD日志分区不需要创建文件系统,由ceph自己管理。
  • 也可以使用现成的文件系统划分目录或分区给OSD,但不建议这种方案,本文也不讲。

所有节点需要调整防火墙规则、解析主机名、同步时钟,以及最好免密登录等,方法略……

配置yum源(所有节点)

编辑/etc/yum.repos.d/CentOS-Ceph-Luminous.repo

部署ceph-deploy(管理节点)

可以将ceph集群直接部署在openstack的控制节点,如果独立安排服务器,同样需要调整防火墙规则、解析主机名、同步时钟,以及免密登录等。

以下操作均在管理节点执行,部署前先了解几个名词:

名词 说明
fsid 集群唯一标识,通常用uuid表示
cluster name 集群名称,可以不指定,默认是ceph
monitor map 集群内MON节点的map,用于MON节点之间互相发现
monitor keyring 集群内MON节点之间通信所用的KEY
administrator keyring 客户端通过admin用户及KEY与服务端通信

0x01 创建工作目录

0x02 安装ceph-deploy

部署ceph-mon(管理节点)

1x01 安装ceph-mon

1x02 创建ceph-mon集群

集群创建成功后,会自动生成配置文件/etc/ceph/ceph.conf,默认无需修改,建议根据实际需求进行调整。

备注:所有需要连接ceph的openstack节点都需要安装ceph,并复制如上配置文件。

关于pgp的说明,具体请参照官方文档

  • OSD<5         pg_num=128
  • 5<OSD<10   pg_num=512
  • 10<OSD<50 pg_num=4096

1x03 配置ceph-mon

部署ceph-mgr(管理节点)

启动后,访问控制面板:http://10.10.200.181:7000,可以考虑加入haproxy。

附加知识

重建Ceph集群:

管理ceph-mon:

初始化磁盘(所有OSD节点)

在安装好ceph-mon后,即可初始化磁盘,本文案例以每个OSD节点4块数据盘、1块日志盘、1块系统盘为例。

3x01 对OSD数据盘分区

3x02 对OSD日志盘分区

每个数据盘对应一个日志分区,即有多少个数据盘,日志盘就得分多少个区。

建议搞一个自动分区脚本,以下是4个OSD磁盘的例子,请根据实际情况修改:

创建并激活OSD(所有OSD节点)

为防止磁盘格式不匹配,建议先通过disk zap命令重置磁盘后再创建OSD数据盘:

重复操作可以写成脚本:

以上操作也可以通过如下命令完成(先做osd01再做osd02):

查看OSD运行情况

原创文章禁止转载:技术学堂 » 分布式云存储Ceph部署方法

精彩评论

3+8=

感谢您的支持与鼓励

支付宝扫一扫打赏

微信扫一扫打赏