Ceph Cache Tier

简介:

CacheTierceph服务端缓存的一种方案,简单来说就是加一层Cache层,客户端直接跟Cache层打交道,提高访问速度,后端有一个存储层,实际存储大批量的数据。

分层存储的原理,就是存储的数据的访问是有热点的,数据并非均匀访问。有个通用法则叫做二八原则,也就是80%的应用只访问20%的数据,这20%的数据成为热点数据,如果把这些热点数据保存性能比较高的SSD磁盘上,就可以提高响应时间。

性能较高的存储,一般由SSD 磁盘组成,称之为Cache 层,hot层,Cache pool 或者 hot pool访问性能比较低的存储层就称为 base pool 或者 data poolcold pool 等。

 

一、ceph cache mode

1、WriteBack模式:

客户端写入cache层,cache层应答,并且及时的写入back层,并删除掉cache层数据。客户端读取时,如果cache层不存在该数据,则从back层迁移数据过来,服务读取请求,一直可以服务到有效期内,适合于大量修改的数据应用场景(例如图片视频编辑联机事务处理类应用),适合数据。

 

2、Read-only模式:

读请求直接发送给cache pool,写请求并不经过cache pool,而是直接发送给back_pool.客户端写数据时,直接写入到back层,客户端读取时,cache层从back层拷贝数据,并在有效期内服务,过期的数据会被删除,这种方式的优点就是,cache pool 设置为单副本就可以了,即使cache pool 层失效,也不会有数据的丢失。这种模式比较适合数据一次写入,多次读取的应用场景。例如图片,视频音频等。适合数据。

 

3、Read-forward模式:

写的时候,和WriteBack模式一样;读的时候,如果cache层不存在该对象,则会转发读请求到back层。

 

4、Read-proxy模式:

Read-forward模式相似,读取的时候不是转发客户端的请求,而是代表客户端去读取back层的数据。

 

二、使用Cache Tier步骤

1、创建2pool

1
2
ceph osd poolcreate cachepool 150 150
ceph osd poolcreate backpool 150 150

2、关联2pool

1
  cephosd tier add backpool cachepool

3、设置cache模式

1
2
ceph osd tiercache-mode cachepool writeback
#writeback|forward|readonly|readforward四种模式根据需求选择


4、设置over-lay

所谓overlay,即所有发送到后端存储层的请求会被转发到cache层。

1
ceph osd tierset-overlay backpool cachepool

 

三、配置cache tier

1
2
3
4
5
6
7
cephosd pool  set  foo-hot hit_set_type bloom
cephosd pool  set  foo-hot hit_set_count 1
cephosd pool  set  foo-hot hit_set_period 3600   # 1 hour
ceph osd pool  set  foo-hot target_max_bytes1000000000000   # 1 TB
ceph osd pool  set  foo-hottarget_max_objects 1000000        # 1million objects
ceph osd pool  set  foo-hotcache_min_flush_age 600    # 10 minutes
ceph osd pool  set  foo-hotcache_min_evict_age 1800    # 30 minutes

Cache层的阈值

1
2
3
4
5
6
ceph osd pool  set  cachepooltarget_max_bytes 1099511627776
ceph osd pool  set  cachepooltarget_max_objects 1000000
ceph osd pool  set  cachepoolcache_target_dirty_ratio 0.4
ceph osd pool  set  cachepoolcache_target_full_ratio 0.8
ceph osd pool  set  cachepool  cache_min_flush_age 600
ceph osd pool  set  cachepoolcache_min_evict_age 1800

删除cache tier(Read-only)

1
2
ceph osd tier cache-mode cachepool none
ceph osd tier remove backpool cachepool

删除cache tier(Write-back)

1
2
3
4
5
ceph osd tier cache-mode cachepool forward
rados -p cachepool  ls
rados -p cachepool cache-flush-evict-all
ceph osd tier remove-overlay backpool
ceph osd tier remove backpool cachepool


本文转自Jacken_yang 51CTO博客,原文链接:http://blog.51cto.com/linuxnote/1791160,如需转载请自行联系原作者
相关文章
|
存储 关系型数据库 API
Ceph RADOS Gateway安装
Ceph RADOS Gateway安装
|
8天前
|
存储 Kubernetes 监控
使用 Persistent Volumes 管理存储
使用 Persistent Volumes 管理存储
|
存储 固态存储 关系型数据库
ceph 指定OSD创建pool
ceph 指定OSD创建pool
ceph 指定OSD创建pool
|
存储 Kubernetes Apache
kubernetes资源对象--持久化存储Persistent Volume和Persistent Volume Claim
概念 存储管理跟计算管理是两个不同的问题。理解每个存储系统是一件复杂的事情,特别是对于普通用户来说,有时并不需要关心各种存储实现,只希望能够安全可靠地存储数据。 为了简化对存储调度,K8S对存储的供应和使用做了抽象,以API形式提供给管理员和用户使用。
2550 0
|
块存储
Ceph-disk手动添加OSD
Ceph-disk手动添加OSD   最近部署了L版的ceph,在进行扩容时,发现手动使用ceph-disk命令出现了问题,根据ceph官网说明,L版要用ceph-volume,然而目前生产环境并未使用这种方式来进行配置,但是L版的使用ceph-disk prepare时创建出来的osd和journal分区效果并不会像J版那样根据配置文件里面的配置来进行创建。
5962 0
|
存储 缓存 块存储
Ceph Cache tier配置
简单了解Cache tier Cache tier 是Ceph服务端缓存的一种方案可以提升存储在后端存储层的I/O性能Cache tier 的创建需要一个由高速而昂贵的存储设备如SSD组成的存储池作为缓存层以及一个相对廉价设备组成的后端存储池作为经济存储层。
7102 0
|
JavaScript 前端开发
|
新零售 存储 算法