5.5. 加快丢弃操作
VDO 为系统上的所有 LVM-VDO 设备设置了最大允许的 DISCARD (TRIM)块大小。默认值为 1,它对应于 8 个扇区或 4KB 的最大值。增加 DISCARD 大小可以显著提高丢弃操作的速度。但是,在提高丢弃性能和维护其他写操作速度之间有一个权衡。
DISCARD 扇区的最佳大小取决于存储堆栈。非常大和非常小的 DISCARD 块可能会降低性能。要确定扇区的正确大小,您可能需要使用不同的值进行试验。使用不同的值进行试验,以发现一个令人满意的结果。
例如,对于存储了本地文件系统的 LVM-VDO 卷,最好使用默认值。对于充当 SCSI 目标的 LVM-VDO 卷,一个适当大的 DISCARD 大小效果最佳,例如 256 块,对应于 1 MB 丢弃。建议最大 DISCARD 大小不超过 2560 个块,这相当于 5 MB 丢弃。在选择大小时,请确保它是 8 的倍数,因为它们不与 8 扇区边界保持一致,VDO 可能无法有效地处理丢弃。
流程
停用 LVM-VDO 卷:
lvchange -an vg_name/vdo_volume
# lvchange -an vg_name/vdo_volume
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为 DISCARD 扇区设置新的最大大小:
lvchange --vdosettings "vdo_max_discard=<value>"
# lvchange --vdosettings "vdo_max_discard=<value>"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 激活 LVM-VDO 卷:
lvchange -ay vg_name/vdo_volume
# lvchange -ay vg_name/vdo_volume
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
验证 discard 值是否已成功更改:
lvs -o vdo_max_discard vg_name/vdo_volume
# lvs -o vdo_max_discard vg_name/vdo_volume
Copy to Clipboard Copied! Toggle word wrap Toggle overflow