6.5. 加快丢弃操作


VDO 为系统上所有的 LVM-VDO 设备设置最大允许的 DISCARD (TRIM)扇区的大小。默认大小为 8 个扇区,相当于一个 4KiB 块。增加 DISCARD 大小可以显著提高丢弃操作的速度。但是,在提高丢弃性能和维护其他写操作速度之间有一个权衡。

最佳 DISCARD 大小因存储堆栈而异。非常大和非常小的 DISCARD 扇区可能会降低性能。使用不同的值进行试验,以发现一个令人满意的结果。

对于存储本地文件系统的 LVM-VDO 卷,最好使用 8 个扇区的 DISCARD 大小,这是默认设置。对于充当 SCSI 目标的 LVM-VDO 卷,一个中等大小的 DISCARD 大小,如 2048 个扇区(相当于 1 MB 丢弃),工作最佳。建议最大 DISCARD 大小不超过 10240 个扇区,它转换为 5 MB 丢弃。在选择大小时,请确保它是 8 的倍数,因为如果小于 8 个扇区,VDO 可能无法有效地处理丢弃。

流程

  1. 为 DISCARD 扇区设置新的最大大小:

    # echo <number-of-sectors> > /sys/kvdo/max_discard_sectors
    Copy to Clipboard Toggle word wrap

    <number-of-sectors> 替换为扇区数。此设置会一直保留,直到重启为止。

  2. 可选:要在重启后对 DISCARD 扇区进行持久性更改,请创建一个自定义 systemd 服务:

    1. 使用以下内容创建一个新的 /etc/systemd/system/max_discard_sectors.service 文件:

      [Unit]
      Description=Set maximum DISCARD sector
      [Service]
      ExecStart=/usr/bin/echo <number-of-sectors> > /sys/kvdo/max_discard_sectors
      
      [Install]
      WantedBy=multi-user.target
      Copy to Clipboard Toggle word wrap

      <number-of-sectors> 替换为扇区数。

    2. 保存文件并退出。
    3. 重新载入服务文件:

      # systemctl daemon-reload
      Copy to Clipboard Toggle word wrap
    4. 启用新服务:

      # systemctl enable max_discard_sectors.service
      Copy to Clipboard Toggle word wrap

验证

  • 可选:如果要使缩放调控器更改持久,请检查是否启用了 max_discard_sectors.service

    # systemctl is-enabled max_discard_sectors.service
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat