我有一个带有两个SSD的服务器:
Model Family: Intel 520 Series SSDs
Device Model: INTEL SSDSC2BW240A3F
Firmware Version: 400i
User Capacity: 240,057,409,536 bytes [240 GB]
Sector Size: 512 bytes logical/physical在它们上,我使用EXT4文件系统格式化了3个mdraid镜像设备(md0,1,2)。我使用mbr (不是gpt)分区表。所有3个文件系统都安装了丢弃挂载选项。
/dev/md0 on / type ext4 (rw,discard,errors=remount-ro)
/dev/md2 on /vservers type ext4 (rw,discard)
/dev/md1 on /var type ext4 (rw,discard)问题是,每当我重新启动服务器时,fstrim -v /any_mountpoint说它需要修剪所有未使用的空间。一旦我完成了文件系统的完整fstrim操作,所有操作都会按照预期进行,直到下一次重新启动为止。重新启动后运行fstrim将再次调整整个文件系统。
有人能解释一下我做错了什么吗?我以为ext4还记得文件系统中已经修剪过的部分(在我的桌面上有一个ssd,它确实记得)。这是在Ubuntu14.04上使用的3.13.0-23通用内核。
发布于 2014-04-11 16:27:19
不久前,我提出了一个非常类似的问题-- fstrim削减超过一半的分区大小,即使分区安装有丢弃.。对于在这个问题上发生了什么,有一个更详细的解释/讨论,但是基本上,使用fstrim (以及底层的FITRIM ioctl)修剪的记录保存在内核内存中,没有写入磁盘。每次在重新启动后运行fstrim,都会发出FITRIM ioctls的全部可能范围。
https://unix.stackexchange.com/questions/124293
复制相似问题