手动编辑Ceph的CRUSH Map

参考文献:
http://docs.ceph.com/docs/master/rados/operations/crush-map-edits/

原来,在一个Ceph集群的CRUSH Map中,hosts都叫做 node-1, node-2, node-3, 现在想把它们都重新命名为 c12-node1, c12-node2, c12-node3.

Step 1. 获得CRUSH Map

ceph osd getcrushmap -o 1.file

以上命令将crush map输出到1.file. 注意,这个1.file是一个二进制文件,还不能编辑。

Step 2. 反编译crushmap文件

crushtool -d 1.file -o 1.txt

以上命令将1.file反编译为文本文件1.txt.

Step 3. 编辑反编译的文本文件

vim 1.txt

将其中所有的node-1更新为 c12-node1 , 依次类推。

Step 4. 编译文本文件为crushmap文件

crushtool -c 1.txt -o 1.new

以上命令以1.txt为基础,编译出1.new这个crushmap文件。

Step 5. 设置crush map

ceph osd setcrushmap -i 1.new

以上命令根据1.new这个crushmap文件来设置新的crush map.

最后,验证一下:

ceph osd crush tree

会发现,原来叫做node-1,node-2,node-3的hosts都更名为 c12-node1, c12-node2, c12-node3 了。

你可能感兴趣的:(存储,Ceph,存储)