**前言:**2022年7月26日,使用cephadm进行ceph集群的搭建,使用ceph octopus版本,v15.2.16。
一、cephadm简介
Cephadm通过manager daemon SSH连接到主机部署和管理Ceph群集,以添加,删除或更新Ceph daemon containers。它不依赖于诸如Ansible,Rook或Salt的外部配置或编排工具。
Cephadm管理Ceph集群的整个生命周期。它首先在一个节点上引导一个微小的Ceph集群(one monitor and one manager),然后自动将集群扩展到多个主机节点,并提供所有Ceph守护程序和服务。这可以通过Ceph命令行界面(CLI)或仪表板(GUI)执行。Cephadm是Octopus v15.2.0版本中的新增功能,并且不支持旧版本的Ceph。
二、节点规划
组件 | 主机IP | 主机名 |
---|---|---|
cephadm、mon、mds、rgw、osd、mgr | 192.168.18.137 | node1 |
mon、mds、rgw、osd、mgr | 192.168.18.138 | node2 |
mon、mds、rgw、osd、mgr | 192.168.18.139 | node3 |
三、操作
1. 前期准备
1.1 配置主机名
#给各个节点配置提前规划的主机名
hostnamectl set-hostname node1 && bash
1.2 关闭selinux
sed -i s/SELINUX=.*/SELINUX=disabled/g /etc/selinux/config
setenforce 0
1.3 关闭firewalld
systemctl stop firewalld && systemctl disable firewalld
1.4 配置免密登录
#此步骤只在cephadm节点执行
ssh-keygen
ssh-copy-id root@192.168.18.138
ssh-copy-id root@192.168.18.139
1.5 配置hosts解析
#在cephadm节点配置完成使用scp传到各个节点
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.18.137 node1
192.168.18.138 node2
192.168.18.139 node3
1.6 配置时间同步
yum -y install chrony
systemctl start chronyd && systemctl enable chronyd
chronyc sources -v #查看同步的时间源服务器
1.7安装docker并配置加速源
#所有节点都需要安装
yum -y install docker-ce
[root@node1 ~]# cat /etc/docker/daemon.json
{
"registry-mirrors": ["https://p4s6awgf.mirror.aliyuncs.com"]
}
2. 部署集群
2.1 安装cephadm
#从github下载cephadm脚本
curl --silent --remote-name --location https://github.com/ceph/ceph/raw/quincy/src/cephadm/cephadm
#安装cephadm,ceph需要python3和epel源;在执行安装步骤有时会报错无效的gpg密钥,可以将ceph.repo文件中gpgcheck参数改成0,表示不适用密钥验证
#python3和epel源每个节点都需要安装,否则后续添加集群会报错
chmod +x cephadm
yum install -y epel-release
yum install -y python3
./cephadm add-repo --release octopus #使用cephadm脚本生成需要的yum源(可以替换为国内源提高下载速度)
sed -i 's#download.ceph.com#mirrors.aliyun.com/ceph#' /etc/yum.repos.d/ceph.repo #可选是否替换国内源
./cephadm install #安装cephadm
2.2 引导新的集群
#该命令的作用
在本地主机上为新集群创建monitor 和 manager daemon守护程序。
为Ceph集群生成一个新的SSH密钥,并将其添加到root用户的/root/.ssh/authorized_keys文件中。
将与新群集进行通信所需的最小配置文件保存到/etc/ceph/ceph.conf。
向/etc/ceph/ceph.client.admin.keyring写入client.admin管理(特权!)secret key的副本。
将p