Ubuntu22.04LTS基于cephadm快速部署Ceph Reef(18.2.X)集群

基础设置

在/etc/hosts文件里添加

192.168.146.10#(管理节点) ecph10

192.168.146.11 ecph11

192.168.146.12 ecph12

1.三个节点都要安装OpenSSH服务器

#更新软件包列表

apt update

#安装OpenSSH服务器

apt install -y openssh-server

#启动SSH服务

systemctl start sshd

#设置开机自启

systemctl enable sshd

#验证ssh服务状态

systemctl status ssh

2.在主节点生成SSH密钥

复制代码
ssh-keygen -t rsa -N "" -f /root/.ssh/id_rsa

无密码,直接回车

我这边是把三台虚拟机的root密码都换了传密钥才成功的

在三台虚拟机主机上执行 passwd root,按提示输入新密码,一定要记住!
复制代码
#在本地测试
ssh root@localhost
#给三个ceph传密钥
ssh root@192.168.146.10
ssh root@192.168.146.11
ssh root@192.168.146.12

出现以下内容就成功了:

上面的方法失败了,后来我又用以下命令传密钥成功的:

cd /etc/ceph

ssh-copy-id -f -i /etc/ceph/ceph.pub ceph11

ssh-copy-id -f -i /etc/ceph/ceph.pub ceph12

传密钥过程中出现了一个错误:

主机名与hosts文件里的主机名不一样

hostnamectl set-hostname ceph11 用这个命令该主机名,然后用 bash 刷新一下就好了

3.管理节点安装python3(忽略)

apt install -y python3

#下载完之后添加节点命令

#ceph orch host add yjy-virtual-machine 192.168.146.10

4.启动ceph新集群

下载需要安装ceph版本的cephadm

root@ceph141 \~# CEPH_RELEASE=18.2.4

root@ceph141 \~# curl --silent --remote-name --location https://download.ceph.com/rpm-${CEPH_RELEASE}/el9/noarch/cephadm

将cephadm添加到PATH环境变量

root@ceph141 \~# mv cephadm /usr/local/bin/

root@ceph141 \~# chmod +x /usr/local/bin/cephadm

root@ceph141 \~# ls -l /usr/local/bin/cephadm

-rwxr-xr-x 1 root root 215316 Aug 20 22:19 /usr/local/bin/cephadm

创建新集群

cephadm bootstrap --mon-ip 192.168.146.10 --cluster-network 192.168.146.0/24 --allow-fqdn-hostname

过程中有以下内容:

Ceph Dashboard is now available at:

URL: https://yjy-virtual-machine:8443/ #在浏览器输入

User: admin

Password: 35kcr4cc70 #我修改的密码是Root123!

根据内容中的登陆用户和登陆密码登陆进去之后根据提示修改密码,登陆进去就是以下图片:

5.将秘钥节点加入到集群

ceph orch host add ceph11 192.168.146.11

ceph orch host add ceph12 192.168.146.12

#用ceph orch host ls查看集群的主机列表

6.网页ceph三个节点都显示出来了

补充:(第一次传密钥失败了,我先用的以下内容,开始第二次传密钥就成功了)

--如果需要重新执行 cephadm bootstrap(例如之前的初始化失败或需要重置集群),需要先彻底清理旧的 Ceph 集群数据,否则可能会因为残留配置导致新的初始化失败。

  1. 停止所有 Ceph 相关进程和容器

停止所有 Ceph 容器

cephadm rm-cluster --fsid $(ceph fsid) --force # 若能获取 fsid,直接删除集群

若上述命令失败,手动停止并删除容器

docker stop $(docker ps -q --filter "name=ceph-")

docker rm $(docker ps -aq --filter "name=ceph-")

  1. 删除 Ceph 相关数据和配置文件

删除核心配置和数据目录(谨慎操作,会彻底清除集群数据)

rm -rf /etc/ceph/* # 配置文件

rm -rf /var/lib/ceph/* # 数据目录(含 Monitor、OSD 数据等)

rm -rf /var/log/ceph/* # 日志文件

  1. 确认清理完成

检查是否还有残留容器

docker ps -a | grep ceph

检查配置目录是否为空

ls -la /etc/ceph/

  1. 重新执行 bootstrap 命令

使用你之前的参数重新初始化:

cephadm bootstrap --mon-ip 192.168.5.12 --cluster-network 192.168.8.0/24 --allow-fqdn-hostname

注意事项:

--此操作会彻底删除原有集群的所有数据和配置,适用于重新部署场景。

--若之前已向集群添加过其他节点,需在那些节点上也执行类似的清理操作(删除 /etc/ceph、/var/lib/ceph 等目录),避免后续加入新集群时冲突。

--重新执行成功后,会生成新的 ceph.client.admin.keyring 和 ceph.conf,需重新保存并用于后续节点添加。

--执行完成后,通过 ceph -s 确认集群状态是否正常(初始状态应为 HEALTH_OK,只有一个 Monitor)。

相关推荐
weixin_445476681 分钟前
LIMS 3.0 测试环境部署过程记录
linux·状态模式
AI 小老六24 分钟前
Agent Runtime 如何用 Session、Memory、User Profile 和 Skill 实现外部学习
服务器·人工智能·学习·ai·架构·自动化
The Chosen One98531 分钟前
【操作系统】操作系统引导、虚拟机、进程通信、信号
linux·运维·服务器·操作系统·虚拟机·信号
宵时待雨34 分钟前
linux笔记归纳14:Socket编程TCP
linux·服务器·网络·笔记·tcp/ip
小张同学a.1 小时前
zabbix企业级监控平台3——服务监控与API实战
linux·运维·mysql·nginx·tomcat·zabbix
hwx15461 小时前
Linux内核时钟
linux
Brilliantwxx2 小时前
【Linux】自动化构建工具 make 与 Makefile
linux·运维·服务器·开发语言·自动化
灵晔君2 小时前
【Linux】进程(四)——进程虚拟地址空间
linux·c语言·开发语言
云边云科技_云网融合2 小时前
工业制造多厂区、供应链远程数据传输网络如何优化?
运维·服务器·网络
张毅2004-10-102 小时前
docker详解:安装docker,docker架构,docker镜像、容器、网络、存储,容器监控,容器日志,综合实验
linux·运维·docker·云原生·云计算