怎么使用crushtool
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,今天就跟大家聊聊有关怎么使用crushtool,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。#使用crushtool 创建一个命名为crush
千家信息网最后更新 2026年11月02日怎么使用crushtool
今天就跟大家聊聊有关怎么使用crushtool,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
#使用crushtool 创建一个命名为crushmap128的crushmap(二进制,未解码),包含128个osd设备,每个host包含8个osd,每个机架里包含4个host,所有的rack都在一个root default里
crushtool --outfn crushmap128 --build --num_osds 128 host straw 8 rack straw 4 default straw 0
或者使用straw2算法
crushtool --outfn crushmap128 --build --num_osds 128 host straw2 8 rack straw2 4 default straw2 0
解码
crushtool -d crushmap128 -o map128.txt
显示 ceph osd tree
crushtool -i crushmap128 --tree
[root@ceph01 test]# crushtool -i crushmap128 --treeID WEIGHT TYPE NAME-21 128.00000 default default-17 32.00000 rack rack0-1 8.00000 host host00 1.00000 osd.01 1.00000 osd.12 1.00000 osd.23 1.00000 osd.34 1.00000 osd.45 1.00000 osd.56 1.00000 osd.67 1.00000 osd.7-2 8.00000 host host18 1.00000 osd.89 1.00000 osd.910 1.00000 osd.1011 1.00000 osd.1112 1.00000 osd.1213 1.00000 osd.1314 1.00000 osd.1415 1.00000 osd.15-3 8.00000 host host216 1.00000 osd.1617 1.00000 osd.1718 1.00000 osd.1819 1.00000 osd.1920 1.00000 osd.2021 1.00000 osd.2122 1.00000 osd.2223 1.00000 osd.23-4 8.00000 host host324 1.00000 osd.2425 1.00000 osd.2526 1.00000 osd.2627 1.00000 osd.2728 1.00000 osd.2829 1.00000 osd.2930 1.00000 osd.3031 1.00000 osd.31-18 32.00000 rack rack1-5 8.00000 host host432 1.00000 osd.3233 1.00000 osd.3334 1.00000 osd.3435 1.00000 osd.3536 1.00000 osd.3637 1.00000 osd.3738 1.00000 osd.3839 1.00000 osd.39-6 8.00000 host host540 1.00000 osd.4041 1.00000 osd.4142 1.00000 osd.4243 1.00000 osd.4344 1.00000 osd.4445 1.00000 osd.4546 1.00000 osd.4647 1.00000 osd.47-7 8.00000 host host648 1.00000 osd.4849 1.00000 osd.4950 1.00000 osd.5051 1.00000 osd.5152 1.00000 osd.5253 1.00000 osd.5354 1.00000 osd.5455 1.00000 osd.55-8 8.00000 host host756 1.00000 osd.5657 1.00000 osd.5758 1.00000 osd.5859 1.00000 osd.5960 1.00000 osd.6061 1.00000 osd.6162 1.00000 osd.6263 1.00000 osd.63-19 32.00000 rack rack2-9 8.00000 host host864 1.00000 osd.6465 1.00000 osd.6566 1.00000 osd.6667 1.00000 osd.6768 1.00000 osd.6869 1.00000 osd.6970 1.00000 osd.7071 1.00000 osd.71-10 8.00000 host host972 1.00000 osd.7273 1.00000 osd.7374 1.00000 osd.7475 1.00000 osd.7576 1.00000 osd.7677 1.00000 osd.7778 1.00000 osd.7879 1.00000 osd.79-11 8.00000 host host1080 1.00000 osd.8081 1.00000 osd.8182 1.00000 osd.8283 1.00000 osd.8384 1.00000 osd.8485 1.00000 osd.8586 1.00000 osd.8687 1.00000 osd.87-12 8.00000 host host1188 1.00000 osd.8889 1.00000 osd.8990 1.00000 osd.9091 1.00000 osd.9192 1.00000 osd.9293 1.00000 osd.9394 1.00000 osd.9495 1.00000 osd.95-20 32.00000 rack rack3-13 8.00000 host host1296 1.00000 osd.9697 1.00000 osd.9798 1.00000 osd.9899 1.00000 osd.99100 1.00000 osd.100101 1.00000 osd.101102 1.00000 osd.102103 1.00000 osd.103-14 8.00000 host host13104 1.00000 osd.104105 1.00000 osd.105106 1.00000 osd.106107 1.00000 osd.107108 1.00000 osd.108109 1.00000 osd.109110 1.00000 osd.110111 1.00000 osd.111-15 8.00000 host host14112 1.00000 osd.112113 1.00000 osd.113114 1.00000 osd.114115 1.00000 osd.115116 1.00000 osd.116117 1.00000 osd.117118 1.00000 osd.118119 1.00000 osd.119-16 8.00000 host host15120 1.00000 osd.120121 1.00000 osd.121122 1.00000 osd.122123 1.00000 osd.123124 1.00000 osd.124125 1.00000 osd.125126 1.00000 osd.126127 1.00000 osd.127
编辑role规则
vim map128.txt #修改rule部分
###3副本都在一个rack且在同一个host内
rule replicated_ruleset { ruleset 0 type replicated min_size 1 max_size 10 step take default step choose firstn 1 type host step chooseleaf firstn 3 type osd step emit}测试结果(测试规则0 ,总共1..5个对象, 3副本) rule 0 (replicated_ruleset), x = 1..5, numrep = 3..3CRUSH rule 0 x 1 [80,84,87] 对象1的3个副本在 osd.80,osd.84,osd.87CRUSH rule 0 x 2 [63,58,61] 对象2的3个副本在 osd.63,osd.58,osd.61CRUSH rule 0 x 3 [121,127,124]CRUSH rule 0 x 4 [67,71,65]CRUSH rule 0 x 5 [45,47,46]###3副本都在一个rack里,可能在同一个host内
rule replicated_ruleset { ruleset 0 type replicated min_size 1 max_size 10 step take default step choose firstn 1 type rack step chooseleaf firstn 3 type osd step emit}测试结果rule 0 (replicated_ruleset), x = 1..5, numrep = 3..3CRUSH rule 0 x 1 [80,84,67]CRUSH rule 0 x 2 [63,50,48]CRUSH rule 0 x 3 [121,127,111]CRUSH rule 0 x 4 [67,86,79]CRUSH rule 0 x 5 [45,38,46]###3副本都在一个rack里,不在同一个host内
rule replicated_ruleset { ruleset 0 type replicated min_size 1 max_size 10 step take default step choose firstn 1 type rack step chooseleaf firstn 3 type host step emit}测试结果rule 0 (replicated_ruleset), x = 1..5, numrep = 3..3CRUSH rule 0 x 1 [80,70,79]CRUSH rule 0 x 2 [63,48,42]CRUSH rule 0 x 3 [121,109,113]CRUSH rule 0 x 4 [67,82,76]CRUSH rule 0 x 5 [45,36,57]###3副本在3个rack里
rule replicated_ruleset { ruleset 0 type replicated min_size 1 max_size 10 step take default step choose firstn 3 type rack step chooseleaf firstn 1 type host step emit}测试结果rule 0 (replicated_ruleset), x = 1..5, numrep = 3..3CRUSH rule 0 x 1 [80,115,43]CRUSH rule 0 x 2 [63,7,126]CRUSH rule 0 x 3 [121,30,73]CRUSH rule 0 x 4 [67,8,61]CRUSH rule 0 x 5 [45,79,28]编码
crushtool -c map128.txt -o maptmp.bin
测试
显示统计信息 测试rule0 上传对象最小1个最多5个 3副本 显示映射关系 显示ceph osd treecrushtool -i maptmp.bin --test --show-statistics --rule 0 --min-x 1 --max-x 5 --num-rep 3 --show-mappings --tree
#添加机架ceph osd crush add-bucket rack01 rackceph osd crush add-bucket rack02 rackceph osd crush add-bucket rack03 rack#移动主机到机架ceph osd crush move ceph23 rack=rack01ceph osd crush move ceph24 rack=rack02ceph osd crush move ceph25 rack=rack03#移动机架到default rootceph osd crush move rack01 root=defaultceph osd crush move rack02 root=defaultceph osd crush move rack03 root=default得到新的crushmap#移动好后使用测试的rule规则和新的crushmap导入到集群中,注意测试的crushmap中的osd编号不一定和实际的编号相同,因此子需要测试后确定rule正确即可
测试完成后导入集群
导出crushmapceph osd getcrushmap -o ma-crush-map解码crushmapcrushtool -d ma-crush-map -o ma-crush-map.txtvim ma-crush-map.txt #修改rule部分为上面测试过的rule编译crushmapcrushtool -c ma-crush-map.txt -o ma-nouvelle-crush-map导入crushmapceph osd setcrushmap -i ma-nouvelle-crush-map
看完上述内容,你们对怎么使用crushtool有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。
测试
副本
对象
机架
结果
内容
规则
移动
集群
最小
相同
主机
二进制
信息
实际
更多
知识
算法
篇文章
编码
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
咖啡豆
瑰夏咖啡
国智互联网科技
科技企业和互联网企业
重庆互联网络科技
苏州互联网科技贷款公司
大白互联网科技
昊天互联网科技有限公司
996高科技互联网公司
浙南科技城互联网大厦建设工程
美国互联网科技实力
广东工业互联网大赛深圳学泰科技
本届互联网大会上的黑科技
广州互联网高科技取餐柜
云鲸互联网络科技有限公司
张家口科技产业互联网平台
互联网科技对化妆品行业
10位科技互联网大佬
高科技和互联网的现代国家
互联网科技快速发展优美句子
新华互联网科技
互联网最新的科技有限公司
互联网科技的发展
互联网校园科技培训
洛阳共同富裕互联网科技有限公司
互联网科技如何创业
广州有谷有贝互联网科技有限公司
云鲸互联网络科技有限公司
福仕德教育科技互联网
东风日产互联网科技公司叫什么