怎么使用crushtool
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,今天就跟大家聊聊有关怎么使用crushtool,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。#使用crushtool 创建一个命名为crush
千家信息网最后更新 2025年12月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安全错误
数据库的锁怎样保障安全
什么服务器可以用光猫拨号
昆山哪些公司生产服务器
八百元八核的服务器
数据库处理技术概念股票
达梦数据库dsc
开房数据库 下载
国家网络安全先进集体推荐材料
华为h24h-05服务器报价
怎样应对网络安全人才短缺
电脑考试软件开发
steam数据库网站
爬架网络安全网
我的世界电脑版网易pvp服务器
至尊网络安全
如何租用别人的服务器
功能安全岗和软件开发岗
访问自己服务器被拒绝
香港网站服务器
c乥f网络安全大赛
用mysql数据库简单例子
腾讯的服务器由多少块硬盘组成
数据库费用排行
云服务器的存储优化
怎么查看联想服务器内存
上海皓洹网络技术
网络安全领域中的补丁
商城类软件开发好处
收录电子期刊年限最早的数据库
苏州常规软件开发售后保障
带有数据库项目