ceph cache pool配置

0.引入

本文介绍如何配置cache pool tiering. cache pool的作用是提供可扩展的cache,用来缓存ceph的热点数据或者直接用来作为高速pool。如何建立一个cache pool:首先利用ssd盘做一个虚拟的bucket tree,

然后创建一个cache pool,设置其crush映射rule和相关配置,最后关联需要用到的pool到cache pool。

1.建立ssd bucket tree

这是新增ssd bucket(vrack)后的osd tree。其中osd.1 osd.0 osd.2使用的是ssd盘。如何创建将简单,无非是调整或新增osd到bucket tree下。

  # ceph osd tree
ID  WEIGHT  TYPE NAME             UP/DOWN REWEIGHT PRIMARY-AFFINITY 
 -1 6.00000 root default                                            
 -2 6.00000     room test                                           
 -3 3.00000         rack r1                                         
 -7 1.00000             host H09                                    
  3 1.00000                 osd.3      up  1.00000          1.00000 
 -9 1.00000             host H07                                    
  5 1.00000                 osd.5      up  1.00000          1.00000 
-10 1.00000             host H06                                    
  6 1.00000                 osd.6      up  1.00000          1.00000 
 -4 3.00000         rack vrack                                      
 -6 1.00000             host vh06                                   
  1 1.00000                 osd.1      up  1.00000          1.00000 
 -8 1.00000             host vh07                                   
  2 1.00000                 osd.2      up  1.00000          1.00000 
 -5 1.00000             host vh09                                   
  0 1.00000                 osd.0      up  1.00000          1.00000

2.修改crushmap

#ceph osd getcrushmap -o map
   #crushtool -d map -o map.txt
   #vi map.txt 
   添加replicated_ruleset_cache crush策略,从vrack机架选择osd
rule replicated_ruleset {
        ruleset 0
        type replicated
        min_size 1
        max_size 10
        step take r1     
        step chooseleaf firstn 0 type host
        step emit
}
rule replicated_ruleset_cache {
        ruleset 1
        type replicated
        min_size 1
        max_size 10
        step take vrack
        step chooseleaf firstn 0 type host
        step emit
}
  #crushtool -c map.txt -o map.new
  #ceph osd setcrushmap -i map.new

3. 创建cache pool

指定新建的pool的crush rules 为replicated_ruleset_cache

#ceph osd pool create rbd.cache 128 128
  #ceph osd pool set rbd.cache crush_ruleset 1

4. 为rbd pool添加cache pool

# ceph osd tier add rbd rbd.cache
 # ceph osd tier cache-mode rbd.cache  writeback
 # ceph osd tier set-overlay rbd rbd.cache

5. 设置cache pool相关参数

参数含义请参考官网

#  ceph osd pool set rbd.cache hit_set_type bloom
   #  ceph osd pool set rbd.cache hit_set_count 1
   #  ceph osd pool set rbd.cache hit_set_period 1800  
   #  ceph osd pool set rbd.cache target_max_bytes 30000000000 
   #  ceph osd pool set rbd.cache min_read_recency_for_promote 1
   #  ceph osd pool set rbd.cache min_write_recency_for_promote 1
   #  ceph osd pool set rbd.cache cache_target_dirty_ratio .4
   #  ceph osd pool set rbd.cache cache_target_dirty_high_ratio .6
   #  ceph osd pool set rbd.cache cache_target_full_ratio .8

6. 参考文档

【CACHE POOL】http://docs.ceph.com/docs/master/dev/cache-pool/

时间: 2024-12-28 08:27:57

ceph cache pool配置的相关文章

Ceph Cache Tier

CacheTier是ceph服务端缓存的一种方案,简单来说就是加一层Cache层,客户端直接跟Cache层打交道,提高访问速度,后端有一个存储层,实际存储大批量的数据. 分层存储的原理,就是存储的数据的访问是有热点的,数据并非均匀访问.有个通用法则叫做二八原则,也就是80%的应用只访问20%的数据,这20%的数据成为热点数据,如果把这些热点数据保存性能比较高的SSD磁盘上,就可以提高响应时间. 性能较高的存储,一般由SSD 磁盘组成,称之为Cache 层,hot层,Cache pool 或者 h

Ceph radosgw 安装配置

Ceph radosgw对象存储的接口,研究配置了许久,现分享如下.首先配置radosgw的前提,是你已经成功的配置好了Ceph集群,通过ceph –s 查看ceph集群,处于health状态.在这里,ceph集群的auth的配置为none,所以有关auth的部分,也就是访问权限相关的keying部分的配置在这里省略. 1)创建rgw相关的pool ceph osd pool create .rgw 128 128 ceph osd pool create .rgw.root 128 128 c

CEPH Cache Tiering

Cache Tiering的基本思想是冷热数据分离,用相对快速/昂贵的存储设备如SSD盘,组成一个Pool来作为Cache层,后端用相对慢速/廉价的设备来组建冷数据存储池. Ceph Cache Tiering Agent处理缓存层和存储层的数据的自动迁移,对客户端透明操作透明.Cahe层有两种典型使用模式: 1)Writeback模式 Ceph客户端直接往Cache层写数据,写完立即返回,Agent再及时把数据迁移到冷数据池.当客户端取不在Cache层的冷数据 时,Agent负责把冷数据迁移到

ceph存储安装配置

1.修改yum源: 1.安装yum源:sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm 2.新建/etc/yum.repos.d/ceph.repo文件:[ceph-noarch] name=Ceph noarch packages baseurl=https://download.ceph.com/rpm/el7/noarch enabled=1 gpgcheck

Azure cache 的配置与应用

最近公司的项目要是用cloud Service 所以研究了下 Azure cache 的配置与使用. 首先创建项目 第二步 配置 cache worker role (1) 点击 cache worker role 项目的属性设置. (2)属性Caching 设置 第三步 添加代码到web项目的 web.config配置文件(identifier应该是Cache role name or Service Endpoint )我们使用的是Cache role name 说以是identifier=

ceph文件系统安装配置

1     前言 Ceph是一种为优秀的性能.可靠性和可扩展性而设计的统一的.分布式文件系统. l  Ceph OSDs: Ceph OSD 守护进程( Ceph OSD )的功能是存储数据,处理数据的复制.恢复.回填.再均衡,并通过检查其他OSD 守护进程的心跳来向 Ceph Monitors 提供一些监控信息.当 Ceph 存储集群设定为有2个副本时,至少需要2个 OSD 守护进程,集群才能达到active+clean 状态( Ceph 默认有3个副本,但你可以调整副本数). l  Moni

nginx的文件cache服务配置记录(proxy_cache)

根据业务部门需求,申请一台文件的cache服务器.如下记录在单台机器上部署Nginx缓存服务过程: nginx缓存配置(缓存配置的参数这里就不做过多解释了,在前面的文档中已说明过,这里只做简单记录) [[email protected] ~]# cat /data/nginx/conf/nginx.conf|grep -v "^$"|grep -v "#" user www; worker_processes 8; events { worker_connectio

HTML 5缓存机制:Cache Manifest配置实例

Cache Manifest是HTML 5的一种缓存机制,文章作者直接用博客当测试环境,虽然[color=#444444 !important]应用起来非常简单,但效果却出奇的好.缓存后的速度,简直是惊人的快.像Yslow显示,打开一个缓存过的页面,只要0.729秒,比不缓存的差不多快了10倍. 一.Cache Manifest基础知识 作为一个Web开发相关的人员,都不会少听到.看到Cache这个词.是的,上面也已经说了,它是一种缓存的机制.它可以通过一个.manifest文件来配置需要缓存的

Windows Azure 系列-- Azure Redis Cache的配置和使用

如果还没有配置Azure Power shell 可以参照这里进行配置:http://blog.csdn.net/lan_liang/article/details/46850221 打开Azure Power Shell 1. 运行 Add-AzureAccount (如果已经添加就不用了) 2. 运行 New-AzureManagedCache -Name mycache -Location "South Central US" -Sku Basic -Memory 128MB 进