CacheTier是ceph服务端缓存的一种方案,简单来说就是加一层Cache层,客户端直接跟Cache层打交道,提高访问速度,后端有一个存储层,实际存储大批量的数据。
分层存储的原理,就是存储的数据的访问是有热点的,数据并非均匀访问。有个通用法则叫做二八原则,也就是80% 的应用只访问20% 的数据,这20% 的数据成为热点数据,如果把这些热点数据保存性能比较高的SSD 磁盘上,就可以提高响应时间。
性能较高的存储,一般由SSD 磁盘组成,称之为Cache 层,hot 层,Cache pool 或者 hot pool ,访问性能比较低的存储层就称为 base pool 或者 data pool ,cold 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、创建2个pool
ceph osd poolcreate cachepool 150 150
ceph osd poolcreate backpool 150 150 2、关联2个pool
cephosd tier add backpool cachepool 3、设置cache模式
ceph osd tiercache-mode cachepool writeback
#writeback|forward|readonly|readforward四种模式根据需求选择
4、设置over-lay
所谓overlay,即所有发送到后端存储层的请求会被转发到cache层。
ceph osd tierset-overlay backpool cachepool 三、配置cache tier
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层的阈值
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)
ceph osd tier cache-mode cachepool none
ceph osd tier remove backpool cachepool 删除cache tier(Write-back)
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
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com