CentOS 8.1上Ceph Octopus集群保姆级搭建:从Docker配置到CephFS挂载全流程

张开发
2026/6/28 3:20:42 15 分钟阅读
CentOS 8.1上Ceph Octopus集群保姆级搭建:从Docker配置到CephFS挂载全流程
CentOS 8.1环境下Ceph Octopus集群实战部署指南在分布式存储领域Ceph凭借其高可靠性、高扩展性和开源特性已成为企业级存储解决方案的首选。本文将手把手带您完成从零开始部署Ceph Octopusv15.2.1集群的全过程特别针对CentOS 8.1环境优化配置涵盖Docker环境准备、集群初始化到CephFS挂载等关键环节。1. 环境准备与基础配置1.1 系统初始化设置在开始部署前我们需要对三台CentOS 8.1服务器进行统一配置。假设三台主机IP分别为10.1.1.12主节点、10.1.1.13和10.1.1.14。首先设置主机名并配置hosts文件# 在各节点分别执行 hostnamectl set-hostname cmaster # 主节点 hostnamectl set-hostname cnode1 # 节点1 hostnamectl set-hostname cnode2 # 节点2 # 统一配置hosts文件 cat /etc/hosts EOF 10.1.1.12 cmaster 10.1.1.13 cnode1 10.1.1.14 cnode2 EOF基础安全配置# 关闭防火墙和SELinux systemctl disable --now firewalld setenforce 0 sed -i s/^SELINUX.*/SELINUXdisabled/ /etc/selinux/config # 配置时间同步 yum install -y chrony systemctl enable --now chronyd1.2 Docker环境部署Cephadm工具依赖Docker环境我们使用阿里云镜像源加速安装# 配置阿里云Docker源 dnf config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 安装containerd.io注意版本兼容性 dnf install -y https://download.docker.com/linux/centos/8/x86_64/stable/Packages/containerd.io-1.3.7-3.1.el8.x86_64.rpm --allowerasing # 安装Docker CE dnf install -y docker-ce # 配置镜像加速 mkdir -p /etc/docker cat /etc/docker/daemon.json EOF { registry-mirrors: [https://uyah70su.mirror.aliyuncs.com] } EOF # 启动并设置开机自启 systemctl enable --now docker注意containerd.io版本与CentOS 8.1存在兼容性问题建议使用1.3.7-3.1.el8版本2. Ceph集群初始化2.1 安装cephadm工具在主节点cmaster执行以下操作mkdir -p /opt/ceph-cluster cd /opt/ceph-cluster # 下载cephadm脚本 curl --silent --remote-name --location https://github.com/ceph/ceph/raw/octopus/src/cephadm/cephadm -o cephadm chmod x cephadm # 安装Python3所有节点 yum install python3 -y # 配置Ceph Octopus源 ./cephadm add-repo --release octopus # 安装核心组件 ./cephadm install ceph-common ceph2.2 集群引导使用cephadm初始化集群主节点执行mkdir -p /etc/ceph cephadm bootstrap --mon-ip 10.1.1.12此命令将创建初始monitor和manager守护进程生成SSH密钥并配置免密访问生成基础配置文件(/etc/ceph/ceph.conf)创建admin用户密钥环启动Ceph交互shell验证状态cephadm shell ceph -s3. 集群节点扩展与角色部署3.1 添加集群节点将SSH公钥分发到各节点ssh-copy-id -f -i /etc/ceph/ceph.pub rootcnode1 ssh-copy-id -f -i /etc/ceph/ceph.pub rootcnode2在Ceph shell中添加节点ceph orch host add cnode1 10.1.1.13 ceph orch host add cnode2 10.1.1.143.2 监控网络配置设置monitor使用的网络范围ceph config set mon public_network 10.1.1.0/24部署monitor服务建议奇数个节点ceph orch apply mon cmaster,cnode1,cnode23.3 OSD存储部署列出可用存储设备ceph orch device ls创建OSD的三种方式对比方法命令示例适用场景自动部署ceph orch apply osd --all-available-devices快速部署设备无特殊要求指定设备ceph orch daemon add osd cmaster:/dev/sdb精确控制设备使用YAML规范ceph orch apply osd -i osd_spec.yaml复杂部署场景示例YAML配置(osd_spec.yaml)service_type: osd placement: hosts: - cmaster - cnode1 - cnode2 data_devices: all: true4. CephFS创建与挂载4.1 文件系统部署创建CephFS所需存储池ceph osd pool create cephfs_data 128 ceph osd pool create cephfs_metadata 128创建文件系统ceph fs new myfs cephfs_metadata cephfs_data ceph fs ls # 验证创建4.2 客户端挂载配置获取admin密钥cat /etc/ceph/ceph.client.admin.keyring | grep key临时挂载方式mkdir /mnt/mycephfs mount -t ceph cmaster:6789,cnode1:6789,cnode2:6789:/ /mnt/mycephfs -o nameadmin,secretyour_secret_key永久挂载配置/etc/fstab10.1.1.12:6789,10.1.1.13:6789,10.1.1.14:6789:/ /mnt/mycephfs ceph nameadmin,secretfile/etc/ceph/admin.secret,_netdev 0 04.3 常见问题排查若遇到挂载失败可检查以下方面防火墙是否已关闭网络连通性ping和端口6789测试密钥权限是否正确Ceph集群状态是否健康ceph -s5. 集群管理与维护5.1 服务管理命令速查功能命令说明集群状态ceph -s查看整体健康状态OSD管理ceph osd tree查看OSD分布拓扑存储池列表ceph osd lspools列出所有存储池服务状态ceph orch ls查看编排服务状态添加节点ceph orch host add newnode IP扩展集群节点5.2 安全移除OSD节点当需要下线OSD时应遵循以下流程# 1. 停止OSD进程 ceph osd stop osd.X # 2. 标记为out状态 ceph osd out osd.X # 3. 从CRUSH map移除 ceph osd crush remove osd.X # 4. 删除OSD记录 ceph osd rm osd.X # 5. 删除认证密钥 ceph auth del osd.X5.3 监控与告警配置Ceph内置了Prometheus监控支持启用方法ceph mgr module enable prometheus访问地址http://mgr-node:9283/metrics推荐配置的监控指标阈值指标警告阈值严重阈值OSD使用率70%85%PG非常规状态0-监控节点数奇数quorum数在实际生产环境中部署完成后建议进行以下验证测试节点故障模拟测试网络分区场景测试性能基准测试使用rados bench数据恢复速度测试

更多文章