Ceph RBD 块存储:从创建到 Kubernetes 集成
RBD(RADOS Block Device)是 Ceph 提供的块存储接口,支持精简配置、快照、克隆、增量备份等高级功能。它是 OpenStack Cinder/Nova、Kubernetes PV 的首选后端存储。
本文将详细介绍 RBD 的完整使用流程,包括创建、映射、快照、克隆以及与 Kubernetes 的集成。
一、RBD 基础概念
1.1 什么是 RBD
RBD 将 Ceph 对象存储虚拟化为块设备,提供:
- 精简配置:按需分配空间,提高利用率
- 快照:时间点数据快照,支持回滚
- 克隆:基于快照创建可写副本
- 增量备份:只备份变化的数据
- 动态调整大小:在线扩容/缩容
1.2 核心概念
| 概念 | 说明 | 示例 |
|---|---|---|
| Pool | 存储池,RBD 镜像的容器 | rbd_pool |
| Image | RBD 镜像,即块设备 | vm-disk-001 |
| Snapshot | 镜像的时间点快照(只读) | @snap1 |
| Clone | 基于快照创建的可写副本 | vm-disk-001-clone |
二、RBD 基本操作
2.1 创建存储池
2.2 创建 RBD 镜像
2.3 映射到本地
2.4 调整镜像大小
三、快照与克隆
3.1 创建快照
3.2 回滚快照
3.3 删除快照
3.4 克隆镜像
3.5 快照保护
有克隆的快照需要保护才能删除:
四、镜像备份与迁移
4.1 导出镜像
4.2 导入镜像
4.3 镜像复制(远程集群)
五、QoS 与性能优化
5.1 配置 IOPS 限制
5.2 性能优化建议
- 对象大小:大 IO 场景使用 4MB 或 8MB 对象
- 条带化:高并发场景启用条带化
- 缓存:启用客户端缓存
- SSD 缓存:使用 SSD 作为缓存层
六、Kubernetes 集成
6.1 部署 Ceph CSI
6.2 创建 StorageClass
6.3 创建 PVC
6.4 在 Pod 中使用
七、监控与故障排查
7.1 监控命令
7.2 常见问题
问题 1:无法映射镜像
问题 2:快照无法删除
问题 3:空间不足
总结
通过本文,你掌握了 RBD 的完整使用流程:
- ✅ 创建和管理 RBD 镜像
- ✅ 快照、克隆、回滚操作
- ✅ 镜像备份与迁移
- ✅ QoS 配置与性能优化
- ✅ Kubernetes CSI 集成
下一步:部署 RGW 对象存储网关、搭建 CephFS 文件系统
🔗 相关链接
下一篇将介绍 Ceph RGW 对象存储:S3 兼容接口实战!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。






