news 2026/6/15 15:04:19

ceph中的crush map

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ceph中的crush map

当集群系统变得复杂时,我们往往需要多种策略来存放不同类型的数据;例如,将热数据存放于SSD中,而将冷数据放在HDD中。CRUSH rule就是定义了一种选择策略,Ceph中每个逻辑池都必须对应一条合法的rule才能正常工作。还是以上面链接中的crushmap为例,分析一下rule的具体含义。

1rule replicated_ruleset{2ruleset03typereplicated4min_size15max_size106step take default7step chooseleaf firstn0typehost8step emit9}
  • Line 1-2: rule的名称和编号
  • Line 3: rule类型;replicated代表适用于副本池,erasure代表适用于EC池
  • Line 4-5: rule适用的池size大小;本例表示1副本到10副本的池均可采用此条rule
  • Line 6-9: 具体的选择步骤
    • take: 直接选中一项item,一般用于指定选择算法的起点;本例中名为default的root类型bucket即为起点
    • chooseleaf firstn 0 type host: 选择策略,这个是重点,后面细述
    • emit: 返回结果

<1>: choose/chooseleaf

  • choose表示选择结果类型为故障域(由<4>指定)
  • chooseleaf表示在确定故障域后,还必须选出该域下面的OSD节点(即leaf)

<2>: firstn/indep

  • firstn: 适用于副本池,选择结果中rep(replica,指一份副本或者EC中的一个分块,下同)位置无明显意义
  • indep: 适用于EC池,选择结果中rep位置不可随意变动

举例来说,副本池中每份副本保存的是完全相同的数据,因此选择结果为[0, 1, 2](数字代表OSD编号)与[0, 2, 1]并无大的不同。但是EC池不一样,在2+1的配比下前两份是数据块,最后一份是校验块,后两份rep位置一交换就会导致数据出错。

<3>: num_reps

这个整数值指定需要选择的rep数目,可以是正值负值或0。

  • 正整数值即代表要选择的副本数,非常直观
  • 0表示的是与实际逻辑池的size相等;也就是说,如果2副本池用了这个rule,0就代表了2;如果3副本池用了此rule,0就相当于3
  • 负整数值代表与实际逻辑池size的差值;如果3副本池使用此rule将该值设为了-1,那边该策略只会选择出2个reps

<4>: failure domain

指定故障域类型;CRUSH确保同一故障域最多只会被选中一次。

step take default step choose firstn3typehost step choose firstn1typeosd step emit

新增的一步会在上述基础上,再以每个选中的host为起点,在host下选择1个OSD。另一个更方便的方案是:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 11:23:57

ML Visuals:科研图表制作的终极解决方案

ML Visuals&#xff1a;科研图表制作的终极解决方案 【免费下载链接】ml-visuals &#x1f3a8; ML Visuals contains figures and templates which you can reuse and customize to improve your scientific writing. 项目地址: https://gitcode.com/gh_mirrors/ml/ml-visua…

作者头像 李华
网站建设 2026/6/14 5:18:08

为什么 long 有时必须加 L:快速搞懂宽化转换

&#x1f3ac; 博主名称&#xff1a; 超级苦力怕 &#x1f525; 个人专栏&#xff1a; 《Java成长录》 《AI 工具使用目录》 &#x1f680; 每一次思考都是突破的前奏&#xff0c;每一次复盘都是精进的开始&#xff01; 前言 本文主要内容&#xff1a;快速搞懂 long类型…

作者头像 李华
网站建设 2026/6/14 18:42:55

MCP SC-400紧急响应:3大零日漏洞正在被利用,你还在等什么?

第一章&#xff1a;MCP SC-400紧急响应概述在企业安全运营中&#xff0c;MCP SC-400认证所涵盖的紧急响应机制是保障信息系统完整性和可用性的核心组成部分。该响应体系专注于识别、遏制和恢复因安全事件引发的系统异常&#xff0c;尤其针对数据泄露、恶意软件感染及权限滥用等…

作者头像 李华
网站建设 2026/6/15 12:31:01

Smart Excalidraw ----基于 AI 的智能图表生成工具

Smart Excalidraw 用自然语言&#xff0c;绘制专业图表 最近看到一个项目用AI开源图表工具Excalidraw 做智能绘图&#xff0c;但是结果不尽人意&#xff0c;于是自己新建了后端基础智能体进行编排图表&#xff0c;效果有所改善&#xff0c;但未完全可用。 Smart Excalidraw 是一…

作者头像 李华
网站建设 2026/6/15 12:31:59

医疗影像AI诊断新纪元:3大核心技术驱动精准医疗变革

第一章&#xff1a;医疗影像 Agent 的辅助诊断在现代医疗系统中&#xff0c;人工智能驱动的医疗影像 Agent 正逐步成为放射科医生的重要助手。这类智能体能够自动化分析 X 光、CT 和 MRI 等医学图像&#xff0c;识别病灶区域并提供初步诊断建议&#xff0c;显著提升诊断效率与准…

作者头像 李华
网站建设 2026/6/15 12:29:27

5、搭建网站运行环境:Apache、PHP、MySQL及相关工具安装指南

搭建网站运行环境:Apache、PHP、MySQL及相关工具安装指南 在当今数字化时代,搭建一个属于自己的网站是许多开发者的梦想。而要让网站顺利运行,就需要搭建合适的工作环境。本文将详细介绍如何在Windows系统上安装和配置Apache Web服务器、PHP引擎、MySQL数据库,以及两个强大…

作者头像 李华