rgw:数据访问加速(D3N)

介绍

D3N全称是Datacenter-Data-Delivery Network (D3N) ,简单理解是在rgw网关节点上把存储在rados集群的数据缓存起来,这种对于rgw网关和rados集群分离部署的场景效果非常好,少了rgw网关到rados集群的网络开销和rados集群读取数据的开销。

P版已经release到16.2.5,但是这个功能没有跟着release,还在开发中。

配置

配置起来还是很简单的,在rgw网关节点操作,假设/dev/sdd1是nvme ssd分区

1、mkdir -p /mnt/nvme0/

2、mount /dev/sdd1 /mnt/nvme0/

3、mkdir -p /mnt/nvme0/rgw_datacache/client.rgw.8000/

4、修改ceph.conf,在[client.rgw.8000]下增加如下配置 :

[client.rgw.8000]
rgw_d3n_l1_local_datacache_enabled = true   # 表示开启D3N功能
rgw_d3n_l1_datacache_persistent_path = "/mnt/nvme0/rgw_datacache/client.rgw.8000/"  # 该rgw实例缓存数据的目录 rgw_d3n_l1_datacache_size = 10737418240 # 缓存大小是10G,单位bytes
rgw_d3n_l1_eviction_policy = lru    # 缓存淘汰策略,有两种:random和lru,默认是lru

如果网关节点上有多个rgw实例,那么将可以把每个rgw实例的缓存目录分开,例如在[client.rgw.8001]的rgw_d3n_l1_datacache_ persistent_ path =”/mnt/nvme0/rgw_datacache/client.rgw.8001/”。

日志

日志也会打在在radosgw.xx.log中,D3N相关的日志行包含了D3N关键字。可以通过debug_rgw_datacache调整日志界别,最高30。

几个注意点

1、每次重启rgw网关实例时,都会清除其对应的缓存目录的数据。

2、不会缓存被rgw网关压缩的对象。

3、不会缓存由rgw网关加密的对象。

4、如果rgw_max_chunk_size配置与rgw_obj_stripe_size配置不同,D3N将会失效。

这里还没有本地实测,后面搞下,参考:https://docs.ceph.com/en/latest/radosgw/d3n_datacache/

你可能感兴趣的:(rgw:数据访问加速(D3N))