首页/系统与基础设施/存储速查/Ceph RBD 块设备与快照使用
分布式与对象存储70 条

Ceph RBD 块设备与快照使用

RBD 是 Ceph 提供的块设备接口,把集群容量切成带多副本的虚拟磁盘供主机或虚拟机使用;快照秒级生成且不复制数据,配合保护与克隆可快速交付环境,但需注意一致性口径与快照链长度。

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌‌​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌‌​​‌​​‌‌​​​​‌​‌‌​​‌‌‌​‌‌​​‌​‌​​‌​‌‌‌‌​‌‌​​​‌‌​‌‌​​‌​‌​‌‌‌​​​​​‌‌​‌​​​​​‌​‌‌​‌​‌‌‌​​‌​​‌‌​​​‌​​‌‌​​‌​​​​‌​‌‌​‌​‌‌​​​‌​​‌‌​‌‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌​‌​‌‌​​‌​‌‌​‌​‌‌​​​​‌​‌‌​‌‌‌​​‌‌​​‌​​​​‌​‌‌​‌​‌‌‌​​‌‌​‌‌​‌‌‌​​‌‌​​​​‌​‌‌‌​​​​​‌‌‌​​‌‌​‌‌​‌​​​​‌‌​‌‌‌‌​‌‌‌​‌​​​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​

RBD 是什么

RBD(RADOS Block Device)把 Ceph 集群切成一块块虚拟磁盘,主机挂载后当成普通块设备使用,可格式化文件系统、当数据库盘或容器卷。块设备分布在多个 OSD 上,天生带多副本,因此快照、克隆和扩容都只在集群侧完成,不需要像传统 LUN 那样重新划分配置。

基本信息

适用平台Ceph 集群 + Linux 客户端
管理命令rbd create / ls / map / snap / clone
依赖需先建好存储池并启用 rbd 应用
权限要求对目标池具备读写 caps 的 CephX 身份

典型使用场景

  • 给虚拟机或物理机提供云盘,替代传统集中式存储 LUN
  • 数据库盘:需要快照备份和一致性保护的业务卷
  • 容器持久卷:动态供给块设备再挂进容器
  • 快速交付环境:对做过初始化配置的镜像卷做克隆,秒级出一套新盘

创建与挂载

创建与挂载
ceph osd pool create data 128 128        # 建池并设置 PG 数
rbd pool init data                       # 池启用 rbd 应用
rbd create data/dbvol --size 200G        # 创建 200G 块设备
rbd map data/dbvol                       # 映射到本机,输出设备名
rbd info data/dbvol                      # 查看大小、特性与所属池

快照、克隆与保护

快照、克隆与保护
rbd snap create data/dbvol@snap1         # 打快照,秒级完成
rbd snap ls data/dbvol                   # 列出快照
rbd snap protect data/dbvol@snap1        # 保护后才能克隆
rbd clone data/dbvol@snap1 data/dbcopy   # 克隆出可写副本
rbd snap purge data/dbvol                # 清理全部快照(谨慎)

输出逐列读法

字段含义异常表现
size卷容量,写入不会自动扩张与预期不符说明建立时给错大小
features启用的卷特性,如分层与互斥锁旧内核客户端挂载失败常因特性不支持
snap_count快照数量,过多影响性能长期不清快照会导致写入放大
快照是瞬时指针,不占双倍空间,但快照链过长时写入会退化为拷贝,长期保留大量快照既费空间也拖性能。
克隆出的卷在被挂载写数据后与父快照绑定更深,删除父快照前必须先处理子卷,否则会破坏子卷数据。

快照与克隆使用要点

  • 应用侧先刷新缓存或暂停写入再打快照,一致性的口径由业务决定
  • 快照名带时间戳与用途,事后追溯时不必靠猜
  • 克隆依赖的父快照加保护标记,防止被清理流程误删
  • 卷扩容后在操作系统内还要扩展文件系统,只扩集群侧不生效
  • 跨环境迁移前核对目标内核与卷特性的兼容性
卷容量只能扩大不能缩小,规划时留出增长余量;确需变小只能新建卷并迁移数据。

易错点

  • 快照只保证卷层面一致,文件系统与应用缓存未落盘时快照仍是崩溃一致而非事务一致
  • 对快照做 protect 后忘记,想删快照时被拒绝,误以为集群故障
  • 克隆出的卷直接在两个客户端同时挂载,文件系统被并发写坏
  • 长期累积大量快照不清理,写入放大导致性能缓慢下降

数据来源与参考

  • Ceph 官方文档:Block Device (RBD) 概述与命令参考
  • Ceph 官方文档:Snapshots 与 Cloning

整理校对:其其网ICT文档中心 · 本页地址:docs.qiqicto.com/storage/ceph-rbd-block-and-snapshot.html

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌‌​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌‌​​‌​​‌‌​​​​‌​‌‌​​‌‌‌​‌‌​​‌​‌​​‌​‌‌‌‌​‌‌​​​‌‌​‌‌​​‌​‌​‌‌‌​​​​​‌‌​‌​​​​​‌​‌‌​‌​‌‌‌​​‌​​‌‌​​​‌​​‌‌​​‌​​​​‌​‌‌​‌​‌‌​​​‌​​‌‌​‌‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌​‌​‌‌​​‌​‌‌​‌​‌‌​​​​‌​‌‌​‌‌‌​​‌‌​​‌​​​​‌​‌‌​‌​‌‌‌​​‌‌​‌‌​‌‌‌​​‌‌​​​​‌​‌‌‌​​​​​‌‌‌​​‌‌​‌‌​‌​​​​‌‌​‌‌‌‌​‌‌‌​‌​​​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​