目的
利用 openstack cinder 服务连接 ceph 存储
用于 ceph 存储云盘服务
cinder backend
使用 openstack 集群 cinder 服务存储用户数据, 提供数据安全保障
利用 cinder 连接存储集群用于 openstack 云盘
cinder 需要连接一个或多个存储 backend [一个鸡蛋不要老放到一个篮子]
cinder 后端可以连接多种的 backend, 如: nfs, glusterfs, cinder 等等
历史
cinder 与 GlusterFS
之前曾经使用 openstack 连接 GlusterFS 用于 cinder 后端存储
GlusterFS 经常会出现需要手动维护问题, 维护过程中严重占用网络带宽
因此后期把 GlusterFS 中数据迁移至 Ceph 中 (手动)
问题
当 ceph 磁盘出现故障
ceph 底层会出现数据 reblance
这个过程同样会抢夺磁盘 IO,会导致上次用户(volume 使用者)有卡顿问题
当底层 ceph 存储数据已满,需要对 CEPH 进行扩容
扩容过程中同样导致抢夺磁盘 IO 现象
**参考 **
ceph recovery 参数调研
cinder 与独立 Ceph
弃用 GlusterFS 之后, 在一段时间内(24 months) 一直在使用 Ceph 集群
Ceph 总体上维护成本不高, 只会经常出现底层磁盘故障需要更换硬盘问题
Ceph 空间使用率不高, 我们使用 3 replication, 因此只可以使用默认空间 1/3
另外, Ceph 设定空间使用率在 80% 时触发报警, 那么实际可用空间为总容量的 33% * 80% = 26% 左右
当 Ceph 磁盘空间使用率在 100% 时, 将会出现灾难, 任何操作(增删改) 都无法操作, 必须通过扩容解决
后使用 Ceph 时, 也出现过 Ceph 集群扩容时间, 通过添加物理存储实现, 过程相当迂回曲折, 动魄惊心
ceph 扩容的确不是一个十分好的选择
cinder 与多 ceph backend
总结之间的使用习惯与经验, 在之前 Ceph 集群容量用光之前, 决定再添加一个新的 ceph 集群, 而不直接对其进行扩容
环境准备
ceph 集群
openstack cinder 服务