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

相关推荐
其实防守也摸鱼10 小时前
无线网络安全---WLAN相关安全工具--kali(理论附题目)
linux·安全·web安全·学习笔记·kali·命令模式·wlan
uesowys12 小时前
CentOS Linux安装部署OpenClaw
linux·centos·安装部署openclaw
IMPYLH12 小时前
Linux 的 rm 命令
linux·运维·服务器·网络·bash
YIN_尹12 小时前
【Linux系统编程】进程地址空间
linux·c++
white-persist12 小时前
【vulhub shiro 漏洞复现】vulhub shiro CVE-2016-4437 Shiro反序列化漏洞复现详细分析解释
运维·服务器·网络·python·算法·安全·web安全
代码中介商13 小时前
手把手教你Linux 打包压缩与 gcc 编译详解
linux·运维·服务器·编译·打包·压缩
longerxin202013 小时前
阿里云AlmaLinux操作系统允许root登录配置步骤
linux·服务器·阿里云
独小乐13 小时前
019.ADC转换和子中断|千篇笔记实现嵌入式全栈/裸机篇
linux·c语言·驱动开发·笔记·嵌入式硬件·mcu·arm
xuanwenchao13 小时前
ROS2学习笔记 - 2、类的继承及使用
服务器·笔记·学习
GottdesKrieges14 小时前
OceanBase租户级物理恢复
linux·oceanbase