使用cephadm快速搭建高可用Ceph存储集群
1. 为什么选择Ceph和cephadmCeph作为一款开源的分布式存储系统最大的魅力在于它同时支持对象存储、块存储和文件系统存储。想象一下你家的工具箱里既有螺丝刀又有扳手还能随时扩展新工具——这就是Ceph的统一存储特性。我在实际项目中用它同时对接过Kubernetes的持久化存储和对象存储需求一套系统全搞定运维成本直接减半。而cephadm这个官方工具的出现彻底改变了Ceph的部署体验。早期手动部署Ceph集群时光配置monitor节点就要折腾半天现在用cephadm就像有个专业的安装向导全程陪同。它通过容器化方式管理所有组件连依赖冲突这种头疼问题都帮你解决了。实测在Rocky Linux 8.10上从零开始到集群就绪新手也能在2小时内完成。2. 环境准备打好地基才能盖高楼2.1 系统配置标准化在Rocky Linux 8.10上部署前这几个基础配置就像盖楼前的地基平整绝对不能偷懒# 设置永久主机名所有节点执行 hostnamectl set-hostname ceph1 # 其他节点依次改为ceph2/ceph3 # 配置hosts解析所有节点相同配置 cat /etc/hosts EOF 192.168.8.197 ceph1 192.168.8.198 ceph2 192.168.8.199 ceph3 EOF这里有个坑我踩过如果hosts文件里同时有127.0.0.1和实际IP的解析cephadm可能会错乱。建议用ping -c 3 $(hostname)测试必须返回节点真实IP才行。时间同步比想象中重要得多有次集群莫名报警查了三小时才发现是某个节点的时间快了15秒。推荐用chrony配置阿里云NTPyum install -y chrony sed -i s/^pool.*/pool ntp.aliyun.com iburst/g /etc/chrony.conf systemctl restart chronyd chronyc sources # 验证同步状态2.2 安全策略调整生产环境要谨慎但实验环境可以适当放宽限制# 临时关闭防火墙重启失效 systemctl stop firewalld # 永久禁用SELinux需重启 setenforce 0 sed -i s/^SELINUX.*/SELINUXdisabled/g /etc/selinux/config3. 安装部署cephadm的魔法时刻3.1 软件源配置技巧华为云的镜像源速度很稳但要注意版本匹配。比如Pacific版对应的是Ceph 16cat /etc/yum.repos.d/ceph.repo EOF [ceph] nameceph baseurlhttps://repo.huaweicloud.com/ceph/rpm-pacific/el8/x86_64/ enabled1 gpgcheck0 [ceph-noarch] nameceph noarch baseurlhttps://repo.huaweicloud.com/ceph/rpm-pacific/el8/noarch/ enabled1 gpgcheck0 EOF安装基础组件时建议把常用工具一并装上dnf install -y python3 docker-ce vim bash-completion3.2 集群初始化实战关键命令就这一条但参数选择有讲究cephadm --docker bootstrap \ --mon-ip 192.168.8.197 \ # 必须是管理节点实际IP --initial-dashboard-user admin \ --initial-dashboard-password your_secure_password \ --allow-fqdn-hostname这里有个隐藏技巧如果网络环境复杂可以加--registry-url参数指定私有镜像仓库。初始化成功后用ceph -s能看到健康状态但这时候集群还是个光杆司令。4. 集群扩容从单点到高可用4.1 节点添加的正确姿势先搞定SSH免密登录这是cephadm管理节点的前提# 在管理节点生成密钥 ssh-keygen -t rsa -N -f /etc/ceph/ceph.pub # 批量拷贝到其他节点 for host in ceph2 ceph3; do ssh-copy-id -f -i /etc/ceph/ceph.pub $host done添加节点时建议分步验证# 先添加主机 ceph orch host add ceph2 ceph orch host add ceph3 # 验证节点识别 ceph orch host ls4.2 OSD部署的三种策略根据磁盘情况灵活选择部署方式自动模式适合全新磁盘ceph orch apply osd --all-available-devices手动指定生产环境推荐ceph orch daemon add osd ceph1:/dev/sdb批量部署相同硬件配置for host in ceph1 ceph2 ceph3; do for disk in b c d; do ceph orch daemon add osd $host:/dev/sd$disk done done4.3 服务高可用配置让监控服务分布在多个节点# 部署3个monitor形成法定人数 ceph orch apply mon ceph1,ceph2,ceph3 # 管理服务至少2个实例 ceph orch apply mgr ceph1,ceph2记得给管理节点打标签方便后续维护ceph orch host label add ceph1 _admin5. 验证与排错你的集群真的健康吗5.1 命令行诊断三板斧# 看整体状态重点关注health ceph -s # 看OSD树形分布 ceph osd tree # 看实时监控数据 ceph mgr module enable dashboard ceph mgr services5.2 常见故障处理时间不同步报警# 在所有节点执行 chronyc makestepOSD启动失败# 查看具体错误日志 journalctl -u ceph-$(ceph status | grep id: | awk {print $2}) # 常见解决方法 ceph orch daemon restart osd.编号Dashboard无法访问 检查防火墙是否关闭或者尝试重启服务ceph mgr module disable dashboard ceph mgr module enable dashboard6. 性能调优小贴士刚部署的集群就像新车需要磨合这几个参数能提升初期性能# 调整PG数量根据OSD数量计算 ceph osd pool set .mgr pg_num 64 ceph osd pool set .mgr pgp_num 64 # 启用压缩适合文本类数据 ceph osd pool set rbd compression_mode aggressive对于全闪存集群建议调整CRUSH规则ceph osd crush rule create-replicated ssd-rule default osd ssd
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2446238.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!