2.18. 启用持久写入日志缓存
您可以通过设置 Ceph RADOS 块设备(RBD) rbd_persistent_cache_mode
和 rbd_plugins
选项,在 Red Hat Ceph Storage 集群上启用持久性写入日志缓存(PWL)。
必须启用 exclusive-lock 功能以启用持久的写入日志缓存。只有在获取 exclusive-lock 后才能加载缓存。对新创建的镜像会默认启用 exclusive-locks,除非由 rbd create
命令的 rbd_default_features
配置选项或 --image-feature
标志覆盖。有关 exclusive-lock
功能的详情,请参阅 启用和禁用镜像功能 部分。
使用 ceph config set
命令,在主机级别上设置持久的写入日志缓存选项。使用 rbd config pool set
或 rbd config image set
命令在池或镜像级别上设置持久的写入日志缓存选项。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 监控节点的 root 级别访问权限。
- 启用 exclusive-lock 功能。
- 客户端磁盘是持久内存 (PMEM) 或固态磁盘 (SSD)。
- 禁用 RBD 缓存。
流程
启用 PWL 缓存:
在主机级别,使用
ceph config set
命令:语法
ceph config set client rbd_persistent_cache_mode CACHE_MODE ceph config set client rbd_plugins pwl_cache
使用
rwl
或ssd
替换 CACHE_MODE。示例
[ceph: root@host01 /]# ceph config set client rbd_persistent_cache_mode ssd [ceph: root@host01 /]# ceph config set client rbd_plugins pwl_cache
在池级别,使用
rbd config pool set
命令:语法
rbd config pool set POOL_NAME rbd_persistent_cache_mode CACHE_MODE rbd config pool set POOL_NAME rbd_plugins pwl_cache
使用
rwl
或ssd
替换 CACHE_MODE。示例
[ceph: root@host01 /]# rbd config pool set pool1 rbd_persistent_cache_mode ssd [ceph: root@host01 /]# rbd config pool set pool1 rbd_plugins pwl_cache
在镜像级别,使用
rbd config image set
命令:语法
rbd config image set POOL_NAME/IMAGE_NAME rbd_persistent_cache_mode CACHE_MODE rbd config image set POOL_NAME/IMAGE_NAME rbd_plugins pwl_cache
使用
rwl
或ssd
替换 CACHE_MODE。示例
[ceph: root@host01 /]# rbd config image set pool1/image1 rbd_persistent_cache_mode ssd [ceph: root@host01 /]# rbd config image set pool1/image1 rbd_plugins pwl_cache
可选:在主机、池或镜像级别设置额外的 RBD 选项:
语法
rbd_persistent_cache_mode CACHE_MODE rbd_plugins pwl_cache rbd_persistent_cache_path /PATH_TO_CACHE_DIRECTORY 1 rbd_persistent_cache_size PERSISTENT_CACHE_SIZE 2
- 1
rbd_persistent_cache_path
- 一个文件夹来缓存在使用rwl
模式时必须启用直接访问 (DAX) 的数据,以避免性能下降。- 2
rbd_persistent_cache_size
- 每个镜像的缓存大小,最小缓存大小为 1 GB。缓存越大,性能越好。为
rwl
模式设置额外的 RBD 选项:示例
rbd_cache false rbd_persistent_cache_mode rwl rbd_plugins pwl_cache rbd_persistent_cache_path /mnt/pmem/cache/ rbd_persistent_cache_size 1073741824
为
ssd
模式设置额外的 RBD 选项:示例
rbd_cache false rbd_persistent_cache_mode ssd rbd_plugins pwl_cache rbd_persistent_cache_path /mnt/nvme/cache rbd_persistent_cache_size 1073741824
其它资源
- 有关使用 DAX 的详情 ,请参阅 kernel.org 中的 Direct Access 文章。