标签:
编辑crush map:
1、获取crush map;
2、反编译crush map;
3、至少编辑一个设备,桶, 规则;
4、重新编译crush map;
5、重新注入crush map;
要获取集群的crush map,执行命令:
ceph osd getcrushmap -o {compiled-crushmap-filename}
ceph将crush输出(-o)到你指定的文件,由于crush map是已编译的,所以需要反编译;
要反编译crush map, 执行命令:
crushtool -d {compiled-crushmap-filename} -o {decompiled-crushmap-filename}
ceph将反编译(-d)二进制crush图,且输出(-o)到你指定的文件;
要编译crush map,执行命令:
crushtool -c {decompiled-crushmap-filename} -o {compiled-crushmap-filename}
ceph将已编译的crush map保存到你指定的文件;
要把crush map应用到集群,执行命令:
ceph osd setcrushmap -i {compiled-crushmap-filename}
ceph 将把你指定的已编译的crush map输入到集群;
CRUSH 图主要有 4 个主要段落。
如果你用我们的某个“入门手册”配起了 Ceph ,应该注意到了,你并不需要创建 CRUSH 图。 Ceph 部署工具生成了默认 CRUSH 运行图,它列出了你定义在 Ceph 配置文件中的 OSD 设备、并把配置文件 [osd] 段下定义的各 OSD 主机声明为桶。为保证数据安全和可用,你应该创建自己的 CRUSH 图,以反映出自己集群的故障域
Note : 生成的 CRUSH 图没考虑大粒度故障域,所以你修改 CRUSH 图时要考虑上,像机柜、行、数据中心。
为把归置组映射到 OSD , CRUSH 图需要 OSD 列表(即配置文件所定义的 OSD 守护进程名称),所以它们首先出现在 CRUSH 图里。要在 CRUSH 图里声明一个设备,在设备列表后面新建一行,输入 device 、之后是唯一的数字 ID 、之后是相应的 ceph-osd 守护进程例程名字。
标签:
原文地址:http://www.cnblogs.com/chris-cp/p/4487476.html