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. spring+springMVC+mybatis框架整合——配置文件说明

    如下图 web.xml配置说明: spring配置文件说明-1: spring配置文件说明-2: spring配置助记:  扫注(base) 读配(loc) 数据源(和comb(使用c3p0数据源)) ...

  2. element upload上传前对文件专门bs64上传

    <!-- 文件上传 --> <template> <section class="file-upload"> <p class=" ...

  3. mysql经典面试题之学生成绩表

    需要数据库表1.学生表 Student(SID,Sname,Sage,Ssex) --SID 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别 2.课程表 Course(CID, ...

  4. 异常的处理try-catch

    Java异常处理 Java采用的异常处理机制,是将异常处理的程序代码集中在一起, 与正常的程序代码分开,使得程序简洁.优雅,并易于维护. * 异常的处理: 抓抛模型*** 过程一 : 抛, 程序在执行 ...

  5. php优化及高效提速问题小结

    一. 在函数中,传递数组时使用 return 比使用 global 要高效,比如: function userloginfo($usertemp){ $detail=explode("&qu ...

  6. 返回闭包不能引用循环变量,请改写count()函数,让它正确返回能计算1x1、2x2、3x3的函数。

    错误写法: 正确写法:

  7. Logstash,Fluentd, Logtail对比伤害

    摘要: 针对主流日志采集客户端(Logstash,Fluentd,以及日志服务客户端Logtail)进行功能.性能和稳定性测评 日志收集的场景 DT时代,数以亿万计的服务器.移动终端.网络设备每天产生 ...

  8. python RBAC权限控制模型扩展 基于JWT实现

    jwt,全称 json web token,是使用一定的加密规则生成的token串来保证登录状态.验证用户身份.做权限认证等工作 以往保存用户登录状态多用session实现,但是当服务涉及多台服务器分 ...

  9. Sublime Text3怎样在Deepin中配置CTags插件

    首先是要安装好Package Control,然后装插件CTags,这个时候在文件中右键已经能够出现Navigate to Definition菜单项了.然而,如果没有装CTags这个软件还是没用,所 ...

  10. leetcode-350- 两个数组的交集 II

    问题: package com.example.demo; import java.util.ArrayList; import java.util.Arrays; import java.util. ...