首页 > 其他分享 >4、ceph-crush进阶

4、ceph-crush进阶

时间:2024-01-21 22:56:32浏览次数:29  
标签:crush 进阶 运行图 ceph PG node1 OSD

一、Ceph Crush进阶

ceph集群中由mon服务器维护的的五种运行图: Monitor map  #监视器运行图 OSD map #OSD运行图 PG map  #PG运行图 Crush map  #(Controllers replication under scalable hashing #可控的、可复制的、可伸缩的一致性hash算法。crush运行图,当新建存储池时会基于OSD map创建出新的PG组合列表用于存储数据。 MDS map  #cephfs metadata运行图   obj -> pg hash(oid)%pg=pgid Obj -> OSD crush根据当前的mon运行图返回pg内的最新的OSD组合。数据即可开始往主的写然后往副本OSD同步 crush算法针对目的节点的选择: 目前有5种算法来实现节点的选择,包括Uniform、ListTree、Straw、Straw2,早期版本使用的是ceph 项目的发起者发明的算straw,日前已经发展到 straw2版本。

1、PG与OSD映射调整

默认情况下,crush算法自行对创建的pool中的PG分配OSD。但是可以手动基于权重设置crush算法分配数据的倾向性,比如1T的磁盘权重是1,2T的就是2,推荐使用相同大小的设备。 # 查看当前状态
root@node1:~# ceph osd df
weight表示设备(device)的容量相对值,比如1TB对应1.00,那么500G的OSD的weight 就应该是0.5。weight是基于磁盘空间分配PG的数量,让crush算法尽可能往破盘空间大的OSD多分配PG,往磁盘空间小的OSD分配较少的 PG。 Reweight参数的目的是重新平衡ceph 的CRUSH算法随机分配的PG,默认的分配是概率上的均衡,即使OSD都是一的磁盘空间也会产生些PG分布不均匀的情况,此时可以通过调整reweight参数,让ceph集群立即重新平衡当前磁盘的PG,以达到数据均街分布的目的,REWEIGHT是PG已经分配完成,要在 ceph集群重新平衡PG的分布。 #调整weight,立即生效,pg迁移
root@node1:~# ceph osd crush reweight osd.0 0.003
root@node1:~# ceph osd  crush  -h
#调整reweight
root@node1:~# ceph osd reweight 1 0.9
  导出运行图并转换为文本文件
root@node1:~# ceph osd getcrushmap -o /tmp/crushmap
root@node1:~# apt install ceph-base
root@node1:~# crushtool -d /tmp/crushmap > /tmp/crushmap.txt
可按需修改后导回到集群,慎重。

标签:crush,进阶,运行图,ceph,PG,node1,OSD
From: https://www.cnblogs.com/cmxu/p/17978625

相关文章

  • 3、ceph集群的管理和维护
    一、通过sock文件单机管理(很少用)root@node1:~#ceph--admin-socket/var/run/ceph/ceph-osd.0.asokstatusroot@node1:~#ceph--admin-socket/var/run/ceph/ceph-osd.0.asok--helproot@node1:~#ceph--admin-daemon/var/run/ceph/ceph-mon.node1.asokconfigshowroo......
  • 二叉树面试题进阶
    二叉树面试题进阶1.二维数组存储层序遍历结果难点: 如何存储每一层的节点?根据队列节点的个数判断每一层classSolution{publicList<List<Integer>>levelOrder(TreeNoderoot){List<List<Integer>>retList=newArrayList<>();if(root==nu......
  • 代码之外:工程师的成长进阶秘籍
    程序员只懂技术能行吗? 为什么说技术人员“说”和“写”总得擅长一个? 你以为的“关注结果”是真的结果吗? 从一线工程师跃升团队管理者一共分几步? 在不断变化的职场环境中,技术人如何保持竞争力并实现自我增值,是摆在每个人面前的挑战。无论是一线工程师还是技术管理者,如......
  • TS进阶1
    //1、函数重载functionhello(name:string):stringfunctionhello(age:number):stringfunctionhello(value:string|number):string{if(typeofvalue==='string'){return'你好,我的名字是'+value}elseif(typeofvalue==='......
  • 鸿蒙生态游戏揭开进阶新篇章,25家游戏伙伴参加合作仪式
    1月18日,鸿蒙千帆启航仪式在深圳召开,华为宣布HarmonyOSNEXT鸿蒙星河版开发者预览面向开发者开放申请,并公布鸿蒙生态最新进展:鸿蒙生态设备数量仅历时5个月即从7亿增长至8亿,千行百业实现万物互联,将打开万亿级产业新蓝海。游卡网络、紫龙游戏、雷霆游戏、巨人网络、中旭未来、游酷盛......
  • 搜索学习笔记+杂题 (进阶二 dfs/bfs的进阶)
    前言:由于搜索的题还是做的太少了,所以以后有可能会不定期更新。四、还是进阶的dfs/bfs相关题单:戳我1、dfs(1)meetinthemiddleP2962[USACO09NOV]LightsG颠覆了我对折半搜索的认知,果然,只要满足了折半搜索的几个性质,基本上都可以使用折半搜索来处理。首先我们拿到的是一张......
  • Java进阶1
    Struct顺序packagecom.zzl.struct;publicclassShunXuDemo1{publicstaticvoidmain(String[]args){System.out.println("hello1");System.out.println("hello2");System.out.println("hello3");......
  • 网络编程进阶
    网络编程进阶1.OSI7层模型OSI的7层模型对于大家来说可能不太好理解,所以我们通过一个案例来讲解:假设,你在浏览器上输入了一些关键字,内部通过DNS找到对应的IP后,再发送数据时内部会做如下的事:应用层:规定数据的格式。"GET/s?wd=你好HTTP/1.1\r\nHost:www.baidu.com\r\n\r......
  • 23.电子商城接口自动化测试 框架进阶实战
    现有问题 可维护性差:一个api发生变化,需要修改用例文件可读性差:无法从代码中看出来明确的业务逻辑断言能力差:响应内容只能一层一层提取架构优化设计 @startumlscale700*500packageconfig<<Folder>>{}packageutils<<Folder>>{}packageapis<......
  • ceph分布式存储部署(ceph-deploy)
    ceph分布式存储部署(ceph-deploy)ceph学习ceph简介和特性ceph时一个多版本存储系统,它把每一个待管理的数据量切分为一到多个固定带下的对象数据,并以其为原子单元完成数据存取。对象数据的地处存储服务是由多个主机组成的存储集群,该集群也被称为RADOS存储集群即可靠、自动化、分布式......