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)。

相关推荐
大聪明-PLUS2 小时前
如何使用 Docker 打包一个简单的应用程序:简易指南
linux·嵌入式·arm·smarc
深耕AI4 小时前
【完整教程】宝塔面板FTP配置与FileZilla连接服务器
运维·服务器
serve the people4 小时前
Prompts for Chat Models in LangChain
java·linux·langchain
李昊哲小课4 小时前
Ubuntu 24.04 MariaDB 完整安装与配置文档
linux·ubuntu·mariadb
无聊的小坏坏5 小时前
从单 Reactor 线程池到 OneThreadOneLoop:高性能网络模型的演进
服务器·网络·一个线程一个事件循环
AI智域边界 - Alvin Cho5 小时前
Bloomberg、LSEG 与 MCP 缺口:为什么尚未发布完整的 MCP 服务器,以及多智能体系统如何解決这问题
运维·服务器
人间打气筒(Ada)5 小时前
zerotier内网穿透部署(rockylinux部署本地服务器)超详细~~~
linux·内网穿透·内网·公网·zerotier·穿透
Elias不吃糖6 小时前
Git常用指令合集
linux·git
_OP_CHEN6 小时前
Linux网络编程:(七)Vim 编辑器完全指南:从入门到精通的全方位实战教程
linux·运维·服务器·编辑器·vim·linux生态·linux软件
Maple_land6 小时前
第1篇:Linux工具复盘上篇:yum与vim
linux·运维·服务器·c++·centos