Ceph存储的条带化
存储设备都有吞吐量限制 它会影响性能和伸缩性
如何提高吞吐量和性能?
ceph客户端将数据条带化 然后并行化写入ceph存储集群中的对象
存储对象容量变化的过程
客户端数据条带化到一个对象集(图中的 对象集 1 ) 它包含 4 个对象 第一个条带单元是 object 0 的 stripe unit 0 第四个条带是 object 3 的 stripe unit 3 写完第四个条带,客户端要确认对象集是否满了 如果对象集没满,客户端再从第一个对象起写入条带(图中的 object 0 ) 如果对象集满了 客户端就得创建新对象集(图的 object set 2 ) 然后从新对象集中的第一个对象(图中的 object 4 )起开始写入第一个条带( stripe unit 16 )
ceph如何条带化数据?
- 对象尺寸
- 条带宽度
条带宽度是对象尺寸的分片
Ceph 客户端把一系列条带单元写入由条带数量所确定的一系列对象 这一系列的对象称为一个对象集 客户端写到对象集内的最后一个对象时 再返回到第一个
总结
当客户端把条带单元并行地写入相应对象时 就会有明显的写性能 因为对象映射到了不同的归置组、并进一步映射到不同 OSD 可以并行地以最大速度写入 到单一磁盘的写入受限于磁头移动(如:6ms 寻道时间)和存储设备带宽(如:100MB/s) Ceph把写入分布到多个对象(它们映射到了不同归置组和 OSD ) 这样可减少每设备寻道次数、联合多个驱动器的吞吐量,以达到更高的写(或读)速度