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下。

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

2.修改crushmap

  1. #ceph osd getcrushmap -o map
  2. #crushtool -d map -o map.txt
  3. #vi map.txt 添加replicated_ruleset_cache crush策略,从vrack机架选择osd
  4. rule replicated_ruleset {
  5.         ruleset 0
  6.         type replicated
  7.         min_size 1
  8.         max_size 10
  9.         step take r1     
  10.         step chooseleaf firstn 0 type host
  11.         step emit
  12. }
  13. rule replicated_ruleset_cache {
  14.         ruleset 1
  15.         type replicated
  16.         min_size 1
  17.         max_size 10
  18.         step take vrack
  19.         step chooseleaf firstn 0 type host
  20.         step emit
  21. }
  22.   #crushtool -c map.txt -o map.new
  23.   #ceph osd setcrushmap -i map.new

3. 创建cache pool

指定新建的pool的crush rules 为replicated_ruleset_cache

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

4. 为rbd pool添加cache pool

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

5. 设置cache pool相关参数

参数含义请参考官网

  1. #  ceph osd pool set rbd.cache hit_set_type bloom
  2. #  ceph osd pool set rbd.cache hit_set_count 1
  3. #  ceph osd pool set rbd.cache hit_set_period 1800  
  4. #  ceph osd pool set rbd.cache target_max_bytes 30000000000 
  5. #  ceph osd pool set rbd.cache min_read_recency_for_promote 1
  6. #  ceph osd pool set rbd.cache min_write_recency_for_promote 1
  7. #  ceph osd pool set rbd.cache cache_target_dirty_ratio .4
  8. #  ceph osd pool set rbd.cache cache_target_dirty_high_ratio .6
  9. #  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. Jmeter性能测试,使用ServerAgent监控服务端性能指标

    一.jmeter1.下载JMeter Plugins Manager.jar放到你的jmeter\lib\ext目录下2.启动jmeter,进入Plugins Manager找到perfmon安装这个 ...

  2. SpringMvc Filter的使用

    一:Filter过滤器. 先自定义一个过滤器. package com.jbj.filter; import org.springframework.web.filter.OncePerRequest ...

  3. 使用kindeditor直接粘贴本地图片或者是qq截图

    我司需要做一个需求,就是使用富文本编辑器时,不要以上传附件的形式上传图片,而是以复制粘贴的形式上传图片. 在网上找了一下,有一个插件支持这个功能. WordPaster 安装方式如下: 直接使用Wor ...

  4. ansible控制winserver笔记

    原文地址: https://www.cnblogs.com/kingleft/p/6391652.html 环境描述: ansible控制远程windows .系统必须是sp1 .安装framewor ...

  5. 单片机程序第一句ORG 0030H什么意思

    ORG是伪指令,告诉 编译 器,程序从ROM的0000开始存放程序,但是AJMP MAIN是一条无条件跳转指令,也就是说,单片机上电之后首先从0000处开始执行程序,但是,AJMP直接将程序跳转到MA ...

  6. 3天教你掌握Python必备常用英语词汇

    第一天 path [ pɑ:θ ] 路径 unexpected [ˌʌnɪkˈspektɪd] 不期望的 class [klɑ:s] 类 usage [ˈju:sɪdʒ] 使用 public ['p ...

  7. 12. Jmeter-断言

    jmeter-断言介绍与使用 性能测试中较少用到断言.断言会增加脚本执行时间,但是接口测试中断言是必备的.什么是断言?其实就是功能测试中常说的预期结果和实际结果是否相等. 响应断言 JSON Asse ...

  8. CSS 清除浮动的几种方法

    导读: CSS 的 Float(浮动),会使元素向左或向右移动,其周围的元素也会重新排列,Float(浮动),往往是用于图像,使得文字围绕图片的效果,而它在布局时一样非常有用.不过有利也有弊,使用浮动 ...

  9. 字符串String的使用方法

    var ddd = "举头望明月,低头思故乡" document.writeln(ddd.split(''));//选择字符串中的一个标识符,将字符串分割成数组; var slic ...

  10. 初识PHP变量函数语法

    PHP连接字符串 . <?php '你好,'.'我的亲爱的老师'?> PHP语句结束符 <?php echo "欢迎同学们!"; echo "Welco ...