第 7 章 管理 ceph-immutable-object-cache 守护进程
作为存储管理员,使用 ceph-immutable-object-cache
守护进程来缓存本地磁盘上的父镜像内容。这个缓存位于本地缓存目录中。以后在该数据上读取使用本地缓存。
图 7.1. Ceph 不可变缓存守护进程
7.1. ceph-immutable-object-cache
守护进程的解释
克隆块设备镜像通常只修改一小部分父镜像。例如,在虚拟桌面接口(VDI)中,虚拟机从同一基础镜像克隆,最初仅由主机名和 IP 地址不同。在启动过程中,如果您使用父镜像的本地缓存,这个速度会在缓存主机上读取。这个更改减少了客户端到集群网络流量。
使用 ceph-immutable-object-cache
守护进程的原因
ceph-immutable-object-cache
守护进程是 Red Hat Ceph Storage 的一部分。它是可扩展、开源和分布式存储系统。它使用 RADOS 协议连接到本地集群,根据默认的搜索路径查找 ceph.conf
文件,monitor 地址以及它们的验证信息,如 /etc/ceph/CLUSTER.conf
, /etc/ceph/CLUSTER.keyring
, 和 /etc/ceph/CLUSTER.NAME.keyring
, 其中 CLUSTER 是集群的一个用户友好的名称,NAME 是用于连接的 RADOS 用户,例如 client.ceph-immutable-object-cache
。
守护进程的主要组件
ceph-immutable-object-cache
守护进程有以下部分:
-
基于域套接字的进程间通信(IPC):守护进程在启动时侦听本地域套接字,并等待来自
librbd
客户端的连接。 - 最早使用的(LRU)基于升级或降级策略:守护进程在每个缓存文件中维护 cache-hits 的内存统计信息。如果容量到达配置的阈值,它会降级冷缓存。
- 基于文件的缓存存储:守护进程维护基于文件的简单缓存存储。在提升 RADOS 对象时,从 RADOS 集群获取并存储在本地缓存目录中。
打开每个克隆的 RBD 镜像时,librbd
会尝试通过其 Unix 域套接字连接到 cache 守护进程。成功连接后,librbd
会在后续读取时与 守护进程协调。如果有没有缓存的读取,守护进程会将 RADOS 对象提升到本地缓存目录,因此对象上的下一个读取将从缓存中服务。守护进程还维护简单的 LRU 统计数据,以便在需要时让它驱除冷缓存文件。
为提高性能,使用 SSD 作为底层存储。