Ceph实验室:第八课:查看Ceph_CRUSH_map

查看CRUSH map

  • 从monitor节点上获取CRUSH map
[[email protected] ceph]# ceph osd getcrushmap -o crushmap_compiled_file
  • 反编译CRUSH map
[[email protected] ceph]# crushtool -d crushmap_compiled_file -o crushmap_decompiled_file
  • 修改完成后,我们需要编译他
[[email protected] ceph]# crushtool -d crushmap_decompiled_file -o newcrushmap
  • 将新CRUSH map导入集群中
[[email protected] ceph]# ceph osd setcrushmap -i newcrushmap

[[email protected] ceph]# cat crushmap_decompiled_file

# begin crush map
tunable choose_local_tries 0
tunable choose_local_fallback_tries 0
tunable choose_total_tries 50
tunable chooseleaf_descend_once 1
tunable chooseleaf_vary_r 1
tunable straw_calc_version 1

# devices
device 0 osd.0
device 1 osd.1
device 2 osd.2

# 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 ceph-node1 {
	id -2		# do not change unnecessarily
	# weight 0.000
	alg straw
	hash 0	# rjenkins1
}
host ceph {
	id -3		# do not change unnecessarily
	# weight 0.044
	alg straw
	hash 0	# rjenkins1
	item osd.2 weight 0.015
	item osd.1 weight 0.015
	item osd.0 weight 0.015
}
root default {
	id -1		# do not change unnecessarily
	# weight 0.044
	alg straw
	hash 0	# rjenkins1
	item ceph-node1 weight 0.000
	item ceph weight 0.044
}

# rules
rule replicated_ruleset {
	ruleset 0   #rule编号
	type replicated   #定义pool类型为replicated(还有esurecode模式)
	min_size 1        #pool中最小指定的副本数量不能小1
	max_size 10       #pool中最大指定的副本数量不能大于10 
	step take default #定义pg查找副本的入口点
	step chooseleaf firstn 0 type host  #选叶子节点、深度优先、隔离host
	step emit  #结束

}

# end crush map

注:

下面解释来自:https://my.oschina.net/u/2460844/blog/531722

影响crush算法结果的有两种因素,一个就是OSD Map的结构,另外一个就是crush rule。
OSDMap其实就是一个树形的结构,叶子节点是device(也就是osd),其他的节点称为bucket节点,这些bucket都是虚构的节点,可以根据物理结构进行抽象,当然树形结构只有一个最终的根节点称之为root节点,中间虚拟的bucket节点可以是数据中心抽象、机房抽象、机架抽象、主机抽象等。

上图中红色框内的节点都是bucket节点,这些节点都是根据实际情况进行抽象得来的。

其实也就是实际中整个物理拓扑结构。这个拓扑里的每个节点都有一个权重值,这个权重值等于所有子节点的权重之和,叶子节点的重量由osd的容量决定,一般设定1T的权重为1。

这个权重值在crush算法中也有很重要的地位。

bucket类型解释:

对于bucket节点不只是虚设的节点,bucket同样有type。bucket的type有四种类型结构,uniform、list、tree、straw。这四种bucket有着不同的特性,bucket的type设定同样也影响着crush算法。不同的 类型定位数据在哪个子节点的过程不同。

crush rule主要作用:

  • 从OSD Map中的哪个节点开始查找
  • 使用那个节点作为故障隔离域
  • 定位副本的搜索模式(广度优先 or 深度优先)

    阅读全文:http://click.aliyun.com/m/16683/
时间: 2024-08-04 16:36:16

Ceph实验室:第八课:查看Ceph_CRUSH_map的相关文章

【Linux探索之旅】第二部分第八课:RTFM 阅读那该死的手册

内容简介 1.第二部分第八课:RTFM 阅读那该死的手册 2.第二部分第九课预告:查找文件,无所遁形 RTFM 阅读那该死的手册 今天这一课也会很轻松. 一般Windows的用户不太习惯看使用手册.有些Windows下的软件下载后是带有使用手册的,但是谁会花时间看呢? 在Linux下,阅读手册应该成为一个反射动作,一个自然而然的反应.虽说一开始要我们去看手册会有点让人生畏,但是我们学习各种Linux命令的使用方法的最好去处就是手册了. 我们这个系列教程也绝不能和手册相比,因为我们的教程里对于每一

【C语言探索之旅】 第一部分第八课:第一个C语言小游戏

? 内容简介 1.课程大纲 2.第一部分第八课:第一个C语言小游戏 3.第一部分第九课预告: 函数 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏. C语言编程基础知识 什么是编程? 工欲善其事,必先利其器 你的第一个程序 变量的世界 运算那点事 条件表达式 循环语句 实战:第一个C语言小游戏 函数 练习题 习作:完善第一个C语言小游戏 C语言高级技术 模块化编程 进击的指针,C语言王牌 数组 字符串 预处理 创建你自己的变量类型 文

【C语言探索之旅】 第二部分第八课:动态分配

内容简介 1.课程大纲 2.第二部分第八课: 动态分配 3.第二部分第九课预告: 实战"悬挂小人"游戏 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏. C语言编程基础知识 什么是编程? 工欲善其事,必先利其器 你的第一个程序 变量的世界 运算那点事 条件表达式 循环语句 实战:第一个C语言小游戏 函数 练习题 习作:完善第一个C语言小游戏 C语言高级技术 模块化编程 进击的指针,C语言王牌 数组 字符串 预处理 创建你自己

斯坦福大学IOS开发课程笔记(第八课)

转载请注明出处 http://blog.csdn.net/pony_maggie/article/details/37370159 作者:小马 这节课讲视图的生命周期,网络视图,图像视图以及 滚动视图这些概念以及相关的demo演示.前两个概念比较简单,看一看就明白,我这里只是写图像视图以及 滚动视图的课程笔记. UIImageView用来显示图片.在下面的代码示例中,会有详细的步骤说明,有时候一些简单的应用,可以直接通过xcode设置,甚至不需要写代码. 这幅图向我们展示了scroll view

第八课 网络通信

unix_c_08.txt================第八课 网络通信================一.基本概念------------1. ISO/OSI七层网络协议模型~~~~~~~~~~~~~~~~~~~~~~~~~~+------------+--------------+ ---| 应用层 | Application | ^+------------+--------------+ || 表示层 | Presentation | 高层+------------+---------

NeHe OpenGL教程 第三十八课:资源文件

转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢. NeHe OpenGL第三十八课:资源文件 从资源文件中载入图像: 如何把图像数据保存到*.exe程序中,使用Windows的资源文件吧,它既简单又实用. 欢迎来到NeHe教程第38课.离上节课的写作已经有些时日了,加上写了一整天的code,也许笔头已经

【C++探索之旅】第一部分第八课:传值引用,文件源头

内容简介 1.第一部分第八课:传值引用,文件源头 2.第一部分第九课预告:数组威武,动静合一 传值引用,文件源头 这一课的标题有点怪.其实是由这一课的几个重点内容结合起来取的名,慢慢学习就知道啦. 上一课<[C++探索之旅]第一部分第七课:函数效应,分而治之>中,我们初步认识了函数. 不过不要高兴得太早,你以为函数就这样离你远去了嘛?怎么可能,函数将伴随一生好吗,只要你继续编程的话.哈哈,所以你是跑不掉了~ [小编,都跟你签了协议了,没吃药不要随便出来溜达] 这一课我们就继续深入学习与函数相关

NeHe OpenGL教程 第二十八课:贝塞尔曲面

转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢. NeHe OpenGL第二十八课:贝塞尔曲面 贝塞尔曲面: 这是一课关于数学运算的,没有别的内容了.来,有信心就看看它吧. 贝塞尔曲面 作者: David Nikdel ( [email protected] ) 这篇教程旨在介绍贝塞尔曲面,希望有比我更

NeHe OpenGL教程 第十八课:二次几何体

转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢. NeHe OpenGL第十八课:二次几何体 二次几何体: 利用二次几何体,你可以很容易的创建球,圆盘,圆柱和圆锥. 二次曲面是一种画复合对象的方法,这种方法通常并不需要很多的三角形.我们将要使用第七课的代码.我们将要增加7个变量以及修改纹理以增加一些变化

【二毛SEO教程】第八课:SEO操作-标签的优化

课前复习(第七课): 1.   标题确定后,不要再改:关键词可改.描述不要轻易改. 2.   关键词密度:不要刻意堆砌或者靠近参考比例,临门一脚即可. 3.   关键词:选词很重要,不要急着发外链. 第八课正文: 1.  如何给网站图片添加alt属性? 作用:告诉搜索引擎,这个图片是什么内容. 什么情况下要做ALT:图片和网站本身内容有紧密联系或者链接到内页 (1)  告诉搜索引擎,图片内容. (2)  促进搜索引擎爬行图片内页内容,促进收录量提升. 哪些页面要做ALT:首页和分类页 index