Ceph 分布式存储:集群配置与存储池管理
引言
在 Ceph 分布式存储的运维中,集群配置的精准度决定了系统的性能上限与稳定性,而存储池(Pool)的合理规划则是保障数据安全与容量利用率的基石。很多初学者在部署完 Ceph 后,往往停留在使用默认配置的阶段。但在实际生产环境中,理解配置的生效优先级、Monitor 的 Paxos 仲裁机制、PG(放置组)的映射原理以及池的底层参数调优,是每个云原生存储工程师的必修课。
本文将深入拆解 Ceph 的配置管理机制,并全面梳理存储池从创建、调优、快照到最终销毁的完整流程。
### 文章目录
- [Ceph 分布式存储:集群配置与存储池管理](#文章目录 Ceph 分布式存储:集群配置与存储池管理 引言 @[toc] 一、Ceph 集群配置底层机制解析 1.1 配置来源与生效优先级 1.2 配置文件解析与元变量 1.3 集中配置数据库管理 (
ceph config详解) 1.4 运行时临时覆盖 (ceph tellvsceph daemon) 二、Monitor 核心原理与安全认证 2.1 MON 与 Paxos 仲裁机制 2.2 集中配置数据库的维护与告警 2.3 Cephx 认证机制 三、网络配置与安全隔离 3.1 Public 网络与 Cluster 网络分离 3.2 IPv6 与巨型帧 3.3 防火墙策略 四、数据组织结构与底层映射算法 4.1 从 Object 到 OSD 的完整映射流程 4.2 OSD 日志与二次确认机制 4.3 PG 数量的规划原则 五、存储池的创建与状态分析 5.1 创建池的两种类型 5.2 查看池状态 六、存储池的高级运维与生命周期管理 6.1 应用类型与配额管理 6.2 调整副本数与 PG 数 6.3 池中对象与快照管理 6.4 命名空间 (Namespace) 隔离 6.5 重命名与安全删除池) - [引言](#文章目录 Ceph 分布式存储:集群配置与存储池管理 引言 @[toc] 一、Ceph 集群配置底层机制解析 1.1 配置来源与生效优先级 1.2 配置文件解析与元变量 1.3 集中配置数据库管理 (
ceph config详解) 1.4 运行时临时覆盖 (ceph tellvsceph daemon) 二、Monitor 核心原理与安全认证 2.1 MON 与 Paxos 仲裁机制 2.2 集中配置数据库的维护与告警 2.3 Cephx 认证机制 三、网络配置与安全隔离 3.1 Public 网络与 Cluster 网络分离 3.2 IPv6 与巨型帧 3.3 防火墙策略 四、数据组织结构与底层映射算法 4.1 从 Object 到 OSD 的完整映射流程 4.2 OSD 日志与二次确认机制 4.3 PG 数量的规划原则 五、存储池的创建与状态分析 5.1 创建池的两种类型 5.2 查看池状态 六、存储池的高级运维与生命周期管理 6.1 应用类型与配额管理 6.2 调整副本数与 PG 数 6.3 池中对象与快照管理 6.4 命名空间 (Namespace) 隔离 6.5 重命名与安全删除池) - [@toc](#文章目录 Ceph 分布式存储:集群配置与存储池管理 引言 @[toc] 一、Ceph 集群配置底层机制解析 1.1 配置来源与生效优先级 1.2 配置文件解析与元变量 1.3 集中配置数据库管理 (
ceph config详解) 1.4 运行时临时覆盖 (ceph tellvsceph daemon) 二、Monitor 核心原理与安全认证 2.1 MON 与 Paxos 仲裁机制 2.2 集中配置数据库的维护与告警 2.3 Cephx 认证机制 三、网络配置与安全隔离 3.1 Public 网络与 Cluster 网络分离 3.2 IPv6 与巨型帧 3.3 防火墙策略 四、数据组织结构与底层映射算法 4.1 从 Object 到 OSD 的完整映射流程 4.2 OSD 日志与二次确认机制 4.3 PG 数量的规划原则 五、存储池的创建与状态分析 5.1 创建池的两种类型 5.2 查看池状态 六、存储池的高级运维与生命周期管理 6.1 应用类型与配额管理 6.2 调整副本数与 PG 数 6.3 池中对象与快照管理 6.4 命名空间 (Namespace) 隔离 6.5 重命名与安全删除池) - [一、Ceph 集群配置底层机制解析](#文章目录 Ceph 分布式存储:集群配置与存储池管理 引言 @[toc] 一、Ceph 集群配置底层机制解析 1.1 配置来源与生效优先级 1.2 配置文件解析与元变量 1.3 集中配置数据库管理 (
ceph config详解) 1.4 运行时临时覆盖 (ceph tellvsceph daemon) 二、Monitor 核心原理与安全认证 2.1 MON 与 Paxos 仲裁机制 2.2 集中配置数据库的维护与告警 2.3 Cephx 认证机制 三、网络配置与安全隔离 3.1 Public 网络与 Cluster 网络分离 3.2 IPv6 与巨型帧 3.3 防火墙策略 四、数据组织结构与底层映射算法 4.1 从 Object 到 OSD 的完整映射流程 4.2 OSD 日志与二次确认机制 4.3 PG 数量的规划原则 五、存储池的创建与状态分析 5.1 创建池的两种类型 5.2 查看池状态 六、存储池的高级运维与生命周期管理 6.1 应用类型与配额管理 6.2 调整副本数与 PG 数 6.3 池中对象与快照管理 6.4 命名空间 (Namespace) 隔离 6.5 重命名与安全删除池) - [1.1 配置来源与生效优先级](#文章目录 Ceph 分布式存储:集群配置与存储池管理 引言 @[toc] 一、Ceph 集群配置底层机制解析 1.1 配置来源与生效优先级 1.2 配置文件解析与元变量 1.3 集中配置数据库管理 (
ceph config详解) 1.4 运行时临时覆盖 (ceph tellvsceph daemon) 二、Monitor 核心原理与安全认证 2.1 MON 与 Paxos 仲裁机制 2.2 集中配置数据库的维护与告警 2.3 Cephx 认证机制 三、网络配置与安全隔离 3.1 Public 网络与 Cluster 网络分离 3.2 IPv6 与巨型帧 3.3 防火墙策略 四、数据组织结构与底层映射算法 4.1 从 Object 到 OSD 的完整映射流程 4.2 OSD 日志与二次确认机制 4.3 PG 数量的规划原则 五、存储池的创建与状态分析 5.1 创建池的两种类型 5.2 查看池状态 六、存储池的高级运维与生命周期管理 6.1 应用类型与配额管理 6.2 调整副本数与 PG 数 6.3 池中对象与快照管理 6.4 命名空间 (Namespace) 隔离 6.5 重命名与安全删除池) - [1.2 配置文件解析与元变量](#文章目录 Ceph 分布式存储:集群配置与存储池管理 引言 @[toc] 一、Ceph 集群配置底层机制解析 1.1 配置来源与生效优先级 1.2 配置文件解析与元变量 1.3 集中配置数据库管理 (
ceph config详解) 1.4 运行时临时覆盖 (ceph tellvsceph daemon) 二、Monitor 核心原理与安全认证 2.1 MON 与 Paxos 仲裁机制 2.2 集中配置数据库的维护与告警 2.3 Cephx 认证机制 三、网络配置与安全隔离 3.1 Public 网络与 Cluster 网络分离 3.2 IPv6 与巨型帧 3.3 防火墙策略 四、数据组织结构与底层映射算法 4.1 从 Object 到 OSD 的完整映射流程 4.2 OSD 日志与二次确认机制 4.3 PG 数量的规划原则 五、存储池的创建与状态分析 5.1 创建池的两种类型 5.2 查看池状态 六、存储池的高级运维与生命周期管理 6.1 应用类型与配额管理 6.2 调整副本数与 PG 数 6.3 池中对象与快照管理 6.4 命名空间 (Namespace) 隔离 6.5 重命名与安全删除池) - [1.3 集中配置数据库管理 (`ceph config` 详解)](#文章目录 Ceph 分布式存储:集群配置与存储池管理 引言 @[toc] 一、Ceph 集群配置底层机制解析 1.1 配置来源与生效优先级 1.2 配置文件解析与元变量 1.3 集中配置数据库管理 (
ceph config详解) 1.4 运行时临时覆盖 (ceph tellvsceph daemon) 二、Monitor 核心原理与安全认证 2.1 MON 与 Paxos 仲裁机制 2.2 集中配置数据库的维护与告警 2.3 Cephx 认证机制 三、网络配置与安全隔离 3.1 Public 网络与 Cluster 网络分离 3.2 IPv6 与巨型帧 3.3 防火墙策略 四、数据组织结构与底层映射算法 4.1 从 Object 到 OSD 的完整映射流程 4.2 OSD 日志与二次确认机制 4.3 PG 数量的规划原则 五、存储池的创建与状态分析 5.1 创建池的两种类型 5.2 查看池状态 六、存储池的高级运维与生命周期管理 6.1 应用类型与配额管理 6.2 调整副本数与 PG 数 6.3 池中对象与快照管理 6.4 命名空间 (Namespace) 隔离 6.5 重命名与安全删除池) - [1.4 运行时临时覆盖 (`ceph tell` vs `ceph daemon`)](#文章目录 Ceph 分布式存储:集群配置与存储池管理 引言 @[toc] 一、Ceph 集群配置底层机制解析 1.1 配置来源与生效优先级 1.2 配置文件解析与元变量 1.3 集中配置数据库管理 (
ceph config详解) 1.4 运行时临时覆盖 (ceph tellvsceph daemon) 二、Monitor 核心原理与安全认证 2.1 MON 与 Paxos 仲裁机制 2.2 集中配置数据库的维护与告警 2.3 Cephx 认证机制 三、网络配置与安全隔离 3.1 Public 网络与 Cluster 网络分离 3.2 IPv6 与巨型帧 3.3 防火墙策略 四、数据组织结构与底层映射算法 4.1 从 Object 到 OSD 的完整映射流程 4.2 OSD 日志与二次确认机制 4.3 PG 数量的规划原则 五、存储池的创建与状态分析 5.1 创建池的两种类型 5.2 查看池状态 六、存储池的高级运维与生命周期管理 6.1 应用类型与配额管理 6.2 调整副本数与 PG 数 6.3 池中对象与快照管理 6.4 命名空间 (Namespace) 隔离 6.5 重命名与安全删除池) - [二、Monitor 核心原理与安全认证](#文章目录 Ceph 分布式存储:集群配置与存储池管理 引言 @[toc] 一、Ceph 集群配置底层机制解析 1.1 配置来源与生效优先级 1.2 配置文件解析与元变量 1.3 集中配置数据库管理 (
ceph config详解) 1.4 运行时临时覆盖 (ceph tellvsceph daemon) 二、Monitor 核心原理与安全认证 2.1 MON 与 Paxos 仲裁机制 2.2 集中配置数据库的维护与告警 2.3 Cephx 认证机制 三、网络配置与安全隔离 3.1 Public 网络与 Cluster 网络分离 3.2 IPv6 与巨型帧 3.3 防火墙策略 四、数据组织结构与底层映射算法 4.1 从 Object 到 OSD 的完整映射流程 4.2 OSD 日志与二次确认机制 4.3 PG 数量的规划原则 五、存储池的创建与状态分析 5.1 创建池的两种类型 5.2 查看池状态 六、存储池的高级运维与生命周期管理 6.1 应用类型与配额管理 6.2 调整副本数与 PG 数 6.3 池中对象与快照管理 6.4 命名空间 (Namespace) 隔离 6.5 重命名与安全删除池) - [2.1 MON 与 Paxos 仲裁机制](#文章目录 Ceph 分布式存储:集群配置与存储池管理 引言 @[toc] 一、Ceph 集群配置底层机制解析 1.1 配置来源与生效优先级 1.2 配置文件解析与元变量 1.3 集中配置数据库管理 (
ceph config详解) 1.4 运行时临时覆盖 (ceph tellvsceph daemon) 二、Monitor 核心原理与安全认证 2.1 MON 与 Paxos 仲裁机制 2.2 集中配置数据库的维护与告警 2.3 Cephx 认证机制 三、网络配置与安全隔离 3.1 Public 网络与 Cluster 网络分离 3.2 IPv6 与巨型帧 3.3 防火墙策略 四、数据组织结构与底层映射算法 4.1 从 Object 到 OSD 的完整映射流程 4.2 OSD 日志与二次确认机制 4.3 PG 数量的规划原则 五、存储池的创建与状态分析 5.1 创建池的两种类型 5.2 查看池状态 六、存储池的高级运维与生命周期管理 6.1 应用类型与配额管理 6.2 调整副本数与 PG 数 6.3 池中对象与快照管理 6.4 命名空间 (Namespace) 隔离 6.5 重命名与安全删除池) - [2.2 集中配置数据库的维护与告警](#文章目录 Ceph 分布式存储:集群配置与存储池管理 引言 @[toc] 一、Ceph 集群配置底层机制解析 1.1 配置来源与生效优先级 1.2 配置文件解析与元变量 1.3 集中配置数据库管理 (
ceph config详解) 1.4 运行时临时覆盖 (ceph tellvsceph daemon) 二、Monitor 核心原理与安全认证 2.1 MON 与 Paxos 仲裁机制 2.2 集中配置数据库的维护与告警 2.3 Cephx 认证机制 三、网络配置与安全隔离 3.1 Public 网络与 Cluster 网络分离 3.2 IPv6 与巨型帧 3.3 防火墙策略 四、数据组织结构与底层映射算法 4.1 从 Object 到 OSD 的完整映射流程 4.2 OSD 日志与二次确认机制 4.3 PG 数量的规划原则 五、存储池的创建与状态分析 5.1 创建池的两种类型 5.2 查看池状态 六、存储池的高级运维与生命周期管理 6.1 应用类型与配额管理 6.2 调整副本数与 PG 数 6.3 池中对象与快照管理 6.4 命名空间 (Namespace) 隔离 6.5 重命名与安全删除池) - [2.3 Cephx 认证机制](#文章目录 Ceph 分布式存储:集群配置与存储池管理 引言 @[toc] 一、Ceph 集群配置底层机制解析 1.1 配置来源与生效优先级 1.2 配置文件解析与元变量 1.3 集中配置数据库管理 (
ceph config详解) 1.4 运行时临时覆盖 (ceph tellvsceph daemon) 二、Monitor 核心原理与安全认证 2.1 MON 与 Paxos 仲裁机制 2.2 集中配置数据库的维护与告警 2.3 Cephx 认证机制 三、网络配置与安全隔离 3.1 Public 网络与 Cluster 网络分离 3.2 IPv6 与巨型帧 3.3 防火墙策略 四、数据组织结构与底层映射算法 4.1 从 Object 到 OSD 的完整映射流程 4.2 OSD 日志与二次确认机制 4.3 PG 数量的规划原则 五、存储池的创建与状态分析 5.1 创建池的两种类型 5.2 查看池状态 六、存储池的高级运维与生命周期管理 6.1 应用类型与配额管理 6.2 调整副本数与 PG 数 6.3 池中对象与快照管理 6.4 命名空间 (Namespace) 隔离 6.5 重命名与安全删除池) - [三、网络配置与安全隔离](#文章目录 Ceph 分布式存储:集群配置与存储池管理 引言 @[toc] 一、Ceph 集群配置底层机制解析 1.1 配置来源与生效优先级 1.2 配置文件解析与元变量 1.3 集中配置数据库管理 (
ceph config详解) 1.4 运行时临时覆盖 (ceph tellvsceph daemon) 二、Monitor 核心原理与安全认证 2.1 MON 与 Paxos 仲裁机制 2.2 集中配置数据库的维护与告警 2.3 Cephx 认证机制 三、网络配置与安全隔离 3.1 Public 网络与 Cluster 网络分离 3.2 IPv6 与巨型帧 3.3 防火墙策略 四、数据组织结构与底层映射算法 4.1 从 Object 到 OSD 的完整映射流程 4.2 OSD 日志与二次确认机制 4.3 PG 数量的规划原则 五、存储池的创建与状态分析 5.1 创建池的两种类型 5.2 查看池状态 六、存储池的高级运维与生命周期管理 6.1 应用类型与配额管理 6.2 调整副本数与 PG 数 6.3 池中对象与快照管理 6.4 命名空间 (Namespace) 隔离 6.5 重命名与安全删除池) - [3.1 Public 网络与 Cluster 网络分离](#文章目录 Ceph 分布式存储:集群配置与存储池管理 引言 @[toc] 一、Ceph 集群配置底层机制解析 1.1 配置来源与生效优先级 1.2 配置文件解析与元变量 1.3 集中配置数据库管理 (
ceph config详解) 1.4 运行时临时覆盖 (ceph tellvsceph daemon) 二、Monitor 核心原理与安全认证 2.1 MON 与 Paxos 仲裁机制 2.2 集中配置数据库的维护与告警 2.3 Cephx 认证机制 三、网络配置与安全隔离 3.1 Public 网络与 Cluster 网络分离 3.2 IPv6 与巨型帧 3.3 防火墙策略 四、数据组织结构与底层映射算法 4.1 从 Object 到 OSD 的完整映射流程 4.2 OSD 日志与二次确认机制 4.3 PG 数量的规划原则 五、存储池的创建与状态分析 5.1 创建池的两种类型 5.2 查看池状态 六、存储池的高级运维与生命周期管理 6.1 应用类型与配额管理 6.2 调整副本数与 PG 数 6.3 池中对象与快照管理 6.4 命名空间 (Namespace) 隔离 6.5 重命名与安全删除池) - [3.2 IPv6 与巨型帧](#文章目录 Ceph 分布式存储:集群配置与存储池管理 引言 @[toc] 一、Ceph 集群配置底层机制解析 1.1 配置来源与生效优先级 1.2 配置文件解析与元变量 1.3 集中配置数据库管理 (
ceph config详解) 1.4 运行时临时覆盖 (ceph tellvsceph daemon) 二、Monitor 核心原理与安全认证 2.1 MON 与 Paxos 仲裁机制 2.2 集中配置数据库的维护与告警 2.3 Cephx 认证机制 三、网络配置与安全隔离 3.1 Public 网络与 Cluster 网络分离 3.2 IPv6 与巨型帧 3.3 防火墙策略 四、数据组织结构与底层映射算法 4.1 从 Object 到 OSD 的完整映射流程 4.2 OSD 日志与二次确认机制 4.3 PG 数量的规划原则 五、存储池的创建与状态分析 5.1 创建池的两种类型 5.2 查看池状态 六、存储池的高级运维与生命周期管理 6.1 应用类型与配额管理 6.2 调整副本数与 PG 数 6.3 池中对象与快照管理 6.4 命名空间 (Namespace) 隔离 6.5 重命名与安全删除池) - [3.3 防火墙策略](#文章目录 Ceph 分布式存储:集群配置与存储池管理 引言 @[toc] 一、Ceph 集群配置底层机制解析 1.1 配置来源与生效优先级 1.2 配置文件解析与元变量 1.3 集中配置数据库管理 (
ceph config详解) 1.4 运行时临时覆盖 (ceph tellvsceph daemon) 二、Monitor 核心原理与安全认证 2.1 MON 与 Paxos 仲裁机制 2.2 集中配置数据库的维护与告警 2.3 Cephx 认证机制 三、网络配置与安全隔离 3.1 Public 网络与 Cluster 网络分离 3.2 IPv6 与巨型帧 3.3 防火墙策略 四、数据组织结构与底层映射算法 4.1 从 Object 到 OSD 的完整映射流程 4.2 OSD 日志与二次确认机制 4.3 PG 数量的规划原则 五、存储池的创建与状态分析 5.1 创建池的两种类型 5.2 查看池状态 六、存储池的高级运维与生命周期管理 6.1 应用类型与配额管理 6.2 调整副本数与 PG 数 6.3 池中对象与快照管理 6.4 命名空间 (Namespace) 隔离 6.5 重命名与安全删除池) - [四、数据组织结构与底层映射算法](#文章目录 Ceph 分布式存储:集群配置与存储池管理 引言 @[toc] 一、Ceph 集群配置底层机制解析 1.1 配置来源与生效优先级 1.2 配置文件解析与元变量 1.3 集中配置数据库管理 (
ceph config详解) 1.4 运行时临时覆盖 (ceph tellvsceph daemon) 二、Monitor 核心原理与安全认证 2.1 MON 与 Paxos 仲裁机制 2.2 集中配置数据库的维护与告警 2.3 Cephx 认证机制 三、网络配置与安全隔离 3.1 Public 网络与 Cluster 网络分离 3.2 IPv6 与巨型帧 3.3 防火墙策略 四、数据组织结构与底层映射算法 4.1 从 Object 到 OSD 的完整映射流程 4.2 OSD 日志与二次确认机制 4.3 PG 数量的规划原则 五、存储池的创建与状态分析 5.1 创建池的两种类型 5.2 查看池状态 六、存储池的高级运维与生命周期管理 6.1 应用类型与配额管理 6.2 调整副本数与 PG 数 6.3 池中对象与快照管理 6.4 命名空间 (Namespace) 隔离 6.5 重命名与安全删除池) - [4.1 从 Object 到 OSD 的完整映射流程](#文章目录 Ceph 分布式存储:集群配置与存储池管理 引言 @[toc] 一、Ceph 集群配置底层机制解析 1.1 配置来源与生效优先级 1.2 配置文件解析与元变量 1.3 集中配置数据库管理 (
ceph config详解) 1.4 运行时临时覆盖 (ceph tellvsceph daemon) 二、Monitor 核心原理与安全认证 2.1 MON 与 Paxos 仲裁机制 2.2 集中配置数据库的维护与告警 2.3 Cephx 认证机制 三、网络配置与安全隔离 3.1 Public 网络与 Cluster 网络分离 3.2 IPv6 与巨型帧 3.3 防火墙策略 四、数据组织结构与底层映射算法 4.1 从 Object 到 OSD 的完整映射流程 4.2 OSD 日志与二次确认机制 4.3 PG 数量的规划原则 五、存储池的创建与状态分析 5.1 创建池的两种类型 5.2 查看池状态 六、存储池的高级运维与生命周期管理 6.1 应用类型与配额管理 6.2 调整副本数与 PG 数 6.3 池中对象与快照管理 6.4 命名空间 (Namespace) 隔离 6.5 重命名与安全删除池) - [4.2 OSD 日志与二次确认机制](#文章目录 Ceph 分布式存储:集群配置与存储池管理 引言 @[toc] 一、Ceph 集群配置底层机制解析 1.1 配置来源与生效优先级 1.2 配置文件解析与元变量 1.3 集中配置数据库管理 (
ceph config详解) 1.4 运行时临时覆盖 (ceph tellvsceph daemon) 二、Monitor 核心原理与安全认证 2.1 MON 与 Paxos 仲裁机制 2.2 集中配置数据库的维护与告警 2.3 Cephx 认证机制 三、网络配置与安全隔离 3.1 Public 网络与 Cluster 网络分离 3.2 IPv6 与巨型帧 3.3 防火墙策略 四、数据组织结构与底层映射算法 4.1 从 Object 到 OSD 的完整映射流程 4.2 OSD 日志与二次确认机制 4.3 PG 数量的规划原则 五、存储池的创建与状态分析 5.1 创建池的两种类型 5.2 查看池状态 六、存储池的高级运维与生命周期管理 6.1 应用类型与配额管理 6.2 调整副本数与 PG 数 6.3 池中对象与快照管理 6.4 命名空间 (Namespace) 隔离 6.5 重命名与安全删除池) - [4.3 PG 数量的规划原则](#文章目录 Ceph 分布式存储:集群配置与存储池管理 引言 @[toc] 一、Ceph 集群配置底层机制解析 1.1 配置来源与生效优先级 1.2 配置文件解析与元变量 1.3 集中配置数据库管理 (
ceph config详解) 1.4 运行时临时覆盖 (ceph tellvsceph daemon) 二、Monitor 核心原理与安全认证 2.1 MON 与 Paxos 仲裁机制 2.2 集中配置数据库的维护与告警 2.3 Cephx 认证机制 三、网络配置与安全隔离 3.1 Public 网络与 Cluster 网络分离 3.2 IPv6 与巨型帧 3.3 防火墙策略 四、数据组织结构与底层映射算法 4.1 从 Object 到 OSD 的完整映射流程 4.2 OSD 日志与二次确认机制 4.3 PG 数量的规划原则 五、存储池的创建与状态分析 5.1 创建池的两种类型 5.2 查看池状态 六、存储池的高级运维与生命周期管理 6.1 应用类型与配额管理 6.2 调整副本数与 PG 数 6.3 池中对象与快照管理 6.4 命名空间 (Namespace) 隔离 6.5 重命名与安全删除池) - [五、存储池的创建与状态分析](#文章目录 Ceph 分布式存储:集群配置与存储池管理 引言 @[toc] 一、Ceph 集群配置底层机制解析 1.1 配置来源与生效优先级 1.2 配置文件解析与元变量 1.3 集中配置数据库管理 (
ceph config详解) 1.4 运行时临时覆盖 (ceph tellvsceph daemon) 二、Monitor 核心原理与安全认证 2.1 MON 与 Paxos 仲裁机制 2.2 集中配置数据库的维护与告警 2.3 Cephx 认证机制 三、网络配置与安全隔离 3.1 Public 网络与 Cluster 网络分离 3.2 IPv6 与巨型帧 3.3 防火墙策略 四、数据组织结构与底层映射算法 4.1 从 Object 到 OSD 的完整映射流程 4.2 OSD 日志与二次确认机制 4.3 PG 数量的规划原则 五、存储池的创建与状态分析 5.1 创建池的两种类型 5.2 查看池状态 六、存储池的高级运维与生命周期管理 6.1 应用类型与配额管理 6.2 调整副本数与 PG 数 6.3 池中对象与快照管理 6.4 命名空间 (Namespace) 隔离 6.5 重命名与安全删除池) - [5.1 创建池的两种类型](#文章目录 Ceph 分布式存储:集群配置与存储池管理 引言 @[toc] 一、Ceph 集群配置底层机制解析 1.1 配置来源与生效优先级 1.2 配置文件解析与元变量 1.3 集中配置数据库管理 (
ceph config详解) 1.4 运行时临时覆盖 (ceph tellvsceph daemon) 二、Monitor 核心原理与安全认证 2.1 MON 与 Paxos 仲裁机制 2.2 集中配置数据库的维护与告警 2.3 Cephx 认证机制 三、网络配置与安全隔离 3.1 Public 网络与 Cluster 网络分离 3.2 IPv6 与巨型帧 3.3 防火墙策略 四、数据组织结构与底层映射算法 4.1 从 Object 到 OSD 的完整映射流程 4.2 OSD 日志与二次确认机制 4.3 PG 数量的规划原则 五、存储池的创建与状态分析 5.1 创建池的两种类型 5.2 查看池状态 六、存储池的高级运维与生命周期管理 6.1 应用类型与配额管理 6.2 调整副本数与 PG 数 6.3 池中对象与快照管理 6.4 命名空间 (Namespace) 隔离 6.5 重命名与安全删除池) - [5.2 查看池状态](#文章目录 Ceph 分布式存储:集群配置与存储池管理 引言 @[toc] 一、Ceph 集群配置底层机制解析 1.1 配置来源与生效优先级 1.2 配置文件解析与元变量 1.3 集中配置数据库管理 (
ceph config详解) 1.4 运行时临时覆盖 (ceph tellvsceph daemon) 二、Monitor 核心原理与安全认证 2.1 MON 与 Paxos 仲裁机制 2.2 集中配置数据库的维护与告警 2.3 Cephx 认证机制 三、网络配置与安全隔离 3.1 Public 网络与 Cluster 网络分离 3.2 IPv6 与巨型帧 3.3 防火墙策略 四、数据组织结构与底层映射算法 4.1 从 Object 到 OSD 的完整映射流程 4.2 OSD 日志与二次确认机制 4.3 PG 数量的规划原则 五、存储池的创建与状态分析 5.1 创建池的两种类型 5.2 查看池状态 六、存储池的高级运维与生命周期管理 6.1 应用类型与配额管理 6.2 调整副本数与 PG 数 6.3 池中对象与快照管理 6.4 命名空间 (Namespace) 隔离 6.5 重命名与安全删除池) - [六、存储池的高级运维与生命周期管理](#文章目录 Ceph 分布式存储:集群配置与存储池管理 引言 @[toc] 一、Ceph 集群配置底层机制解析 1.1 配置来源与生效优先级 1.2 配置文件解析与元变量 1.3 集中配置数据库管理 (
ceph config详解) 1.4 运行时临时覆盖 (ceph tellvsceph daemon) 二、Monitor 核心原理与安全认证 2.1 MON 与 Paxos 仲裁机制 2.2 集中配置数据库的维护与告警 2.3 Cephx 认证机制 三、网络配置与安全隔离 3.1 Public 网络与 Cluster 网络分离 3.2 IPv6 与巨型帧 3.3 防火墙策略 四、数据组织结构与底层映射算法 4.1 从 Object 到 OSD 的完整映射流程 4.2 OSD 日志与二次确认机制 4.3 PG 数量的规划原则 五、存储池的创建与状态分析 5.1 创建池的两种类型 5.2 查看池状态 六、存储池的高级运维与生命周期管理 6.1 应用类型与配额管理 6.2 调整副本数与 PG 数 6.3 池中对象与快照管理 6.4 命名空间 (Namespace) 隔离 6.5 重命名与安全删除池) - [6.1 应用类型与配额管理](#文章目录 Ceph 分布式存储:集群配置与存储池管理 引言 @[toc] 一、Ceph 集群配置底层机制解析 1.1 配置来源与生效优先级 1.2 配置文件解析与元变量 1.3 集中配置数据库管理 (
ceph config详解) 1.4 运行时临时覆盖 (ceph tellvsceph daemon) 二、Monitor 核心原理与安全认证 2.1 MON 与 Paxos 仲裁机制 2.2 集中配置数据库的维护与告警 2.3 Cephx 认证机制 三、网络配置与安全隔离 3.1 Public 网络与 Cluster 网络分离 3.2 IPv6 与巨型帧 3.3 防火墙策略 四、数据组织结构与底层映射算法 4.1 从 Object 到 OSD 的完整映射流程 4.2 OSD 日志与二次确认机制 4.3 PG 数量的规划原则 五、存储池的创建与状态分析 5.1 创建池的两种类型 5.2 查看池状态 六、存储池的高级运维与生命周期管理 6.1 应用类型与配额管理 6.2 调整副本数与 PG 数 6.3 池中对象与快照管理 6.4 命名空间 (Namespace) 隔离 6.5 重命名与安全删除池) - [6.2 调整副本数与 PG 数](#文章目录 Ceph 分布式存储:集群配置与存储池管理 引言 @[toc] 一、Ceph 集群配置底层机制解析 1.1 配置来源与生效优先级 1.2 配置文件解析与元变量 1.3 集中配置数据库管理 (
ceph config详解) 1.4 运行时临时覆盖 (ceph tellvsceph daemon) 二、Monitor 核心原理与安全认证 2.1 MON 与 Paxos 仲裁机制 2.2 集中配置数据库的维护与告警 2.3 Cephx 认证机制 三、网络配置与安全隔离 3.1 Public 网络与 Cluster 网络分离 3.2 IPv6 与巨型帧 3.3 防火墙策略 四、数据组织结构与底层映射算法 4.1 从 Object 到 OSD 的完整映射流程 4.2 OSD 日志与二次确认机制 4.3 PG 数量的规划原则 五、存储池的创建与状态分析 5.1 创建池的两种类型 5.2 查看池状态 六、存储池的高级运维与生命周期管理 6.1 应用类型与配额管理 6.2 调整副本数与 PG 数 6.3 池中对象与快照管理 6.4 命名空间 (Namespace) 隔离 6.5 重命名与安全删除池) - [6.3 池中对象与快照管理](#文章目录 Ceph 分布式存储:集群配置与存储池管理 引言 @[toc] 一、Ceph 集群配置底层机制解析 1.1 配置来源与生效优先级 1.2 配置文件解析与元变量 1.3 集中配置数据库管理 (
ceph config详解) 1.4 运行时临时覆盖 (ceph tellvsceph daemon) 二、Monitor 核心原理与安全认证 2.1 MON 与 Paxos 仲裁机制 2.2 集中配置数据库的维护与告警 2.3 Cephx 认证机制 三、网络配置与安全隔离 3.1 Public 网络与 Cluster 网络分离 3.2 IPv6 与巨型帧 3.3 防火墙策略 四、数据组织结构与底层映射算法 4.1 从 Object 到 OSD 的完整映射流程 4.2 OSD 日志与二次确认机制 4.3 PG 数量的规划原则 五、存储池的创建与状态分析 5.1 创建池的两种类型 5.2 查看池状态 六、存储池的高级运维与生命周期管理 6.1 应用类型与配额管理 6.2 调整副本数与 PG 数 6.3 池中对象与快照管理 6.4 命名空间 (Namespace) 隔离 6.5 重命名与安全删除池) - [6.4 命名空间 (Namespace) 隔离](#文章目录 Ceph 分布式存储:集群配置与存储池管理 引言 @[toc] 一、Ceph 集群配置底层机制解析 1.1 配置来源与生效优先级 1.2 配置文件解析与元变量 1.3 集中配置数据库管理 (
ceph config详解) 1.4 运行时临时覆盖 (ceph tellvsceph daemon) 二、Monitor 核心原理与安全认证 2.1 MON 与 Paxos 仲裁机制 2.2 集中配置数据库的维护与告警 2.3 Cephx 认证机制 三、网络配置与安全隔离 3.1 Public 网络与 Cluster 网络分离 3.2 IPv6 与巨型帧 3.3 防火墙策略 四、数据组织结构与底层映射算法 4.1 从 Object 到 OSD 的完整映射流程 4.2 OSD 日志与二次确认机制 4.3 PG 数量的规划原则 五、存储池的创建与状态分析 5.1 创建池的两种类型 5.2 查看池状态 六、存储池的高级运维与生命周期管理 6.1 应用类型与配额管理 6.2 调整副本数与 PG 数 6.3 池中对象与快照管理 6.4 命名空间 (Namespace) 隔离 6.5 重命名与安全删除池) - [6.5 重命名与安全删除池](#文章目录 Ceph 分布式存储:集群配置与存储池管理 引言 @[toc] 一、Ceph 集群配置底层机制解析 1.1 配置来源与生效优先级 1.2 配置文件解析与元变量 1.3 集中配置数据库管理 (
ceph config详解) 1.4 运行时临时覆盖 (ceph tellvsceph daemon) 二、Monitor 核心原理与安全认证 2.1 MON 与 Paxos 仲裁机制 2.2 集中配置数据库的维护与告警 2.3 Cephx 认证机制 三、网络配置与安全隔离 3.1 Public 网络与 Cluster 网络分离 3.2 IPv6 与巨型帧 3.3 防火墙策略 四、数据组织结构与底层映射算法 4.1 从 Object 到 OSD 的完整映射流程 4.2 OSD 日志与二次确认机制 4.3 PG 数量的规划原则 五、存储池的创建与状态分析 5.1 创建池的两种类型 5.2 查看池状态 六、存储池的高级运维与生命周期管理 6.1 应用类型与配额管理 6.2 调整副本数与 PG 数 6.3 池中对象与快照管理 6.4 命名空间 (Namespace) 隔离 6.5 重命名与安全删除池)
一、Ceph 集群配置底层机制解析
Ceph 的配置系统非常灵活但也较为复杂,它支持从多个来源读取配置。了解配置的生效顺序,是排错与调优的第一步。
1.1 配置来源与生效优先级
Ceph 守护进程会从以下某个来源访问其配置(越新设置将覆盖较早设置):
- 编译中的默认值:Ceph 代码内置的默认参数。
- 集中配置数据库:由 MON 节点集中管理,优先级高于本地配置文件(官方推荐方式)。
- 本地配置文件 :即
/etc/ceph/ceph.conf,在启动时加载。 - 环境变量。
- 命令行参数。
- 运行时覆盖 :使用
ceph tell或ceph daemon临时修改的内存配置。
⚠️ 核心原则 :Ceph 存储优先使用集中配置数据库中的配置,正在逐步弃用
ceph.conf集群配置文件。
1.2 配置文件解析与元变量
配置文件采用 INI 格式,通过 [name] 标头定义名称,并包含多个键值对。
[global]:所有守护进程(包括客户端)共有的一般配置。[mon]、[osd]、[mgr]、[mds]、[client]:特定类型的守护进程配置。- 实例设置 :格式为
[daemon-type.instance-ID]。例如[osd.0]仅针对 0 号 OSD 生效。
Ceph 还支持元变量来简化路径配置:
$cluster:集群名称(默认 ceph)。$type:守护进程类型(mon, osd 等)。$id:实例 ID(如 osd.0 中的 0)。$name:$type.$id的简写。$host:运行守护进程的主机名。
1.3 集中配置数据库管理 (ceph config 详解)
现代 Ceph 运维几乎全部依赖 ceph config 命令来管理 MON 维护的集中配置库。
| 命令 | 作用与底层逻辑 |
|---|---|
ceph config ls |
列出所有可配置项(上百个参数)。 |
ceph config help <key> |
查看特定配置的帮助信息(默认值、是否可运行时更新等)。 |
ceph config dump |
显示集群中被显式设置过 的配置。不显示纯默认值。 |
ceph config show <id> |
仅显示特定守护进程被显式修改过的配置项。 |
ceph config show-with-defaults <id> |
显示所有配置项 + 当前值(含默认值),用于深度排错或审计。 |
ceph config get <id> <key> |
获取特定实例的特定配置值。 |
ceph config set <id> <key> <val> |
设置配置(持久化)。修改 MON 的 KV 存储,自动推送到相关 daemon。 |
ceph config rm <id> <key> |
清除配置,还原为默认值。 |
ceph config log [num] |
查看配置历史记录,默认显示 10 条,类似 Git log。 |
ceph config reset <num> |
配置回滚 。例如 ceph config reset 20,将配置回滚到历史版本 20。 |
1.4 运行时临时覆盖 (ceph tell vs ceph daemon)
在生产排错时,我们有时需要临时调大日志级别,但不想重启服务,这时可以使用临时覆盖。
ceph tell $type.$id config set <key> <val>:- 原理:通过网络向运行中的 daemon 发送消息。
- 特点 :临时修改内存配置,重启后失效 。支持通配符(如
mon.*)。
ceph daemon $type.$id config set <key> <val>:- 原理 :直接通过本地 Socket (
/var/run/ceph/*.asok) 与本地 daemon 通信,不需要经过 MON。 - 特点:即使 MON 挂了也能用,临时生效,重启即丢。
- 原理 :直接通过本地 Socket (
💡 对比总结 :
ceph config set持久化、批量生效;ceph tell和ceph daemon临时生效、仅内存级、紧急排错专用。
二、Monitor 核心原理与安全认证
2.1 MON 与 Paxos 仲裁机制
MON 负责维护集群映射(Cluster Map)。为了保证分布式一致性,MON 使用 Paxos 变体算法来选举 Leader。
- 角色划分 :
- Leader:第一个获得最新集群映射的 MON。
- Provider:拥有最新映射但不是 Leader 的 MON。
- Requester:版本落后,必须先与 Provider 同步,才能重新加入仲裁。
- 奇偶原则 :集群必须部署奇数个 MON(确保投票能建立法定人数)。要使集群正常运行,必须有超过半数的 MON 运行。例如 3 个需活 2 个,5 个需活 3 个。
验证命令:
bash
ceph status | grep mon # 快速查看仲裁
ceph mon stat # 查看简短状态
ceph quorum_status -f json-pretty # 查看详细 JSON 格式仲裁状态
ceph mon dump # 分析当前的 MON 映射(fsid, 端口, 状态)
2.2 集中配置数据库的维护与告警
MON 的数据库文件默认存放在 /var/lib/ceph/$fsid/mon.$host/store.db。随着时间推移,数据库会不断增大,影响性能。
- 在线压缩 :
ceph tell mon.<id> compact - 开机自压 :
ceph config set mon mon_compact_on_start true - 容量告警 :
mon_data_size_warn(默认 15GB):超过此值集群转为HEALTH_WARN。mon_data_avail_warn(默认 30%):剩余容量低于此值告警。mon_data_avail_crit(默认 5%):剩余容量低于此值转为HEALTH_ERR。
2.3 Cephx 认证机制
Ceph 默认使用 cephx 协议进行身份验证,基于共享密钥加密。核心参数:
auth_service_required:客户端与 Ceph 服务之间(默认cephx)。auth_cluster_required:Ceph 守护进程之间(默认cephx)。auth_client_required:客户端与集群之间(默认cephx)。
所有认证密钥(Keyring)都以纯文本形式存储(如 /etc/ceph/ceph.client.admin.keyring),必须严格限制 Linux 文件权限(建议 600)。
三、网络配置与安全隔离
3.1 Public 网络与 Cluster 网络分离
-
Public 网络:客户端读写数据、MON 与 OSD 通信的默认网络。
-
Cluster 网络:专用于 OSD 之间的复制、恢复流量。
-
配置方法 :配置独立的 Cluster 网络可以极大减轻 Public 网络负载,提升性能。需在每个节点配置额外网卡,并在
ceph.conf中指定:ini[global] public_network = 192.168.108.0/24 cluster_network = 192.168.109.0/24(注意:如果配置多个子网,子网间必须能互通路由)。
-
绑定 IP :MON 必须绑定特定 IP,而 MGR、OSD 等可通过
ceph config set mon public_network <CIDR>限制可部署的子网。
3.2 IPv6 与巨型帧
- IPv6 :默认
ms_bind_ipv4=true,ms_bind_ipv6=false。若需使用 IPv6,需将ms_bind_ipv6设为 true,ms_bind_ipv4设为 false。 - 巨型帧 :在 Cluster 网络接口上配置 MTU 9000 可显著提升吞吐量。要求通信路径上的所有网络设备 MTU 必须完全一致。
3.3 防火墙策略
Ceph 的 OSD 和 MDS 默认使用 6800-7300 TCP 端口。MON 使用 6789 和 3300 端口。
bash
# 放行 MON
firewall-cmd --zone=Public --add-port=6789/tcp --add-port=3300/tcp --permanent
# 放行 OSD
firewall-cmd --zone=<public-or-cluster> --add-port=6800-7300/tcp --permanent
四、数据组织结构与底层映射算法
4.1 从 Object 到 OSD 的完整映射流程
Ceph 是去中心化的,客户端如何知道数据存在哪?这归功于 CRUSH 算法。
- Pool(池):逻辑分区。
- PG(Placement Group):对象的集合。一个 PG 仅属于一个 Pool。
- Object(对象):数据的基本单位。
映射过程:
- Hash 计算 :客户端提供
Pool Name和Object ID,Ceph 对 Object ID 做 Hash,对池的 PG 总数取模:PG ID = hash(Object ID) % PG Number。 - CRUSH 映射:利用 CRUSH 算法根据故障域(主机、机架等)计算出该 PG 负责的 OSD 集合(Acting Set 和 Up Set)。
- 读写 :客户端直接联系主 OSD 进行读写。主 OSD 负责将数据同步给次要 OSD。次要 OSD 确保数据的弹性可靠。
4.2 OSD 日志与二次确认机制
- 每个 OSD 都有独立的 OSD 日志(建议放在 SSD 上)。
- 写流程:客户端写请求先顺序写入 OSD 日志,然后主机文件系统再合并写入后端磁盘。
- 两次确认:数据写入所有 OSD 的缓存后,主 OSD 向客户端确认一次;数据从缓存彻底刷入磁盘后,再确认一次。这平衡了强一致性与延迟。
4.3 PG 数量的规划原则
PG 数量直接影响性能:
- 过多:每个 PG 数据少,CPU 和内存计算开销大。
- 过少:单 PG 数据多,故障恢复时占用巨大带宽。
- 计算公式 :
Ceph 集群 PG 总数 = (OSD 数 * 100) / 最大副本数。结果必须向上取整到 2 的 N 次幂。 - 经验值:OSD < 5 设为 128;5-10 设为 512;10-50 设为 4096。
五、存储池的创建与状态分析
5.1 创建池的两种类型
复本池 (Replicated):通过将对象复制多份实现冗余。
bash
# 语法:ceph osd pool create <name> <pg_num> <pgp_num> replicated
ceph osd pool create pool_web 32 32 replicated
纠删码池 (Erasure Code):通过数学计算实现冗余,节省空间。
- 工作方式:数据分为 k 个数据块,计算 m 个校验块,共 k+m 块存入不同 OSD。有效容量百分比:
k / (k+m)。
bash
# 自定义纠删码配置 (4个数据块,2个校验块)
ceph osd erasure-code-profile set myprofile k=4 m=2 crush-failure-domain=host
ceph osd pool create pool_era 32 32 erasure myprofile
5.2 查看池状态
bash
ceph osd pool ls # 列出池
ceph osd pool ls detail # 查看详细配置(副本数、PG数、应用类型)
ceph osd pool stats # 查看读写状态和客户端
ceph df # 查看集群容量和池使用率
六、存储池的高级运维与生命周期管理
6.1 应用类型与配额管理
池必须绑定应用类型才能被访问:ceph osd pool application enable pool_web rbd。
可以限制池的容量和对象数(达到上限后整个池无法使用):
bash
ceph osd pool set-quota pool_web max_bytes 10G
ceph osd pool set-quota pool_web max_objects 100000
ceph osd pool get-quota pool_web
6.2 调整副本数与 PG 数
bash
ceph osd pool get pool_web all # 查看所有配置
ceph osd pool set pool_web size 2 # 修改副本数为 2
ceph osd pool set pool_web pg_num 64 # 修改 PG 数量
Ceph 默认开启 PG 自动扩展 (pg_autoscale_mode)。启用 pg_autoscaler 模块后,可通过 ceph osd pool autoscale-status 查看集群推荐的 PG 数。
6.3 池中对象与快照管理
使用 rados 命令直接管理底层对象:
bash
rados -p pool_web put hosts hosts_file # 上传
rados -p pool_web stat hosts # 查看对象状态
rados -p pool_web ls # 列出对象
# 核心排错命令:查看对象映射到了哪个 PG 和 OSD
ceph osd map pool_web hosts
# 输出解析: object 'hosts' -> pg 2.e -> up ([8,2], p8)
# 表示对象映射到 PG 2.14,主 OSD 为 8,从 OSD 为 2。
池快照机制 :
基于 COW(写时复制)技术,快照为只读,无法修改:
bash
ceph osd pool mksnap pool_web snap1 # 创建快照
rados -p pool_web lssnap # 查看快照
rados -p pool_web -s snap1 get hosts new_hosts # 获取快照中的对象
rados -p pool_web rollback hosts snap1 # 回滚对象到快照时刻
6.4 命名空间 (Namespace) 隔离
当集群应用过多,创建大量池会导致 PG 总数剧增(PG 是有限的),严重影响性能。命名空间允许对象在同一个池内进行逻辑分组。
bash
rados put -p pool_web -N myns1 hostname1 /etc/hostname
rados ls -p pool_web -N myns1
rados ls -p pool_web --all # 查看所有命名空间的对象
6.5 重命名与安全删除池
bash
# 重命名池(不会影响数据)
ceph osd pool rename pool_web pool_apache
删除池的严格保护机制:
- 修改集群配置允许删除:
ceph config set mon mon_allow_pool_delete true - 输入两次池名并附带强确认参数:
ceph osd pool rm pool_apache pool_apache --yes-i-really-really-mean-it - 终极防呆 :生产环境强烈建议对重要池设置
nodelete属性,防止手滑误删:
ceph osd pool set pool_apache nodelete true