2.4. 丢弃未使用的块
批量丢弃和在线丢弃操作是挂载的文件系统的功能,它们丢弃文件系统未使用的块。它们可用于固态硬盘和精简配置的存储。
- 批量丢弃操作 由用户使用 fstrim 命令显式运行。此命令丢弃文件系统中符合用户条件的所有未使用的块。
- 在线丢弃操作 在挂载时指定,可以使用
-o discard
选项作为 mount 命令的一部分,也可以使用/etc/fstab
文件中的discard
选项。它们在没有用户干预的情况下实时运行。在线丢弃操作只丢弃从已使用转变为空闲的块。
从 Red Hat Enterprise Linux 6.4 开始,ext4 文件系统都支持这两种操作类型,以及 XFS 文件系统。另外,文件系统底层的块设备必须支持物理丢弃操作。如果
/sys/block/设备/queue/discard_max_bytes
文件中存储的值不为零,则支持物理丢弃操作。
如果您要对以下执行 fstrim 命令:
- 不支持丢弃操作的设备,或者
- 一个由多个设备组成的逻辑设备(LVM 或者 MD),其中任何一个设备都不支持丢弃操作
将显示以下信息:
fstrim -v /mnt/non_discard
fstrim: /mnt/non_discard: the discard operation is not supported
注意
mount 命令允许您使用 -o discard 选项挂载不支持丢弃操作的设备。
红帽建议批量丢弃操作,除非系统的工作负载不允许批量丢弃,或者需要在线丢弃操作来保持性能。
详情请查看 fstrim(8) 和 mount(8) man page。