ceph cache tiering

缓存层模式

后端存储无论是erasure-coded或者经济性的存储层。ceph objecter控制对象的存储位置,tiering agent控制什么时间将对象从缓存层刷入到后端存储。管理员配置不同的缓存模式及

  • writeback
    ceph客户端将数据写入缓存层并从缓存层获取相应的ACK。之后数据会从缓存层写入到后端存储。当ceph客户端需要存储层中的数据时,cache tiering agent会将数据迁移到缓存层。然后再将数据发送到ceph客户端。此后,ceph客户端可以使用缓存层执行I/O,直到数据变为非活动状态。(对图片、视频编辑,事务性处理很有用。)
  • readproxy
    该模式下会使用缓存中现存的所有的对象,如果请求的对象并未在缓存层中,将会将请求代理到后端的存储。这对于从writeback转换到禁用缓存非常有用,因为它允许工作负载在缓存耗尽时正常工作,而无需向缓存添加任何新对象。
  • readonly
    仅在读操作时使用缓存,写操作时直接写入到后端存储。该模式适用于不需要存储系统强制一致性的只读工作负载。后端存储中对对象进行更新时,并不会导致缓存中的数据更改。该功能目前出于实验阶段,若使用需要添加–yes-i-really-really-mean-it-mean-it.
  • none
    禁用缓存。

提醒事项

缓存层会降低大部分负载的性能表现。用户需要在使用这些特性的时候特别注意。

  • 负载
    缓存层提升性能是高度依赖负载类型的。因为将数据迁移到缓存和迁出缓存需要开销,只有在大多数请求只涉及少数对象时,它才能发挥出其优势。缓存池应足够大,以捕获工作负载的工作集,以避免抖动。
  • 难以衡量基准
    用于用户衡量性能的大多数基准都会显示缓存层带来的糟糕的表现,因为只有很少的一部分的请求是一个小的对象集,这就需要花费很长的时间使得缓存层变得“warm up”,这样的开销会很大。
  • 通常会更慢
    对于不支持缓存分级的工作负载,性能通常比未启用缓存分级的正常RADOS池要慢。
  • librados object enumeration(对象枚举)
    在这种情况下,librados级别的对象枚举API并不一致。如果应用程序直接使用librados并依赖于对象枚举,那么缓存分层可能无法正常工作。(这对于RGW、RBD或cepfs来说不是问题。)
  • complexity
    启用缓存分层意味着在RADOS集群中使用了大量额外的机制和复杂性。这增加了您在系统中遇到其他用户尚未遇到的错误的可能性,并将您的部署置于更高的风险级别。
  • 较好的负载类型
    RGW time-skewed:如果RGW工作负载是几乎所有的读操作都指向最近写入的对象,那么一个简单的缓存分层配置可以很好地工作,即在一段可配置的时间后,将最近写入的对象从缓存中删除到后端存储层。
  • 较差的负载类型
    replicated cache的erasure-coded RBD存储:这是比较普遍的情况,表现并不是很好。即使是合理倾斜的工作负载也会向cold对象发送一些小的写操作,因为小的写操作还不被erasure-coded所支持。为了满足一个小的(通常是4 KB)写操作,整个(通常是4 MB)对象必须迁移到缓存中。只有少数用户成功地部署了这种配置,而且它只适用于他们,因为他们的数据非常冷(备份),而且他们对性能不敏感。
  • replicated cache的replicated RBD存储:后端存储采用副本机制比采用erasure-coded性能会好一点,但是依然依赖负载类型,同时很难验证。用户需要对他们的负载有很好的理解,需要仔细调整缓存分级的参数等。

存储池设置

设置缓存层,你必须拥有2个存储池。一个作为后端的存储,一个作为缓存存储池。
设置后端存储池:设置后端存储池包含以下两种特别的场景

  • 标准存储:replicated pool
  • erasure coding:erasure pool以较小的性能代价更有效的存储数据

在标准存储的场景中,你可以设置CRUSH故障域。Ceph OSD守护进程在规则中的所有存储驱动器都具有相同的大小、速度(rpm和吞吐量)和类型时执行最佳。有关创建规则的详细信息,请参阅CRUSH Maps。创建规则后,需要创建后端存储池。
在擦除编码场景中,池创建参数将自动生成适当的规则.
在后面的示例中,我们将把后备存储池称为冷存储。

设置缓存存储池

创建缓存存储池的步骤和创建标准存储池的步骤一致,不同的部分在于缓存的磁盘驱动采用性能更好的磁盘,依赖服务器和CRUSH rule。当设置了规则,它应该考虑具有高性能驱动器的主机,而忽略没有高性能驱动器的主机。
官网链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IForFree

整理不易,望多支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值