2.9. 编辑 CRUSH map


通常,使用 Ceph CLI 修改 CRUSH map 比手动编辑 CRUSH map 更方便。但是,在有些情况下,您可能需要选择编辑它,如更改默认的存储桶类型,或者使用 straw2 以外的存储桶算法。

编辑现有的 CRUSH map:

  1. 获取 CRUSH 映射
  2. 解译 CRUSH map。
  3. 至少编辑其中一个设备,以及 Buckets 和 规则。
  4. 重新编译 CRUSH map。
  5. 设置 CRUSH map

要为特定池激活 CRUSH map 规则,请识别常见的规则编号,并在创建池时指定池的规则编号。

2.9.1. 获取 CRUSH map

要获取集群的 CRUSH 映射,请执行以下操作:

ceph osd getcrushmap -o {compiled-crushmap-filename}

Ceph 将输出(-o)编译的 CRUSH map 到您指定的文件名。由于 CRUSH 映射采用编译的形式,因此您必须先将其解译,然后才能编辑它。

2.9.2. 解译 CRUSH map

要解译 CRUSH 映射,请执行以下操作:

crushtool -d {compiled-crushmap-filename} -o {decompiled-crushmap-filename}

Ceph 会将已编译的 CRUSH map 和输出(-o)替换为您指定的文件名。

2.9.3. 编译 CRUSH map

要编译 CRUSH 映射,请执行以下操作:

crushtool -c {decompiled-crush-map-filename} -o {compiled-crush-map-filename}

Ceph 将已编译的 CRUSH map 存储到您指定的文件名。

2.9.4. 设置 CRUSH map

要为集群设置 CRUSH 映射,请执行以下操作:

ceph osd setcrushmap -i  {compiled-crushmap-filename}

Ceph 将输入您指定为群集 CRUSH map 的文件名的已编译 CRUSH map。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.