Cephadm 部署 ceph 集群

Linux
image-20241129094739776

一、前提准备

  1. 实验环境配置清单

四台虚拟机配置清单如下:

image-20241204153046609

PS:以上虚拟机均需要配置三块磁盘,每块磁盘配置大小 10GB 类似为 scsi

  1. 前置准备工作(所有虚拟机均需要操作)

a) 配置主机名

Hostnamectl set-hostname node1.example.com

Hostnamectl set-hostname node2.example.com

Hostnamectl set-hostname node3.example.com

Hostnamectl set-hostname node4.example.com

b) 关闭防火墙 systemctl disable –now firewalld

c) 关闭 SELINUX setenforce0

vim /etc/sysconfig/selinux

SELINUX=disabled

d) 配置 hosts 列表解析

Vim /etc/hosts

172.17.0.81 node1.example.com node1

172.17.0.82 node2.example.com node2

172.17.0.83 node3.example.com node3

172.17.0.84 node4.example.com node4

scp /etc/hosts root@node2:/etc/hosts

scp /etc/hosts root@node3:/etc/hosts

scp /etc/hosts root@node4:/etc/hosts

e) 配置时间同步

echo ‘server ntp.aliyun.com iburst’ >> /etc/chrony.conf

systemctl restart chronyd

systemctl enable chronyd(不将 chrony 设置为开机自启则后面添加主机报没有可用的时间源)

chronyc sources

二、在引导节点上下载 cephadm 脚本

  1. https://docs.ceph.com/ 在 ceph 的官网上获取指定版本的 cephadm

  2. wget https://github.com/ceph/ceph/raw/pacific/src/cephadm/cephadm (下载 pacific 16.2.11 版的 cephadm 部署脚本)

  3. chmod +x cephadm 添加可执行权限

  4. ./cephadm add-repo –release pacific 添加指定版本的 ceph 源

  5. ./cephadm install 安装 cephadm 工具

  6. cephadm install ceph-common 安装 ceph 的客户端工具

  7. 修改 cephadm 容器仓库

因为 cephadm 在 rockyLinux 上默认使用的 quay.io 的容器仓库,国内拉取速度非常慢甚至无法拉取,因此需要修改 cephadm 工具的容器仓库

先尝试执行三中的步骤在引导节点上部署单节点 mon 集群,如报错无法拉取再进行修改仓库配置

vim /usr/sbin/cephadm

DEFAULT_IMAGE = ‘quay.io/ceph/ceph:v16’

DEFAULT_IMAGE_IS_MASTER = False

DEFAULT_IMAGE_RELEASE = ‘pacific’

DEFAULT_PROMETHEUS_IMAGE = ‘quay.io/prometheus/prometheus:v2.33.4’

DEFAULT_NODE_EXPORTER_IMAGE = ‘quay.io/prometheus/node-exporter:v1.3.1’

DEFAULT_ALERT_MANAGER_IMAGE = ‘quay.io/prometheus/alertmanager:v0.23.0’

DEFAULT_GRAFANA_IMAGE = ‘quay.io/ceph/ceph-grafana:8.3.5’

DEFAULT_HAPROXY_IMAGE = ‘docker.io/library/haproxy:2.3’

DEFAULT_KEEPALIVED_IMAGE = ‘docker.io/arcts/keepalived’

DEFAULT_SNMP_GATEWAY_IMAGE = ‘docker.io/maxwo/snmp-notifier:v1.2.1’

DEFAULT_REGISTRY = ‘docker.io’ # normalize unqualified digests to this

将上面标红的镜像地址改为 uhub.service.ucloud.cn/cl260 如果该地址失效请自行配置镜像加速地址

三、在引导节点上部署单节点 mon 集群

cephadm bootstrap –mon-ip 172.17.0.81 –allow-fqdn-hostname –initial-dashboard-user

admin –initial-dashboard-password redhat –dashboard-password-noupdate

四、给单节点集群添加 OSD 磁盘

cephadm shell

ceph orch daemon add osd node1.example.com:/dev/sdb

ceph orch daemon add osd node1.example.com:/dev/sdc

ceph orch daemon add osd node1.example.com:/dev/sdd

五、给集群添加主机

ceph cephadm get-pub-key > ~/ceph.pub (获取集群公钥)

ssh-copy-id -f -i ~/ceph.pub root@node2 (拷贝到 node2)

ssh-copy-id -f -i ~/ceph.pub root@node3 (拷贝到 node3)

ceph orch host add node2.example.com (需要写完整的主机名)

ceph orch host add node3.example.com (需要写完整的主机名)

六、添加 mgr 节点

ceph orch daemon add –placement=node2.example.com

七、添加 mon 节点

ceph orch daemon add mon node2.example.com