https://my.oschina.net/hanhanztj/blog/515410

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/

ceph cache pool配置的更多相关文章

  1. Ceph luminous 安装配置

    Ceph luminous 安装配置 #环境centos7 , Ceph V12 openstack pike 与 ceph 集成 http://www.cnblogs.com/elvi/p/7897 ...

  2. ceph中pool的管理

    1.创建pool 创建ceph pool的命令如下,它的参数包括pool名字.PG和PGP的数量. 若少于5个OSD, 设置pg_num为128. 5~10个OSD,设置pg_num为512. 10~ ...

  3. ceph存储安装配置

    1.修改yum源: 1.安装yum源:sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://dl.fedor ...

  4. Azure cache 的配置与应用

    最近公司的项目要是用cloud Service 所以研究了下 Azure cache 的配置与使用. 首先创建项目 第二步 配置 cache worker role (1) 点击 cache work ...

  5. ceph删除pool提示(you must first set the mon_allow_pool_delete config option to true)解决办法

    现象: 1.在mon节点打开/etc/ceph/ceph.conf,增加以下 2.重启ceph-mon systemctl restart ceph-mon.target 3.删除pool [root ...

  6. Azure Redis Cache (4) 配置和管理Redis Cache

    <Windows Azure Platform 系列文章目录> 我们在创建完Azure Redis Cache后,经常需要切换Redis Cache的服务级别,这里我简单介绍一下使用Azu ...

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

    Cache Manifest是HTML 5的一种缓存机制,文章作者直接用博客当测试环境,虽然[color=#444444 !important]应用起来非常简单,但效果却出奇的好.缓存后的速度,简直是 ...

  8. Tomcat jdbc pool配置

    Tomcat jdbc pool是apache在tomcat7版本中启用的新连接池,用它来解决以往DBCP无法解决的一些问题. Tomcat jdbc pool的优点: (1)    tomcat j ...

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

    假设还没有配置Azure Power shell 能够參照这里进行配置:http://blog.csdn.net/lan_liang/article/details/46850221 打开Azure ...

随机推荐

  1. python3运行报错:TypeError: Object of type 'type' is not JSON serializable解决方法(详细)

    返回结果先转成str 字符创

  2. PHP curl_errno函数

    curl_errno — 返回最后一次的错误号 说明 int curl_errno ( resource $ch ) 返回最后一次cURL操作的错误号. 参数 ch 由 curl_init() 返回的 ...

  3. SGU 194 Reactor Cooling (无源上下界网络流)

    The terrorist group leaded by a well known international terrorist Ben Bladen is buliding a nuclear ...

  4. JS中数据结构之列表

    列表是一组有序的数据.每个列表中的数据项称为元素.在 JavaScript 中,列表中的元素可以是任意数据类型.列表中可以保存多少元素并没有事先限定并可以不断壮大,实际使用时元素的数量受到程序内存的限 ...

  5. 用闭包解决 js 循环中函数变量暂存问题

    需求:有一个数组,根据数组的值渲染对应的数字div,单击对应的div 在控制台打印对应的数字.如点击1,控制台打印1. 问题: 不管点击哪个值 打出来都是4 代码如下 <!DOCTYPE htm ...

  6. AcWing 248. 窗内的星星 (扫描线)打卡

    题目:https://www.acwing.com/problem/content/250/ 题意:给你n个点,现在问你能每个点都有个权值,问你能覆盖最多的权值是多少,边界不算 思路:这个其实和我之前 ...

  7. Fail-Fast 机制

    Java 集合(Collection)的一种错误机制: 当多个线程操作集合时,就有可能产生这个错误. 当某个线程正在迭代这个集合的时候,另外一个线程对这个集合做了修改就会产生ConcurrentMod ...

  8. python生成接口自动化测试报告模版

    1:准备html模版 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> &l ...

  9. Redis入门很简单之七【使用Jedis实现客户端Sharding】

    Redis入门很简单之七[使用Jedis实现客户端Sharding] 博客分类: NoSQL/Redis/MongoDB redisjedisspringsharding分片 <一>. 背 ...

  10. (60)c# com com+ dcom

    一.创建COM组件 1.创建项目 2.设置使程序集可见 AssemblyInfo.cs中flase改为ture 或者 项目属性 设置可见 3.Guid生成器 在开始程序下能够找到Guid生成器 每次都 ...