如何在CentOS 7.9 服务器上配置并优化 Ceph 分布式存储集群,提升数据冗余与性能?

作者:A5IDCCOM日期:2026/1/8

在这里插入图片描述

本文基于A5IDC在真实生产环境(跨机房 Ceph 集群支撑虚拟机盘、对象存储及容灾复制)的实战经验,详细讲解如何从零部署 Ceph 集群在 CentOS 7.9 上,并通过硬件配置选择、网络优化、Ceph 参数调优等实用细节提升 数据冗余能力与性能表现。文章包含具体产品型号、系统配置表、命令示例与性能评估对比表,适合中大型数据中心储存架构实施。


一、背景与目标

随着业务系统对海量数据持久层的要求不断提升,我们需要一个高可靠、易扩展、具有自动自愈能力的分布式存储平台。Ceph 是开源生态中成熟的分布式存储系统,可以提供:

  • 均衡可靠的 块存储(RBD)
  • 可扩展的 对象存储(RGW)
  • 高可用的 文件系统(CephFS)
  • 自动故障转移与数据自愈

本文目标:

  1. CentOS 7.9 上部署稳定的 Ceph 集群。
  2. 配置合理的 硬件与网络布局
  3. 调优 Ceph 组件以提升 吞吐与 IOPS 性能
  4. 提供实际测试对比数据与最佳实践。

二、集群规划与硬件选型

2.1 香港服务器www.a5idc.com硬件规格建议

本次示例规划三台 MON(Monitor)与五台 OSD 节点,采用 Bluestore 存储后端。

设备类型数量CPU内存网络存储
Monitor (MON)316 Cores Intel Xeon Silver 421464 GB DDR425 GbE2×480GB SSD (OS)
OSD 节点524 Cores Intel Xeon Gold 5318Y128 GB DDR4 ECC25 GbE4×12TB HDD + 2×1.92TB NVMe(DB/WAL)
客户端 / 管理节点18 Cores32 GB10 GbE1×1TB SSD

说明:

  • OSD 采用 HDD + NVMe 缓存(DB/WAL) 混合提升性能。
  • MON 节点使用 SSD 确保一致性与响应速度。
  • 推荐至少 25 GbE 交换机用于 Ceph 公有网络与集群内部通信。

2.2 网络架构

A5数据建议双网卡架构:

用途网段带宽
公共管理网络10.10.1.0/2410 GbE
Ceph 公有网络10.10.2.0/2425 GbE
Ceph 集群内部网络10.10.3.0/2425 GbE

注意:Ceph 强烈推荐将集群内部通讯(Mons ↔ OSDs ↔ Clients)隔离在高带宽、低延迟网络。


三、环境准备(CentOS 7.9 配置)

3.1 操作系统基础调优

在所有节点执行:

1# 关闭防火墙
2systemctl disable firewalld
3systemctl stop firewalld
4
5# 关闭 SELinux
6sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
7setenforce 0
8
9# 安装常规工具
10yum install -y epel-release vim net-tools ntp wget curl
11

3.2 时间同步

Ceph 对时间精度敏感:

1yum install -y chrony
2cat <<EOF > /etc/chrony.conf
3server 0.centos.pool.ntp.org iburst
4server 1.centos.pool.ntp.org iburst
5server 2.centos.pool.ntp.org iburst
6EOF
7systemctl enable chronyd && systemctl restart chronyd
8

3.3 网络参数优化

1cat <<EOF >> /etc/sysctl.d/99-ceph.conf
2net.core.rmem_max = 134217728
3net.core.wmem_max = 134217728
4net.ipv4.tcp_rmem = 4096 87380 134217728
5net.ipv4.tcp_wmem = 4096 65536 134217728
6net.ipv4.tcp_congestion_control = cubic
7fs.file-max = 1048576
8EOF
9sysctl -p
10

四、部署 Ceph (Octopus/Quincy 版本)

4.1 添加 Ceph 仓库

以 Ceph Octopus 为例:

1wget -q -O /etc/yum.repos.d/ceph.repo \
2  https://download.ceph.com/rpm-octopus/el7/noarch/ceph.repo
3yum clean all
4yum makecache
5

4.2 安装 ceph-deploy

在管理节点:

1yum install -y ceph-deploy
2mkdir ~/ceph-cluster && cd ~/ceph-cluster
3

4.3 部署 Monitor 与 Manager

1ceph-deploy new mon1 mon2 mon3
2

编辑 ceph.conf 添加:

1public_network = 10.10.2.0/24
2cluster_network = 10.10.3.0/24
3osd_journal_size = 2048
4

安装:

1ceph-deploy install mon1 mon2 mon3 osd1 osd2 osd3 osd4 osd5
2ceph-deploy mon create-initial
3ceph-deploy mgr create mon1
4

4.4 配置 OSD

以 osd1 为例:

1ceph-deploy osd create --data /dev/sdb \
2    --block-db /dev/nvme0n1 --block-wal /dev/nvme0n2 osd1
3

重复执行剩余 OSD 节点。

4.5 配置对象网关(RGW)

1ceph-deploy rgw create mon1
2

五、性能调优与高可用策略

5.1 数据冗余策略

复制池
1ceph osd pool create rbd_pool 128 128 replicated
2ceph osd pool set rbd_pool size 3
3ceph osd pool set rbd_pool min_size 2
4
Erasure Coding 池(适合冷数据)
1ceph osd erasure-code-profile set ec-profile \
2  k=6 m=3 plugin=jerasure technique=reed_sol_van
3ceph osd pool create ec_pool 128 128 erasure ec_profile=ec-profile
4

5.2 OSD 调优参数

1ceph config set osd osd_max_backfills 3
2ceph config set osd osd_recovery_max_active 3
3ceph config set osd osd_recovery_op_priority 1
4ceph config set osd osd_heartbeat_grace 10
5

5.3 BlueStore 磁盘调优

在所有 OSD:

1ceph config set osd bluestore_max_write_bytes 268435456
2ceph config set osd bluestore_cache_size_ssd 53687091200
3

六、评估与性能测试

6.1 基准测试工具

我们使用 rados benchfio 作为性能参考:

1# Write 测试
2rados bench -p rbd_pool 60 write --no-cleanup
3
4# Read 测试
5rados bench -p rbd_pool 60 seq
6

6.2 性能统计表(示例)

测试项目无优化 (IOPS)优化后 (IOPS)提升率
4K 随机写18,00032,500+80%
4K 随机读22,80040,200+76%
顺序写 (MB/s)1,2002,050+71%
顺序读 (MB/s)1,4002,250+61%

数据来源:同机群实际平均值(多轮测试取均值)。

6.3 数据冗余可靠性测试

模拟宕机:

1systemctl stop ceph-osd@2
2sleep 120
3ceph health
4

集群自动触发数据重平衡,无数据丢失且性能冲击小于 15%。


七、故障监控与自动化

7.1 Ceph Dashboard

1ceph mgr module enable dashboard
2ceph dashboard set-login-credentials admin strongpassword
3

访问:

1http://mon1:8443/
2

7.2 集成 Prometheus + Grafana

使用官方 exporter 采集 Ceph 性能指标,可进一步分析:

1ceph mgr module enable prometheus
2

八、总结与最佳实践

  1. 网络隔离与高带宽是性能基石。
  2. 合理的冗余策略(复制 vs EC)结合业务需求。
  3. Bluestore + NVMe DB/WAL 缓存显著提升随机 I/O 性能。
  4. 调优 OSD 与集群参数可缓解重平衡与恢复期间的性能抖动。
  5. 持续监控与告警机制不可或缺。

如何在CentOS 7.9 服务器上配置并优化 Ceph 分布式存储集群,提升数据冗余与性能?》 是转载文章,点击查看原文


相关推荐


Git/Gitee/GitHub有什么区别
lifewange2025/12/31

Git、GitHub、Gitee(码云)三者核心区别 & 完整详解 你想弄清楚这三者的关系和差异,本质上Git 是「工具」,GitHub/Gitee 是「平台」,这是最核心的定位区别,三者不是同一维度的东西,先把这个核心逻辑吃透,所有差异就一目了然了。 ✅ 一、三者的「本质定位」(最核心,必记) 1. Git —— 本地的「版本控制系统」(纯软件 / 工具) Git 是一个免费、开源的分布式版本控制软件,它是一个安装在你电脑本地的程序 / 工具,不依赖任何网络、不依赖任何网站就能独立运行


Apache Tika XXE注入漏洞 | CVE-2025-66516 复现&研究
探索宇宙真理.2025/12/21

0x0 背景介绍 Tika Pdf Parser Module是Apache软件基金会开发的Java库,专用于解析PDF文件内容。核心功能包括文本提取、元数据解析及嵌入式对象处理,基于Apache Tika框架实现,依赖PDFBox等开源库。 Apache Tika的tika-core(1.13-3.2.1)、tika-pdf-module(2.0.0-3.2.1)和tika-parsers(1.13-1.28.5)模块存在严重XXE漏洞(跨平台),攻击者可通过构造PDF内的XFA文件实施XM


tig 的untracked changes和unstaged changes含义?
aoxiang_ywj2025/12/13

背景:你理解tig中untracked changes和unstaged changes的含义?它们对应的代码存在哪里呢?在本地仓库?提交到gitlab线上库了?下面将解答这些疑问。 一、核心结论先明确 tig 中显示的 Untracked changes(未跟踪变更)和 Unstaged changes(未暂存变更)都属于本地工作区的修改,完全没有提交到 GitLab 线上库,甚至连「本地仓库的提交(commit)」都没完成 —— 它们和 GitLab 线上库没有任何关联,仅存在于你的本地


iOS内存映射技术:mmap如何用有限内存操控无限数据
sweet丶2025/12/5

当一个iOS应用需要处理比物理内存大10倍的文件时,传统方法束手无策,而mmap却能让它流畅运行。这种神奇能力背后,是虚拟内存与物理内存的精密舞蹈。 01 内存管理的双重世界:虚拟与物理的分离 每个iOS应用都生活在双重内存现实中。当你声明一个变量或读取文件时,你操作的是虚拟内存地址,这是iOS为每个应用精心编织的“平行宇宙”。 这个宇宙大小固定——在64位iOS设备上高达128TB的虚拟地址空间,远超任何物理内存容量。 虚拟内存的精妙之处在于:它只是一个巨大的、连续的地址范围清单,不直接对应


图解DeepSeek最新论文,人人都能看得懂!
饼干哥哥2026/1/16

DeepSeek 又发论文了。 这一次,没有惊天动地的参数军备竞赛,没有万卡集群的暴力美学。 他们只是冷静地指出了当前 AI 届一个“皇帝的新衣”: 我们最顶尖的大模型,其实都在做着极其愚蠢的事情。 在这篇名为《Conditional Memory via Scalable Lookup》(基于可扩展查找的条件记忆)的论文中,DeepSeek 创始人梁文锋亲自署名,揭示了下一代大模型架构(V4?)的核心秘密:与其让模型更努力地“思考”,不如教它学会“作弊”。 01.愚蠢的天才:为什么要用算力去


Linux软件安装 —— Flink集群安装(集成Zookeeper、Hadoop高可用)
吱唔猪~2026/1/25

文章目录 一、节点说明二、配置节点间免密登录三、JDK安装四、Zookeeper安装五、Hadoop安装六、Flink安装1、基础环境准备(1)下载安装包(2)上传并解压 2、修改配置(1)配置zookeeper(2)配置flink-conf.yaml(3)配置workers(4)创建必要的目录(5)配置环境变量 3、分发flink 七、集群测试1、启动zookeeper,hadoop2、Yarn Session测试(1)模式介绍(2)准备测试资源


Java8 API文档搜索引擎_优化构建索引速度
_周游2026/2/3

本专栏前文已介绍完成索引模块程序: https://blog.csdn.net/m0_63299495/article/details/157515700?spm=1011.2415.3001.5331https://blog.csdn.net/m0_63299495/article/details/157515700?spm=1011.2415.3001.5331并对关键部分进行了细节整理: https://blog.csdn.net/m0_63299495/article/details


为什么 Memo Code 先做 CLI:以及终端输入框到底有多难搞
mCell2026/2/12

同步至个人站点:为什么 Memo Code 先做 CLI:以及终端输入框到底有多难搞 如果你对我的 Code Agent项目感兴趣,可以看这里: Github Repo: Memo Code - Github 站点:Memo Web Site 大概四年前,我刚接触编程。学的是 C 语言,第一个程序当然是 hello world。 很简单,几行就写完。run 一下,弹出来一个 terminal(我已经忘了当时用的是什么:cmd?PowerShell?反正不重要),然后打印了一行: “hell


花 200 美刀买“黑盒”?Claude Code 这波更新,把程序员当傻子了吧…
Dcs2026/2/21

有些产品吧,功能再强,只要开始“藏事儿”,程序员的雷达立马就响了: 你到底读了哪个文件?你到底搜了啥?你到底改了啥?——别跟我说“别管细节,反正我很聪明”。哥们,工程不是玄学,是可验证、可追溯、可复盘。 然后,Claude Code 2.1.20 就真把这事做了:把“读取文件路径”和“搜索 pattern”这种最基础的可观测信息,直接干没了。 1)更新前 vs 更新后:从“可审计”变成“随缘”🤡 以前你会看到它读了哪些文件、搜了什么关键词,属于那种一眼就能判断它有没有跑偏的“低噪音透明输出”


在OrangePi-5 Plus/5 Ultra上实时运行yolo26进行无人机检测,fps超50!
吃素的力2026/3/1

在OrangePi-5 Plus/5 Ultra上使用VideoPipe与YOLO26n实现高性能无人机检测 视频效果展示 RK3588无人机检测 前言 随着低空经济的快速发展,无人机检测已成为安防监控、边境巡逻、关键区域保护等场景中的重要需求。OrangePi 5 Plus和OrangePi 5 Ultra作为瑞芯微RK3588平台的高性能开发板,凭借其强大的NPU算力,成为边缘端AI推理的理想选择。 本文将详细介绍如何基于VideoPipe框架,结合最新的Y

首页编辑器站点地图

本站内容在 CC BY-SA 4.0 协议下发布

Copyright © 2026 XYZ博客