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 分代表严重碎片。
分数 | 碎片挂载 |
---|---|
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 碎片得分
检查正在运行的 BlueStore OSD 进程:
简单报告:
语法
ceph daemon OSD_ID bluestore allocator score block
示例
[ceph: root@host01 /]# ceph daemon osd.123 bluestore allocator score block
详细的报告:
语法
ceph daemon OSD_ID bluestore allocator dump block
示例
[ceph: root@host01 /]# ceph daemon osd.123 bluestore allocator dump block
离线 BlueStore 碎片得分
停止 OSD 服务。
语法
systemctl stop SERVICE_ID
示例
[root@host01 ~]# systemctl stop ceph-110bad0a-bc57-11ee-8138-fa163eb9ffc2@osd.2.service
重新划分以检查离线 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
检查非运行的 BlueStore OSD 进程:
对于简单的报告,运行以下命令:
语法
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
如需更详细的报告,请运行以下命令:
语法
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" },
其它资源
- 有关碎片分数的详细信息,请参阅 BlueStore Fragation Tool。
- 如需了解更多有关重新划分的详细信息 ,请参阅使用 BlueStore 管理工具重新划分 RocskDB 数据库。