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. boost unordered

    Boost.Unordered provides the classes boost::unordered_set, boost::unordered_multiset, boost::unorder ...

  2. InputStream接口的常见实现类

    一. FileInputStream FileInputStream可以从系统文件中获取输入字节,也从可以从诸从图象数据的的原始字节流中读取. 如果是读取字符串流,推荐使用FileReader. 感觉 ...

  3. php explode()函数 语法

    php explode()函数 语法 作用:把字符串打散为数组 语法:explode(separator,string,limit)大理石机械构件 参数: 参数 描述 separator 必需.规定在 ...

  4. PCB下元器件重叠放置--Altium Designer

    这里指的是同层元件重叠,即在大的器件下放置小的器件:虽然程序设计规则默认同层元件重叠是错误的,但是在实际设计中,同层元件重叠却经常使用. 以Altium Designer9.0为例:不过好像规则里并没 ...

  5. LOJ 2997 「THUSCH 2017」巧克力——思路+随机化+斯坦纳树

    题目:https://loj.ac/problem/2977 想到斯坦纳树.但以为只能做 “包含一些点” 而不是 “包含一些颜色” .而且不太会处理中位数. 其实 “包含一些颜色” 用斯坦纳树做也和普 ...

  6. Visible Lattice Points

    题目链接 题意:给个N*N的矩形点,求在原点看去能看到多少个点 思路:除了(1,0),(0,1),(1,1)外其他点的xy都互质.所以求欧拉函数.fhi[i]从2加到n,再是两倍,再加3. #incl ...

  7. JQUERY的$(function(){})和window.onload=function(){}的区别【转】

    在Jquery里面,我们知道入口函数有两种写法:$(function(){}) 和$(document).ready(function(){}) 作用类似于传统JavaScript中的window.o ...

  8. python练习题返回列表中的第二小的元素的下标

    # 第三题:返回列表中的第二小的元素的下标 # 1.参数是一个列表,元素全部是整数 # 2.返回第二小的元素的下标 def seconde_min(lt): n = len(lt) if lt[0]& ...

  9. python slot

    每个实例包含一个字典,slot 让实例变成tup 或list,减少内存,但不能再增加属性 For classes that primarily serve as simple data structu ...

  10. iOS OpenGL ES简单绘制三角形

    OpenGL 是用于2D/3D图形编程的一套基于C语言的统一接口. windows,Linux,Unix上均可兼容. OpenGL ES 是在OpenGL嵌入式设备上的版本, android/iOS ...