第 3 章 使用 odf-cli 命令


odf-cli 命令及其子命令有助于减少重复性任务并提供更好的体验。您可以从客户门户网站下载 odf-cli 工具

odf get 命令的子命令

odf get recovery-profile

显示为 OSD 设置的 recovery-profile 值。默认情况下,如果没有使用 odf set recovery-profile 命令设置值,则会显示空值。设置值后,会显示适当的值。

示例:

$ odf get recovery-profile
# high_recovery_ops
ODF 获取健康状况

检查 Ceph 集群的运行状况和常见配置问题。这个命令检查以下内容:

  1. 至少三个 mon pod 在不同的节点上运行
  2. mon quorum 和 Ceph 健康详情
  3. 至少三个 OSD pod 在不同的节点上运行
  4. 所有 pod 的"Running"状态
  5. 放置组状态
  6. 至少一个 MGR pod 正在运行

    示例:

    $ odf get health
    
    Info: Checking if at least three mon pods are running on different nodes
    rook-ceph-mon-a-7fb76597dc-98pxz        Running openshift-storage       ip-10-0-69-145.us-west-1.compute.internal
    rook-ceph-mon-b-885bdc59c-4vvcm Running openshift-storage       ip-10-0-64-239.us-west-1.compute.internal
    rook-ceph-mon-c-5f59bb5dbc-8vvlg        Running openshift-storage       ip-10-0-30-197.us-west-1.compute.internal
    
    Info: Checking mon quorum and ceph health details
    Info: HEALTH_OK
    [...]
ODF get dr-health

在启用了镜像的集群中,从另一个集群获取集群的连接状态。cephblockpool 通过启用了镜像功能查询,如果未找到,则会退出相关日志。

示例:

$ odf get dr-health

Info: fetching the cephblockpools with mirroring enabled
Info: found "ocs-storagecluster-cephblockpool" cephblockpool with mirroring enabled
Info: running ceph status from peer cluster
Info:   cluster:
    id:     9a2e7e55-40e1-4a79-9bfa-c3e4750c6b0f
    health: HEALTH_OK

[...]
ODF 获取 dr-prereq

检查并获取所有先决条件的状态,以便在一对集群中启用灾难恢复。该命令取对等集群名称作为参数,并使用它来比较当前的集群配置与对等集群配置。根据比较结果,会显示先决条件的状态。

Example

$ odf get dr-prereq peer-cluster-1

Info: Submariner is installed.
Info: Globalnet is required.
Info: Globalnet is enabled.


odf get mon-endpoints
Displays the mon endpoints
$ odf get dr-prereq peer-cluster-1

Info: Submariner is installed.
Info: Globalnet is required.
Info: Globalnet is enabled.

odf operator 命令的子命令

ODF operator rook set

在 rook-ceph-operator config configmap中设置提供的属性值

示例:

$ odf operator rook set ROOK_LOG_LEVEL DEBUG

configmap/rook-ceph-operator-config patched

其中,ROOK_LOG_LEVEL 可以是 DEBUGINFOWARNING

ODF operator rook restart

重启 Rook-Ceph operator

示例:

$ odf operator rook restart

deployment.apps/rook-ceph-operator restarted
ODF 恢复 mon-quorum

当大多数 mons 不在仲裁且集群停机时,恢复 mon 仲裁。当大多数 mons 永久丢失时,需要恢复到剩余的 mon 状态,以便再次启动 Ceph 集群。

示例:

$ odf restore mon-quorum c
ODF restore 已删除 <crd>

当组件、CephClusters、CephFilesystems 和 CephBlockPools 仍然保留数据时,恢复已删除的 Rook CR。通常,当 Rook CR 被删除并保留数据时,Rook operator 不会删除 CR,以确保数据不会丢失,Operator 不会删除 CR 上的终结器。因此,CR 会一直处于 Deleting 状态,集群健康状况不会被保证。升级也会被阻断。此命令有助于在不停机集群的情况下修复 CR。

注意

此时会出现一个需要确认进行恢复的警告信息。确认后,您需要输入 继续启动 操作符,然后再次扩展到完整的 mon-quorum。

示例:

$ odf restore deleted cephclusters

Info: Detecting which resources to restore for crd "cephclusters"

Info: Restoring CR my-cluster
Warning: The resource my-cluster was found deleted. Do you want to restore it? yes | no
[...]

3.1. 配置 Ceph 组件的调试详细程度

您可以通过为 OpenShift Data Foundation 的特定 Ceph 子系统启用或增加日志调试来配置 Ceph 组件的详细程度。有关 Ceph 子系统和可更新的日志级别的信息,请参阅 Ceph 子系统默认日志记录级别值

流程

  • 为 Ceph 守护进程设置日志级别:

    $ odf set ceph log-level <ceph-subsystem1> <ceph-subsystem2> <log-level>

    其中 ceph-subsystem 可以是 osdmdsmon

    例如,

    $ odf set ceph log-level osd crush 20
    $ odf set ceph log-level mds crush 20
    $ odf set ceph log-level mon crush 20
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部