背景与需求
某大型业务系统需要构建一个分布式存储平台,要求数据具有高冗余、高可用,并支持横向扩展,同时为后端应用提供对象存储、块存储以及 CephFS 文件系统服务。为简化部署过程、降低运维复杂度,采用 cephadm 工具在容器环境中完成集群构建与日常管理。
架构设计
监视器(MON):部署 3 个 Ceph MON 节点,利用 cephadm 自动容器化部署,负责维护集群状态、选举及认证。
管理器(MGR):部署至少 2 个 Ceph MGR 节点,提供集群运行指标采集、Dashboard 服务与 REST API。
对象存储守护进程(OSD):在各存储节点上部署多个 OSD,每个 OSD 对应一块物理硬盘,确保数据副本、恢复与再平衡。
元数据服务器(MDS)(可选):若需要 CephFS 文件系统服务,可部署 1~2 个 MDS 节点,管理文件系统元数据。
网络规划:集群内部采用专用的 Cluster Network 传输数据,外部访问则通过公共网络实现。
部署流程
环境准备
确保所有节点安装了支持容器运行的操作系统(如 CentOS 8、ubuntu 20 等)。
安装 Docker 或 Podman 作为容器运行时,并配置好网络互通、时间同步及关闭防火墙/SELinux(或做相应调整)。
在其中一台节点上安装最新的 cephadm 工具(通常作为 bootstrap 节点)。
集群引导
在选定的管理节点(例如 192.168.1.100)上执行以下命令进行引导:
cephadm bootstrap --mon-ip 192.168.1.100 --initial-dashboard-user admin --initial-dashboard-password 'YourStrongPwd'
此命令会在本节点启动一个 MON 守护进程,并自动生成集群配置文件、密钥和启动 Dashboard 服务。引导完成后,可通过浏览器访问 Dashboard(默认 8443 端口)进行管理。
进入 cephadm Shell 进行管理
使用命令进入 cephadm shell:
cephadm shell
在该 shell 内即可使用标准的 ceph CLI 命令(如 ceph -s)查看集群状态。
扩展集群服务
添加 MON/MGR 节点
若需要在其它节点上扩容监视器和管理器,可执行:
ceph orch host add <hostname> <IP>
ceph orch daemon add mon <hostname>
ceph orch daemon add mgr <hostname>
部署 OSD 守护进程
确保各存储节点的裸设备(例如 /dev/sdb、/dev/sdc 等)没有格式化,然后在 cephadm shell 内执行:
ceph orch apply osd --all-available-devices
或针对某个节点指定设备:
ceph orch daemon add osd <hostname>:<device>
这样 Ceph 将自动对设备进行初始化并部署 OSD 服务。
部署 CephFS(如需要)
创建 CephFS 需要先创建两个存储池,用于存储元数据与数据:
ceph osd pool create cephfs_data 128
ceph osd pool create cephfs_metadata 64
ceph fs new mycephfs cephfs_metadata cephfs_data
若需要部署 MDS,则执行:
ceph orch daemon add mds mycephfs <hostname>
集群验证与监控
通过 ceph -s 命令查看集群健康状态,确保所有服务均显示为 up 且状态为 HEALTH_OK。
登录 Ceph Dashboard 查看集群各项指标、OSD 分布、PG 状态等,及时调整 PG 数量、CRUSH 规则等参数以优化性能。
日常运维与扩展
故障自愈:cephadm 能自动重启故障的容器,如某个守护进程异常,可通过 ceph orch ps 查看并根据提示重新部署。
扩容升级:可通过 cephadm 在不中断服务的前提下增加 OSD、MON、MGR 等守护进程,实现横向扩展;同时支持滚动升级方式更新 Ceph 版本。
安全管理:利用 CephX 认证机制确保各组件间通信安全;定期备份集群配置和密钥,确保运维数据安全。
运维管理策略
自动化监控:利用 Dashboard 与 Prometheus、Grafana 等工具实时采集集群指标,设置报警策略。
数据冗余与恢复:利用 Ceph 内部的副本机制或纠删码技术,保证任意 OSD 故障情况下数据不会丢失;定期检查 OSD 状态,预防硬件故障。
弹性扩展:根据业务需求和数据增长情况,通过 cephadm 简单命令扩容存储节点与设备,实现系统横向扩展。
安全与更新:保持 Ceph 版本和底层依赖最新,定期检查安全公告,及时更新补丁;配置访问权限和认证机制,防范未授权访问。
成效与收获
快速部署:利用 cephadm 自动容器化部署,无需手动配置系统环境,大大简化了部署流程。
高可用性:通过多节点 MON/MGR 以及自动化 OSD 部署,实现了集群服务的高可用与自我恢复能力。
便捷管理:内置 Dashboard 及统一管理命令,使得日常运维、监控和故障排查更为高效。