我这么问是因为,例如,
https://en.wikipedia.org/wiki/Comparison_of_file_systems#Features
说明EXT3可以在线收缩。但是当我点击参考文献时:
“线下增长/收缩以及线上增长”
那么真相是什么?有人能在网上发布一份目前可以缩小的文件系统的小列表吗?
答案1
Linux 上使用的常见文件系统:
- JFS 和 XFS 根本无法缩小。 (AFAIK) FFS 和 UFS 也不能,即使使用 Solaris 或 *BSD。
- Ext2/ext3/ext4 和 Reiserfs 无法收缩已安装的文件系统。
- Btrfs 可以收缩已安装的文件系统。
答案2
我能够使用 resize_reiserfs 缩小 ReiserFS v3 上的在线 rootfs 进行测试。那是几年前在一些linux上的事了。但现在我得到“无法在线缩小文件系统。”。我听说,在某些情况下,ext3 可以通过 resize2fs 在线收缩,而在其他情况下则不能。我相信,这个功能是非常危险和不稳定的,可能会“一不小心整个FS”。
答案3
值得后人注意的是https://en.wikipedia.org/wiki/Comparison_of_file_systems#Resize_capability此后已更新,列出了许多支持在线收缩的文件系统。
在 Linux 上,显然Btrfs 支持。似乎确实有一些警告,参见。网络上的其他问题:
- https://superuser.com/questions/277852/btrfs-shrink-partition
- 调整逻辑 LVM 卷内的 btrfs 分区大小
- https://askubuntu.com/questions/75120/how-can-i-safely-resize-shrink-a-btrfs-partition
AIX JFS2 可以做到这一点,参见。如何减小 aix 逻辑卷/fs 的大小?奇怪的是,快速搜索发现没有明显的证据表明 Linux JFS2 端口可以做同样的事情。
答案4
ZFS 在某种程度上证明了增大或缩小文件系统是毫无意义的。
ZFS 文件系统可以但不要求具有预定义的大小。在后一种情况下,由于没有浪费空间,因此无需缩小文件系统,这与大多数(如果不是全部)其他文件系统不同。
当然,底层物理设备有容量限制,但没有必要任意添加限制。