11.5. 使用 bluestore_min_alloc_size 参数调优 Ceph BlueStore
此过程适用于新的或全新部署的 OSD。
在 BlueStore 中,原始分区在 bluestore_min_alloc_size
的块中分配和管理。默认情况下,bluestore_min_alloc_size
为 4096
,相当于 4 KiB 用于 HDD 和 SSD。当每个块中的未写入区域写入原始分区时,会用零填充。当您没有针对的工作负载正确配置大小时,这可能会导致浪费掉未使用的空间(例如,当编写小对象时)。
最佳实践是将 bluestore_min_alloc_size
设置为与最小写入匹配,以便避免这种写入放大损失。
不建议更改 bluestore_min_alloc_size
的值。如需任何帮助,请联系红帽支持。
设置 bluestore_min_alloc_size_ssd
和 bluestore_min_alloc_size_hdd
分别特定于 SSD 和 HDD,但设置它们是必需的,因为设置 bluestore_min_alloc_size
覆盖它们。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- Ceph 监视器和管理器已在集群中部署。
- 可以重新置备为 OSD 节点的服务器或节点
- 如果您要重新部署现有的 Ceph OSD 节点,Ceph 监控节点的管理密钥环。
流程
在 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 的指数相对应。
重新启动 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 并再次部署它们。