这里可以直接采用 CRUSH 里面的Straw抽签算法,这里面的抽签是指挑取一个最长的签,而这个签值就是OSD 的权重。 主要步骤: 计算HASH: CRUSH_HASH( PG_ID, OSD_ID, r ) ==> draw把r当做一个常数,将PG_ID, OSD_ID一起作为输入,得到一个HASH值。 增加OSD权重: ( draw &0xffff ) * osd_weight ==> os...
OSD 的 Crush 加權。 類型 倍精準數 必要 是 範例 2.0 root 說明 OSD 所在階層或樹狀結構的根儲存區名稱。 類型 鍵值組。 必要 是 root=default、root=replicated_rule等範例 bucket-type 說明 一或多個名稱/值配對,其中名稱是儲存區類型,值是儲存區的名稱。 您可以在 Crush 階層中指定 OSD 的 Crush 位置。
CRUSH算法基于一致性哈希算法,通过将对象、存储设备和设备部署信息映射到一个大的哈希空间中,来计算数据的位置和选择适合的存储设备。 其工作原理如下: 构建OSD树: 将存储设备(OSD)组织成一个树状结构,每个节点代表一个设备(或设备组),根节点表示整个存储集群。 映射CRUSH规则: 定义一个CRUSH规则,规定了数据放置的策...
在OSD 的 CRUSH 层次结构后,将 OSD 添加到 CRUSH 层次结构。您也可以从现有层次结构中移动或移除 OSD。Ceph CLI 用法具有以下值: id 描述 OSD 的数字 ID。 类型 整数 必填 是 示例 0 name 描述 OSD 的全名。 类型 字符串 必需 是 示例 osd.0 Weight 描述 OSD 的 CRUSH 权重...
一、Ceph Crush进阶 ceph集群中由mon服务器维护的的五种运行图: Monitor map #监视器运行图 OSD map #OSD运行图 PG map #PG运行图 Crush map #(Controllers replication under scalable hashing #可控的、可复制的、可伸缩的一致性hash算法。crush运行图,当新建存储池时会基于OSD map创建出新的PG组合列表用于存...
1. 将一个特定的OSD从一个主机移动到另一个主机: ``` ceph osd crush move osd.0 host=node1 host=node2 ``` 2. 将一个特定的OSD从一个机架移动到另一个机架: ``` ceph osd crush move osd.0 rack=rack1 rack=rack2 ``` 四、总结 ceph osd crush move是一个强大的工具,可以帮助管理员优化Ce...
算法第二步目的是计算“bigfile”应该存放到哪两个osd硬盘上(因为设置备份数为2),输出6b,输出应该是[x, y],比如[5,2],代表bigfile存放在osd.5和osd.2上,并且是放在PG 6b下面。 1、参考上面的结构图,目前在root层,目标是从下一层选择第1个Host,选取算法是straw哈希算法(可在crushmap中配置)。
算法第二步目的是计算“bigfile”应该存放到哪两个osd硬盘上(因为设置备份数为2),输出6b,输出应该是[x, y],比如[5,2],代表bigfile存放在osd.5和osd.2上,并且是放在PG 6b下面。 1、参考上面的结构图,目前在root层,目标是从下一层选择第1个Host,选取算法是straw哈希算法(可在crushmap中配置)。
总之,“ceph osd crush remove”是Ceph存储集群管理中的一个重要操作,可以帮助管理员优化存储空间的利用和数据的分布。通过移除不必要的OSD,可以实现存储集群的优化和管理,提高系统的性能和可靠性。在实际操作中,管理员需要谨慎执行“ceph osd crush remove”操作,确保数据安全和系统稳定。同时,定期检查存储集群的健康状...
CRUSH 层次结构 2.2.1. CRUSH 位置 2.2.2. 添加 Bucket 2.2.3. 移动 Bucket 2.2.4. 删除 Bucket 2.2.5. bucket Algorithms 2.3. CRUSH 中的 Ceph OSD CRUSH 中的 Ceph OSD 2.3.1. 在 CRUSH 中查看 OSD 2.3.2. 将 OSD 添加到 CRUSH 2.3.3. 在 CRUSH 层次结构内移动 OSD ...