11.5. 使用 bluestore_min_alloc_size 参数调优 Ceph BlueStore


此过程适用于新的或全新部署的 OSD。

在 BlueStore 中,原始分区在 bluestore_min_alloc_size 的块中分配和管理。默认情况下,bluestore_min_alloc_size4096,相当于 4 KiB 用于 HDD 和 SSD。当每个块中的未写入区域写入原始分区时,会用零填充。当您没有针对的工作负载正确配置大小时,这可能会导致浪费掉未使用的空间(例如,当编写小对象时)。

最佳实践是将 bluestore_min_alloc_size 设置为与最小写入匹配,以便避免这种写入放大损失。

重要

不建议更改 bluestore_min_alloc_size 的值。如需任何帮助,请联系红帽支持

注意

设置 bluestore_min_alloc_size_ssdbluestore_min_alloc_size_hdd 分别特定于 SSD 和 HDD,但设置它们是必需的,因为设置 bluestore_min_alloc_size 覆盖它们。

先决条件

  • 一个正在运行的 Red Hat Ceph Storage 集群。
  • Ceph 监视器和管理器已在集群中部署。
  • 可以重新置备为 OSD 节点的服务器或节点
  • 如果您要重新部署现有的 Ceph OSD 节点,Ceph 监控节点的管理密钥环。

流程

  1. 在 bootstrapped 节点上,更改 bluestore_min_alloc_size 参数的值:

    语法

    ceph config set osd.OSD_ID bluestore_min_alloc_size_DEVICE_NAME_ VALUE

    示例

    [ceph: root@host01 /]# ceph config set osd.4 bluestore_min_alloc_size_hdd 8192

    您可以看到 bluestore_min_alloc_size 设置为 8192 字节,相当于 8 KiB。

    注意

    所选值应该与 2 的指数相对应。

  2. 重新启动 OSD 的服务。

    语法

    systemctl restart SERVICE_ID

    示例

    [ceph: root@host01 /]# systemctl restart ceph-499829b4-832f-11eb-8d6d-001a4a000635@osd.4.service

验证

  • 使用 ceph daemon 命令验证设置:

    语法

    ceph daemon osd.OSD_ID config get bluestore_min_alloc_size__DEVICE_

    示例

    [ceph: root@host01 /]# ceph daemon osd.4 config get bluestore_min_alloc_size_hdd
    
    ceph daemon osd.4 config get bluestore_min_alloc_size
    {
        "bluestore_min_alloc_size": "8192"
    }

其它资源

  • 对于 OSD 移除和添加,请参阅 Red Hat Ceph Storage Operations Guide 中的使用 Ceph Orchestrator 管理 OSD一章以及以下链接。对于已部署的 OSD,您将无法修改 bluestore_min_alloc_size 参数,因此您必须移除 OSD 并再次部署它们。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.