9.2. 验证 CRUSH 规则和池
验证您的 CRUSH 规则和池设置。
- WARNING
-
在现有环境中定义性能层可能会导致 Ceph 集群中出现大量数据移动。
tripleo-ansible
,director 在堆栈更新期间触发,没有检查 Ceph 集群中是否已定义了池以及是否包含数据的逻辑。这意味着,在现有环境中定义性能层可能会危险,因为更改与池关联的默认 CRUSH 规则会导致数据移动。如果您需要添加或删除节点的帮助或建议,请联系红帽支持。
流程
-
以
tripleo-admin
用户身份登录 overcloud Controller 节点。 要验证您的 OSD 层是否已成功设置,请输入以下命令。
sudo cephadm shell ceph osd tree
$ sudo cephadm shell ceph osd tree
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
在生成的树视图中,验证
CLASS
列是否显示您设置的每个 OSD 的正确设备类。 另外,使用以下命令验证 OSD 是否已正确分配给设备类。
sudo cephadm shell ceph osd crush tree --show-shadow
$ sudo cephadm shell ceph osd crush tree --show-shadow
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将生成的层次结构与以下命令的结果进行比较,以确保为每个规则应用相同的值。
sudo cephadm shell ceph osd crush rule dump <rule_name>
$ sudo cephadm shell ceph osd crush rule dump <rule_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 将 <rule_name> 替换为您要检查的规则的名称。
根据您部署期间使用的
crush_rules
参数,验证您创建的规则名称和 ID 是否正确。sudo cephadm shell ceph osd crush rule dump | grep -E "rule_(id|name)"
$ sudo cephadm shell ceph osd crush rule dump | grep -E "rule_(id|name)"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证 Ceph 池已绑定到在第 3 步中检索的正确 CRUSH 规则 ID。
sudo cephadm shell -- ceph osd dump | grep pool
$ sudo cephadm shell -- ceph osd dump | grep pool
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 对于每个池,确保规则 ID 与您预期的规则名称匹配。