怎么使用crushtool
发表于:2025-02-09 作者:千家信息网编辑
千家信息网最后更新 2025年02月09日,今天就跟大家聊聊有关怎么使用crushtool,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。#使用crushtool 创建一个命名为crush
千家信息网最后更新 2025年02月09日怎么使用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安全错误
数据库的锁怎样保障安全
皇室战争一共几个服务器
温州企业软件开发计划
高职计算机网络技术课程
服务器结构设计建议
强大网络技术的笑话
数据库中图片的数据长度
郑州码头网络技术有限公司
网络安全龙头股有那些
数据库查询条件or和and
外网如何访问服务器
网络安全架构s设计
大疆2s升级固件服务器异常
深圳华谷网络技术
网络技术三级最后一题不得分
跑跑卡丁车辅助软件开发
软件开发公司部门名单
服务器缓存功能实现
网络安全主题班会说课
gt7服务器维护世界
深育杯网络安全
数据库stuDB怎么做
石景山区网络软件开发平台
中职软件开发 课程
长沙云控网络技术有限公司
计算机网络技术待遇
db数据库文件怎么编辑
数据库一直不open
天尊纪传奇服务器
数据库转换名词解释
宜昌市网络安全支撑单位