2025年2月2日星期日

crush使用介绍

 




1. 创建 CRUSH 规则

语法

bash
复制
ceph osd crush rule create-replicated <rule-name> <root> <failure-domain> <class>

参数说明

  • <rule-name>:规则的名称。

  • <root>:CRUSH 层次结构的根节点(通常是 default)。

  • <failure-domain>:故障域(如 hostrack 等),用于控制数据的副本分布。

  • <class>:设备类型(如 hddssd 等),可选参数。

示例

创建一个名为 myrule 的规则,使用 default 根节点,故障域为 host,设备类型为 hdd

bash
复制
ceph osd crush rule create-replicated myrule default host hdd

2. 修改 CRUSH 规则

如果需要修改现有的 CRUSH 规则,通常需要先删除旧规则,然后重新创建。

删除规则

bash
复制
ceph osd crush rule rm <rule-name>

重新创建规则

按照上述创建规则的步骤重新创建。


3. CRUSH 规则类型

Ceph 17.2.7 支持多种 CRUSH 规则类型,常见的有:

Replicated Rule

  • 功能:将数据复制到多个 OSD 上,提供冗余和高可用性。

  • 示例

    bash
    复制
    ceph osd crush rule create-replicated myrule default host hdd

Erasure Code Rule

  • 功能:使用纠删码技术存储数据,节省存储空间。

  • 示例

    bash
    复制
    ceph osd erasure-code-profile set myprofile k=2 m=1
    ceph osd crush rule create-erasure myrule myprofile default

4. CRUSH 规则属性

CRUSH 规则可以配置多种属性,以满足不同的需求。以下是一些常见的属性:

故障域(Failure Domain)

  • 定义数据的副本分布范围,常见的故障域包括:

    • host:副本分布在不同的主机上。

    • rack:副本分布在不同的机架上。

    • datacenter:副本分布在不同的数据中心。

设备类型(Device Class)

  • 定义规则适用的设备类型,如 hddssd 等。

权重(Weight)

  • 定义 OSD 的权重,影响数据分布的均衡性。

副本数(Replica Count)

  • 定义数据的副本数量。


5. CRUSH 规则功能

CRUSH 规则的主要功能包括:

数据分布控制

  • 通过定义故障域和设备类型,控制数据在集群中的分布。

容错和高可用

  • 通过副本或纠删码技术,确保数据在硬件故障时仍可访问。

性能优化

  • 通过将数据分布在不同的设备类型(如 SSD 和 HDD)上,优化读写性能。

地理分布

  • 通过定义不同的故障域(如 datacenter),支持跨数据中心的数据分布。


6. 查看 CRUSH 规则

可以使用以下命令查看当前的 CRUSH 规则:

bash
复制
ceph osd crush rule ls

查看特定规则的详细信息:

bash
复制
ceph osd crush rule dump <rule-name>

7. 示例:创建和使用 CRUSH 规则

步骤 1:创建规则

bash
复制
ceph osd crush rule create-replicated myrule default host hdd

步骤 2:创建存储池并应用规则

bash
复制
ceph osd pool create mypool 128 128 myrule

步骤 3:验证规则

bash
复制
ceph osd crush rule ls
ceph osd crush rule dump myrule












没有评论:

发表评论

youtube的dns屏蔽方法

  216.239.38.120 是 Google 提供的一个特殊 DNS 服务器,用于强制开启 YouTube 受限模式(Restricted Mode) 。 如果你想在家里强制 YouTube 进入受限模式,可以在 路由器的 DNS 设置 中配置以下 DNS 服务器: D...