Ceph libRBD缓存控制

因此Ceph在librbd中有一个用户空间页面缓存实现。它是否允许用户提及要分配给每个pod的页面缓存量?如果是,我们可以动态更改分配吗?

weizhaoxia96 回答:Ceph libRBD缓存控制

根据文档和项目github中的问题,没有引用POD级别的页面缓存分配。

Ceph支持RBD的写回缓存。要启用它,请将rbd cache = true添加到ceph.conf文件的[client]部分。默认情况下,librbd不执行任何缓存。写入和读取直接进入存储集群,而写入仅在数据位于所有副本上的磁盘上时返回。启用缓存后,写入将立即返回,除非有超过rbd cache max dirty个未刷新的字节。在这种情况下,写操作会触发写回并阻塞,直到刷新了足够的字节为止。

这是当前受支持的RDB缓存参数,必须将其插入ceph.conf文件的客户端部分:

rbd cache = RBD缓存大小(以字节为单位)。 | 类型:布尔值,必填:否,默认值:false

rbd cache size =为RADOS块设备(RBD)启用缓存。 | 类型:64位整数,必填:否,默认值:32 MiB

rbd cache max dirty =缓存触发回写的dirty限制(以字节为单位)。 |如果为0,则使用直写式缓存。 类型:64位整数,必填:否,约束条件:必须小于rbd cache size,默认值:24 MiB

rbd cache target dirty =缓存开始将数据写入数据存储之前的dirty target。不阻止写入缓存。 | 类型:64位整数,必填:否,约束:必须小于rbd cache max dirty,默认值:16 MiB

rbd cache max dirty age =开始写回之前,脏数据在高速缓存中的秒数。 | 类型:浮动,必填:否,默认值:1.0 rbd缓存的最大脏年龄

rbd cache writethrough until flush =以直写模式开始,并在收到第一个刷新请求后切换回写。如果在rbd上运行的VM太旧而无法发送刷新,例如2.6.32之前的Linux中的virtio驱动程序,则启用此设置是一种保守但安全的设置。 | 类型:布尔值,必填:否,默认值:false

本文链接:https://www.f2er.com/2780234.html

大家都在问