首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么在重启后,fstrim要修剪我的mdraid镜像上的所有空闲空间?

为什么在重启后,fstrim要修剪我的mdraid镜像上的所有空闲空间?
EN

Unix & Linux用户
提问于 2014-04-11 15:06:41
回答 1查看 2.5K关注 0票数 3

我有一个带有两个SSD的服务器:

代码语言:javascript
复制
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个文件系统都安装了丢弃挂载选项。

代码语言:javascript
复制
/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通用内核。

EN

回答 1

Unix & Linux用户

发布于 2014-04-11 16:27:19

不久前,我提出了一个非常类似的问题-- fstrim削减超过一半的分区大小,即使分区安装有丢弃.。对于在这个问题上发生了什么,有一个更详细的解释/讨论,但是基本上,使用fstrim (以及底层的FITRIM ioctl)修剪的记录保存在内核内存中,没有写入磁盘。每次在重新启动后运行fstrim,都会发出FITRIM ioctls的全部可能范围。

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/124293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档