2.9. 编辑 CRUSH map


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

要编辑现有的 CRUSH map:

  1. 获取 CRUSH map.
  2. 解译 CRUSH map.
  3. 至少编辑其中一个设备,以及存储桶和规则。
  4. 编译 CRUSH map
  5. 设置 CRUSH map.

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

2.9.1. 获取 CRUSH map

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

语法

ceph osd getcrushmap -o COMPILED_CRUSHMAP_FILENAME

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

2.9.2. 解编译 CRUSH map

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

语法

crushtool -d COMPILED_CRUSHMAP_FILENAME -o DECOMPILED_CRUSHMAP_FILENAME

Ceph 解译(-d)编译的 CRUSH map,并将输出(-o)发送到您指定的文件名。

2.9.3. 设置 CRUSH map

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

语法

ceph osd setcrushmap -i COMPILED_CRUSHMAP_FILENAME

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

2.9.4. 编译 CRUSH map

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

语法

crushtool -c DECOMPILED_CRUSHMAP_FILENAME -o COMPILED_CRUSHMAP_FILENAME

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

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.