我继承了一个旧的 PC 服务器(quad Pentium 4),它只有和(RAID1 和 2 个 1T SATA 磁盘)的分区/
,但需要更新发行版(来自 CentOS 6.9)。我决定创建一个新分区,以便可以格式化包含的分区。/boot
swap
/
但是我忘记添加-p
标志了resize2fs
,现在它静静地盯着我看,我不知道它需要多长时间(它已经存在了 50 多个小时)。现在,我知道缩小文件系统可能需要很长时间,但是虽然我可以等待100 小时,但像800 小时这样的时间是不可能的。
这是我目前的想法:
- 继续
Ctrl
+C
&&e2fsck
。 - 挂载分区并手动删除价值超过 100G 的数据,这些数据对我们毫无用处。
- 从顶部开始
resize2fs -p ...
我确实有重要信息的额外备份,但仍然希望在不破坏文件系统的情况下这样做。是的,我知道从头开始安装发行版并恢复我的备份可能会更快。
更新:我决定打断它。一切似乎都很好,但问题仍然存在。我还是很好奇。
绝对是一个有趣的问题,虽然你的结果非常好(正如我所希望的那样,因为捕捉
SIGINT
并不完全是火箭科学,中途暂停只是重新定位一些数据块似乎也不难),但也有足够多的非成功案例,例如 10yo Debian 错误https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=574292但是即使那个 bug 已经有 10 年的历史了,我只是运行了一个模拟
e2fsck
并resize2fs
通过strace
,而前者安装了一大堆信号处理程序,包括SIGINT
andSIGTERM
,resize2fs
但仍然没有。所以如果有人发现这个问题:以上述为轶事证据并继续提防。:-) 请注意,手册页确实提到了一个标志,用于在出现错误时创建撤消文件。
(而我,我只是希望我在屏幕会话中运行这个调整大小操作......但至少我确实有
-p
)编辑
等等,我刚刚意识到,为什么不使用 SSH,制作一个 LVM 快照
e2fsck
,并且在调整大小仍在运行时?我在“重定位块”阶段连续做了 5 次,虽然每次检查时我都得到“包含有错误的文件系统,强制检查”,但它从未发现任何错误。现在当然不要问我关于数据完整性的问题。编辑
tytso@ 本人在https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=574292#30上的相当有趣的回应