12.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 config set osd.OSD_ID bluestore_min_alloc_size_DEVICE_NAME_ VALUE
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 /]# ceph config set osd.4 bluestore_min_alloc_size_hdd 8192
[ceph: root@host01 /]# ceph config set osd.4 bluestore_min_alloc_size_hdd 8192
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您可以看到
bluestore_min_alloc_size
设置为 8192 字节,相当于 8 KiB。注意所选值应该与 2 的指数相对应。
重新启动 OSD 的服务。
语法
systemctl restart SERVICE_ID
systemctl restart SERVICE_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 /]# systemctl restart ceph-499829b4-832f-11eb-8d6d-001a4a000635@osd.4.service
[ceph: root@host01 /]# systemctl restart ceph-499829b4-832f-11eb-8d6d-001a4a000635@osd.4.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
使用
ceph daemon
命令验证设置:语法
ceph daemon osd.OSD_ID config get bluestore_min_alloc_size__DEVICE_
ceph daemon osd.OSD_ID config get bluestore_min_alloc_size__DEVICE_
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow