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

最佳答案

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



这是当前支持的RDB Cache参数,必须将它们插入ceph.conf文件的client部分中:

rbd cache = RBD缓存大小(以字节为单位)。 |类型: bool(boolean) 值,必填:否,默认值: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 =开始写回之前,脏数据在高速缓存中的秒数。 |类型:Float,必填:否,默认值:1.0
rbd缓存的最大脏年龄

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

10-06 09:00