3.6. PG 命令行参考


您可以通过 ceph CLI 设置并获取池的放置组数量,查看 PG map 和检索 PG 统计信息。

3.6.1. 设置 PG 的数量

要在池中设置放置组数量,您必须在创建池时指定放置组数量。详情请查看创建池。为池设置放置组后,您可以增加或减少放置组数量。要更改放置组数量,请使用以下命令:

语法

ceph osd pool set POOL_NAME pg_num PG_NUMBER
Copy to Clipboard Toggle word wrap

示例

[ceph: root@host01 /]# ceph osd pool set pool1 pg_num 60
set pool 2 pg_num to 60
Copy to Clipboard Toggle word wrap

增加或减少放置组数量后,还必须在集群重新平衡前调整放置的放置组数量(pgp_num)。pgp_num 应当等于 pg_num

语法

ceph osd pool set POOL_NAME pgp_num PGP_NUMBER
Copy to Clipboard Toggle word wrap

示例

[ceph: root@host01 /]# ceph osd pool set pool1 pgp_num 60
set pool 2 pgp_num to 60
Copy to Clipboard Toggle word wrap

3.6.2. 获取 PG 数量

获取池中的放置组数量:

语法

ceph osd pool get POOL_NAME pg_num
Copy to Clipboard Toggle word wrap

示例

[ceph: root@host01 /]# ceph osd pool get pool1 pg_num
pg_num: 60
Copy to Clipboard Toggle word wrap

3.6.3. 获取 Cluster PG 统计

获取放置组的统计信息:

语法

ceph pg dump [--format FORMAT]
Copy to Clipboard Toggle word wrap

有效格式为 plain (默认)和 json

3.6.4. 获取 Stuck PG 的统计

获取所有放置组的统计信息处于指定状态:

语法

ceph pg dump_stuck {inactive|unclean|stale|undersized|degraded [inactive|unclean|stale|undersized|degraded...]} INTEGER
Copy to Clipboard Toggle word wrap

Inactive 放置组无法处理读取或写入,因为它们正在等待具有最新数据最多的 OSD 上线并在内。

Unclean 放置组包含没有复制所需时间的对象。它们应该是恢复。

过时的 放置组处于未知状态 - 托管它们尚未报告给 monitor 集群的 OSD(配置为 mon_osd_report_timeout)。

有效格式为 plain (默认)和 json。阈值定义了放置组在返回统计之前卡住的最小秒数(默认为 300 秒)。

3.6.5. 获取 PG map

获取特定放置组的放置组映射:

语法

ceph pg map PG_ID
Copy to Clipboard Toggle word wrap

示例

[ceph: root@host01 /]# ceph pg map 1.6c
osdmap e13 pg 1.6c (1.6c) -> up [1,0] acting [1,0]
Copy to Clipboard Toggle word wrap

Ceph 返回放置组映射、放置组和 OSD 状态。

3.6.6. 获取 PG 统计

检索特定放置组的统计信息:

语法

ceph pg PG_ID query
Copy to Clipboard Toggle word wrap

3.6.7. 清理放置组

清理放置组:

语法

ceph pg scrub PG_ID
Copy to Clipboard Toggle word wrap

Ceph 检查主节点和任何副本节点,生成放置组中所有对象的目录,并比较它们以确保没有对象丢失或不匹配,并且其内容一致。假设副本都匹配,最终语义 sweep 可确保所有与快照相关的对象元数据一致。通过日志报告错误。

3.6.8. 恢复丢失

如果集群丢失了一个或多个对象,并且您决定取消搜索丢失数据,您必须将未找到的对象标记为 lost

如果查询了所有可能的位置,并且对象仍然丢失,您可能需要放弃丢失的对象。这有不常的故障组合,允许集群了解在进行写入本身恢复之前执行的写入操作。

Ceph 仅支持"revert"选项,该选项可回滚到对象的各种版本,或者如果它是新对象,则可以忘记它。要将 "unfound" 对象标记为 "lost",请使用以下命令:

语法

ceph pg PG_ID mark_unfound_lost revert|delete
Copy to Clipboard Toggle word wrap

重要

请谨慎使用此功能,因为它可能会混淆预期对象存在的应用程序。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat