码迷,mamicode.com
首页 > 其他好文 > 详细

ceph之crush map

时间:2015-05-08 14:30:33      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:

 编辑crush map:

  1、获取crush map;

  2、反编译crush map;

  3、至少编辑一个设备,桶, 规则;

  4、重新编译crush map; 

  5、重新注入crush map;

获取crush  map

  要获取集群的crush map,执行命令:

    ceph osd  getcrushmap -o {compiled-crushmap-filename}

  ceph将crush输出(-o)到你指定的文件,由于crush map是已编译的,所以需要反编译;

反编译crush map

  要反编译crush map, 执行命令:

     crushtool -d {compiled-crushmap-filename}  -o {decompiled-crushmap-filename}

  ceph将反编译(-d)二进制crush图,且输出(-o)到你指定的文件;

编译crush map

  要编译crush map,执行命令:

    crushtool -c  {decompiled-crushmap-filename}  -o {compiled-crushmap-filename}

  ceph将已编译的crush map保存到你指定的文件;

注入crush map

  要把crush map应用到集群,执行命令:

    ceph osd  setcrushmap -i {compiled-crushmap-filename}

  ceph 将把你指定的已编译的crush  map输入到集群;

crush map 参数:

CRUSH 图主要有 4 个主要段落。

  1. 设备 由任意对象存储设备组成,即对应一个 ceph-osd 进程的存储器。 Ceph 配置文件里的每个 OSD 都应该有一个设备。
  2. 桶类型: 定义了 CRUSH 分级结构里要用的桶类型( types ),桶由逐级汇聚的存储位置(如行、机柜、机箱、主机等等)及其权重组成。
  3. 桶例程: 定义了桶类型后,还必须声明主机的桶类型、以及规划的其它故障域。
  4. 规则: 由选择桶的方法组成。

如果你用我们的某个“入门手册”配起了 Ceph ,应该注意到了,你并不需要创建 CRUSH 图。 Ceph 部署工具生成了默认 CRUSH 运行图,它列出了你定义在 Ceph 配置文件中的 OSD 设备、并把配置文件 [osd] 段下定义的各 OSD 主机声明为桶。为保证数据安全和可用,你应该创建自己的 CRUSH 图,以反映出自己集群的故障域

  Note : 生成的 CRUSH 图没考虑大粒度故障域,所以你修改 CRUSH 图时要考虑上,像机柜、行、数据中心。

CRUSH 图之设备:

  为把归置组映射到 OSD , CRUSH 图需要 OSD 列表(即配置文件所定义的 OSD 守护进程名称),所以它们首先出现在 CRUSH 图里。要在 CRUSH 图里声明一个设备,在设备列表后面新建一行,输入 device 、之后是唯一的数字 ID 、之后是相应的 ceph-osd 守护进程例程名字。

 

 

ceph之crush map

标签:

原文地址:http://www.cnblogs.com/chris-cp/p/4487476.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!