创建3台vm
分别是ceph01、ceph02、ceph03
a)后台手动部署ceph
b)后台部署完毕后创建一个HDD池
rados mkpool HDD
然后定制crushmap
1.ceph osd getcrushmap -o crushmap 获取当前crushmap
2.crushtool -d crushmap -o crushmap.txt 将二进制的crushmap转换成文本格式便于修改
# begin crush map
tunable choose_local_tries 0
tunable choose_local_fallback_tries 0
tunable choose_total_tries 50
tunable chooseleaf_descend_once 1
# devices
device 0 osd.0
device 1 osd.1
device 2 osd.2
device 3 osd.3
device 4 osd.4
device 5 osd.5
# types
type 0 osd
type 1 host
type 2 chassis
type 3 rack
type 4 row
type 5 pdu
type 6 pod
type 7 room
type 8 datacenter
type 9 region
type 10 root
# buckets
host ceph01 {
id -2 # do not change unnecessarily
# weight 0.000
alg straw
hash 0 # rjenkins1
item osd.0 weight 0.000
item osd.1 weight 0.000
}
host ceph02 {
id -3 # do not change unnecessarily
# weight 0.000
alg straw
hash 0 # rjenkins1
item osd.2 weight 0.000
item osd.3 weight 0.000
}
host ceph03 {
id -4 # do not change unnecessarily
# weight 0.000
alg straw
hash 0 # rjenkins1
item osd.4 weight 0.000
item osd.5 weight 0.000
}
root default {
id -1 # do not change unnecessarily
# weight 0.000
alg straw
hash 0 # rjenkins1
item ceph01 weight 0.000
item ceph02 weight 0.000
item ceph03 weight 0.000
}
root flash {
id -5 # do not change unnecessarily
# weight 0.000
alg straw
hash 0 # rjenkins1
item osd.0 weight 0.000
item osd.2 weight 0.000
item osd.4 weight 0.000
}
root hdd {
id -6 # do not change unnecessarily
# weight 0.000
alg straw
hash 0 # rjenkins1
item osd.1 weight 0.000
item osd.3 weight 0.000
item osd.5 weight 0.000
}
# rules
rule replicated_ruleset {
ruleset 0
type replicated
min_size 1
max_size 10
step take default
step chooseleaf firstn 0 type host
step emit
}
rule hdd_ruleset {
ruleset 1
type replicated
min_size 1
max_size 10
step take hdd
step chooseleaf firstn 0 type osd
step emit
}
rule flash_ruleset {
ruleset 2
type replicated
min_size 1
max_size 10
step take flash
step chooseleaf firstn 0 type osd
step emit
}
# end crush map
3.crushtool -c crushmap.txt -o ncrushmap 将新的crushmap反编译回二进制
4.ceph osd setcrushmap -i ncrushmap 将新的映射到集群中
(ceph osd pool set hdd crush_ruleset 1
ceph osd pool set sad crush_ruleset 2)将生成的新rules使能到pool中
5.添加cachetier之前测试一下空间可用
echo 'test' | rados -p HDD put test_object - 添加一个对象
rados -p HDD get test_object - 查看该对象的内容
rados df
rados -p HDD rm test_object 删除该测试对象
6.ceph osd tier add HDD flash 将flash pool添加到HDD pool上的cache tier
ceph osd tier cache-mode flash writeback 设置flashpool的cache模式
ceph osd tier set-overlay HDD flash
获取参数值的命令:ceph osd pool get {cachepool} {key}
设置参数命令ceph osd pool set {cachepool} {key} {value}
74 ceph osd pool get flash hit_set_type
75 ceph osd pool set flash hit_set_type bloom
76 ceph osd pool set flash hit_set_count 0
77 ceph osd pool set flash hit_set_period 3600
78 ceph osd pool set flash target_max_bytes 10000000000
79 ceph osd pool set flash cache_target_dirty_ratio 0.4
80 ceph osd pool set flash cache_target_full_ratio 0.8
81 ceph osd pool set flash target_max_objects 1000000
82 ceph osd pool set flash cache_min_flush_age 600
83 ceph osd pool set flash cache_min_evict_age 1200
7.找一台客户端机挂载一个文件系统
在挂载点下写一个shell脚本循环写入100个文件
此时rados df
能看到flash的pool中写入了很多对象
8.将flash pool的数据刷到hdd上 (操作之前将/wyz挂载点umont掉)
rados -p flash cache-flush-evict-all
刷结束后再mount上,发现数据完好都在
flash cache tier下放flush实验相关推荐
- Ceph cache tier 中 flush 和 evict 机制源码分析
存储系统:ceph-14.2.22 操作系统:ubuntu-server-16.04.07 OSDService::agent_entry [ 文件路径 ] ceph/src/osd/OSD.cc O ...
- cache tier 分级缓存
一图描述 cache tier: Ceph 缓存层将冷热数据分离,以快速存储设备作为缓存层,低速廉价存储设备作为存储层 提升 IO 性能 使用两个 pool,作为存储层和缓存层,缓存层覆盖在存储层上, ...
- Ceph Cache Tier中缓存读写流程源码分析
存储系统:ceph-14.2.22 PrimaryLogPG::do_request [ 文件路径 ] ceph/src/osd/PrimaryLogPG.cc OSD在收到客户端发送的请求时,会调用 ...
- oracle flash_cache,11gR2新特性之二 - Flash Cache 的SSD支持
11gR2新特性之二 - Flash Cache 的SSD支持 Flash Cache的新特性就早已经被释放出来,该特性允许使用SSD硬盘作为Buffer Cache的二级缓存,以在磁盘和内存之间增加 ...
- Ceph Cache Tier
CacheTier是ceph服务端缓存的一种方案,简单来说就是加一层Cache层,客户端直接跟Cache层打交道,提高访问速度,后端有一个存储层,实际存储大批量的数据. 分层存储的原理,就是存储的数据 ...
- Ceph性能测试(RBD、CephFS、NFS、Cache Tier)
本文是以下两篇文章的后续: 探索fio参数如何选择以及全方位对比HDD和SSD性能:部署Ceph前测试磁盘性能,同时基于fio测试参数的变化深入了解fio原理和磁盘IO特点. CentOS8使用cep ...
- SEEDLab ARP Cache Poisoning Attack Lab 实验报告
文章目录 实验过程 实验环境 一个小tips task1:ARP Cache Poisoning task 1A (using ARP request) 实验过程一个小tips: task 1B (u ...
- frame被废除_废除Microsoft Office:G Suite机会
frame被废除 When I think of products underpinning our economy that are ripe for disruption, my mind fir ...
- 计算机应用基础实验报告册,计算机应用基础实验报告(flash)
实 验 报 告 计算机应用基础实验报告 姓名 班级 学号 实验日期 课程名称 计算机应用基础 指导教师 成绩 实验名称:简单动画制作 实验目的: 掌握逐帧动画.形状渐变动画.运动渐变动画的制作方法 实 ...
最新文章
- 多伦多大学和清华大学创新创业论坛,数据科学研究院建言献策
- java居中的命令_用JAVA把语句排列成左对齐、右对齐、居中
- hadoop免密钥配置
- Javascript启动LINUX的x86模拟器
- 美团外卖Android平台化的复用实践
- python的等待代码是什么_Python selenium 三种等待方式详解
- Qt4_Ticker定时器事件
- 存储服务器格式化恢复方法
- 种子文件多服务器,别再问我什么是 BT 种子了!一次性全告诉你
- 时势造英雄,快影成长启示录
- Mycat 读写分离、主从切换、分库分表的操作记录
- 服务器做系统怎么规划,如何做系统容量规划 | 知行天下
- input按钮onclick事件大全
- docker修改系统时间总结
- Pubwin 2007有奖“找茬”计划
- 精通mysql索引机制,你就不用再背sql优化口诀了!!(万字长文)
- 计算机二级自学考试,关于全国计算机等级考试(NCRE)与高等教育自学考试课程衔接的通知...
- 求大神帮忙看一下这张水卡校验码是什么分析一下算法谢谢!!!!
- APP测试,ios系统与Android系统的重点区别
- Powerbuilder历程
热门文章
- kafka核心技术与实战 思维导图
- 从屌丝到高级架构师之路.
- 阿里云开源业界首个面向NLP场景深度迁移学习框架
- 1550:花神游历各国
- 使用Ab命令对Apache服务器进行负载压力测试
- php 使用apache中的ab进行页面压力测试
- AWStats简介:Apache/Windows IIS的日志分析工具的下载,安装,配置样例和使用(含6.9中文定义补丁)...
- Android 查看Android版本的方法
- OSChina 周二乱弹 ——查寝大妈,你写我在床上硬不起来是怎么回事!
- Unity3D经验(3)——飞机弹幕设计