搭建开源版Ceph分布式存储

系统:Rocky8.6

三台2H4G 三块10G的硬盘的虚拟机

node1 192.168.2.101

node2 192.168.2.102

node3 192.168.2.103
三台虚拟机环境准备
1、配置主机名和IP的映射关系
2、关闭selinux和firewalld防火墙
3、配置时间同步且所有节点chronyd服务开机自启
1、配置主机名和IP的映射关系

复制代码
1、修改主机名,三台都需要修改,此处举例node1
hostnamectl set-hostname node1

2、vi /etc/hosts    修改hosts文件,配置主机名和IP映射关系,添加这三条
192.168.2.101 node1
192.168.2.102 node2
192.168.2.103 node3

3、远程拷贝已经修改的节点文件到另外两台,也可直接过去修改
scp /etc/hosts root@node2:/etc/
scp /etc/hosts root@node3:/etc/

2、关闭selinux和firewalld防火墙

复制代码
三台都需关闭
systemctl disable --now firewalld 
sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config 

3、配置时间同步且所有节点chronyd服务开机自启

复制代码
三台都需执行
echo 'server time.windows.com iburst'  >> /etc/chrony.conf 

重启chrony服务并设置开机自启
systemctl restart chronyd 
systemctl enable chronyd 

chronyc sources 可查看是否同步成功

获取指定版本的cephadm,一台执行就行,这里选择node1

复制代码
wget https://github.com/ceph/ceph/raw/pacific/src/cephadm/cephadm  获取 cephadm
chmod +x cephadm  添加执行权限
./cephadm add-repo --release pacific  添加指定版本的ceph源
./cephadm install  安装cephadm工具

方框里的pacific为指定版本,也可替换为需求版本

在引导节点上部署单节点集群

复制代码
cephadm bootstrap --mon-ip 192.168.2.101 --allow-fqdn-hostname --initial
dashboard-user admin --initial-dashboard-password admin --dashboard
password-noupdate

bootstrap 引导集群
 --mon-ip 192.168.2.101 指定mon节点地址
 --allow-fqdn-hostname 使用主机名作为dashboard地址
 --initial-dashboard-user admin 指定dashboard用户名为admin
 --initial-dashboard-password admin  指定dashboard用户密码为admin
 --dashboard-password-noupdate 首次登陆dashboard无需更改密码

部署完成即可浏览器访问web界面,端口8443

https://192.168.2.101:8443

User: admin

Password: admin

此时Hosts为1 图中因为已经添加了两台进去,所以显示3台
给集群添加其他节点及OSD磁盘

复制代码
cephadm shell 进入到ceph操作环境
ceph cephadm get-pub-key > ~/ceph.pub 获取集群公钥并保存到当前路径下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 需要写完整的主机名
ceph orch host add node3 需要写完整的主机名
这两个节点完全扩容到集群需要大概15分钟,并且时间同步

ceph orch daemon add osd node1:/dev/sdb 添加指定主机的单块磁盘为osd
ceph orch apply osd --all-available-devices 也可以在所有主机上将未使用的磁盘部署为osd

此时集群状态还是异常,因为OSD都是同一台设备的磁盘,PG存在单点故障问题,等其他两个节点加入集群,加入其他剩余磁盘即可恢复,下图为又加了一个节点进去

拓展:
关闭集群组件自扩展
ceph orch apply mon --unmanaged=true 关闭mon自动扩展
添加mgr节点
ceph orch daemon add mgr --placement=node2
添加mon节点
ceph orch daemon add mon --placement=node2
移除节点上的指定服务
ceph orch ps 查询各个节点上所运行的服务
ceph orch daemon rm mgr.node2.ifomqg 移除node2节点上的mgr服务
移除OSD
ceph orch daemon stop osd.6
ceph orch daemon rm osd.6 --force
ceph osd rm 6 这里6为osd序号
ceph orch device zap node2 /dev/sdd --force 擦除磁盘数据
ceph osd crush rm osd.6 删除cursh的osd映射
移除主机
ceph orch host rm node2 移除主机
标记ceph管理节点以执行cephadm
ceph orch host label add node2 mgr 给node2节点打上mgr标签
ceph orch host label add node3 mgr 给node3节点打上mgr标签
标记ceph组件节点以批量部署
ceph orch apply prometheus --placement="label:mgr" 给打上mgr标签节点部署prometheus

相关推荐
时空无限25 天前
CEPH OSD_SLOW_PING_TIME_FRONT/BACK 警告处理
ceph
云计算运维丁丁1 个月前
ceph集群架构阐述
ceph·架构
liuy52771 个月前
dmsetup 清理ceph osd残留磁盘分区
ceph
斯普信专业组1 个月前
ceph数据迁移数据迁移与bacula配置调整优化实战
前端·ceph·github
斯普信专业组1 个月前
Ceph异地数据同步之-RBD异地同步复制(下)
linux·服务器·ceph
小马爱打代码1 个月前
Kubernetes 中部署 Ceph,构建高可用分布式存储服务
分布式·ceph·kubernetes
斯普信专业组1 个月前
Ceph与Bacula运维实战:数据迁移与备份配置优化指南
运维·ceph·github
野猪佩挤2 个月前
Ceph集群2025(Squid版)导出高可用NFS集群(上集)
java·服务器·ceph
不死鸟.亚历山大.狼崽子2 个月前
Ceph(1):分布式存储技术简介
ceph
不死鸟.亚历山大.狼崽子2 个月前
Ceph(2):Ceph简介
ceph