10.7. BlueStore 碎片工具


作为存储管理员,您要定期检查 BlueStore OSD 的碎片级别。您可以使用一个简单命令来检查碎片级别,以用于离线或在线 OSD。

10.7.1. 先决条件

  • 一个正在运行的 Red Hat Ceph Storage 集群。
  • BlueStore OSD.

10.7.2. BlueStore 碎片工具是什么?

对于 BlueStore OSD,可用空间随时间在底层存储设备上发生碎片。有些碎片是正常的,但在出现过量碎片时会导致性能降低。

BlueStore 碎片工具在 BlueStore OSD 的碎片级别生成分数。此碎片分数指定为范围 0 到 1。分数为 0 表示没有碎片,1 分代表严重碎片。

表 10.1. 碎片分数的含义
分数碎片挂载

0.0 - 0.4

无小的碎片。

0.4 - 0.7

小和可接受的碎片。

0.7 - 0.9

需要考虑但安全的碎片。

0.9 - 1.0

严重碎片会导致性能问题。

重要

如果您存在严重碎片,且需要一些有助于解决问题,请联络红帽支持

10.7.3. 检查碎片

可以在线或离线检查 BlueStore OSD 的碎片级别。

先决条件

  • 一个正在运行的 Red Hat Ceph Storage 集群。
  • BlueStore OSD.

在线 BlueStore 碎片得分

  1. 检查正在运行的 BlueStore OSD 进程:

    1. 简单报告:

      语法

      ceph daemon OSD_ID bluestore allocator score block

      示例

      [ceph: root@host01 /]# ceph daemon osd.123 bluestore allocator score block

    2. 详细的报告:

      语法

      ceph daemon OSD_ID bluestore allocator dump block

      示例

      [ceph: root@host01 /]# ceph daemon osd.123 bluestore allocator dump block

离线 BlueStore 碎片得分

  1. 停止 OSD 服务。

    语法

    systemctl stop SERVICE_ID

    示例

    [root@host01 ~]# systemctl stop ceph-110bad0a-bc57-11ee-8138-fa163eb9ffc2@osd.2.service

  2. 重新划分以检查离线 BlueStore OSD。

    语法

    [root@host01 ~]# cephadm shell --name osd.ID

    示例

    [root@host01 ~]# cephadm shell --name osd.2
    Inferring fsid 110bad0a-bc57-11ee-8138-fa163eb9ffc2
    Inferring config /var/lib/ceph/110bad0a-bc57-11ee-8138-fa163eb9ffc2/osd.2/config
    Using recent ceph image registry.redhat.io/rhceph/rhceph-5-rhel8@sha256:09fc3e5baf198614d70669a106eb87dbebee16d4e91484375778d4adbccadacd

  3. 检查非运行的 BlueStore OSD 进程:

    1. 对于简单的报告,运行以下命令:

      语法

      ceph-bluestore-tool --path PATH_TO_OSD_DATA_DIRECTORY --allocator block free-score

      示例

      [root@7fbd6c6293c0 /]# ceph-bluestore-tool --path /var/lib/ceph/osd/ceph-123 --allocator block free-score

    2. 如需更详细的报告,请运行以下命令:

      语法

      ceph-bluestore-tool --path PATH_TO_OSD_DATA_DIRECTORY --allocator block free-dump
      block:
      {
          "fragmentation_rating": 0.018290238194701977
      }

      示例

      [root@7fbd6c6293c0 /]# ceph-bluestore-tool --path /var/lib/ceph/osd/ceph-123 --allocator block free-dump
      block:
      {
          "capacity": 21470642176,
          "alloc_unit": 4096,
          "alloc_type": "hybrid",
          "alloc_name": "block",
          "extents": [
              {
                  "offset": "0x370000",
                  "length": "0x20000"
              },
              {
                  "offset": "0x3a0000",
                  "length": "0x10000"
              },
              {
                  "offset": "0x3f0000",
                  "length": "0x20000"
              },
              {
                  "offset": "0x460000",
                  "length": "0x10000"
              },

其它资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.