向负责收缩的 resize2fs 发送 SIGINT 到底有多危险?

向负责收缩的 resize2fs 发送 SIGINT 到底有多危险?

我继承了一台旧的 PC 服务器(四核 Pentium 4),它只有//bootswap(带有 2 个 1T SATA 磁盘的 RAID1)分区,但需要更新发行版(从 CentOS 6.9 开始)。我决定创建一个新分区,以便/可以格式化包含的分区。

但我忘了添加-p标志,resize2fs现在它默默地盯着我,我不知道它还需要多长时间(它已经呆了 50 多个小时)。现在,我知道缩小文件系统可能需要很长时间,但虽然我可以等待100小时, 就像是800小时是不可能的

这就是我现在的想法:

  • 继续使用Ctrl+ C&& e2fsck
  • 挂载分区并手动删除 100G+ 的数据,这对我们没有任何用处。
  • 从顶部开始resize2fs -p ...

但我一直没能找到共识关于如何危险的就是发送SIGINT到resize2fs.

我确实有重要信息的额外备份,但仍然希望在不损坏文件系统的情况下执行此操作。是的,我知道从头开始安装发行版并恢复备份可能会更快。

更新: 我决定打断它。一切似乎都很好,但问题仍然存在。我还是很好奇。

答案1

这绝对是一个有趣的问题,虽然你的结果非常好(正如我所希望的那样,因为捕获SIGINT并不完全是火箭科学,并且中途暂停仅仅重新定位一些数据块似乎也不难),但也有足够多的不成功的故事,例如 10yo Debian bughttps://bugs.debian.org/cgi-bin/bugreport.cgi?bug=574292

但即使这个错误已经有 10 年了,我刚刚运行了一个模拟e2fsckresize2fs通过strace,虽然前者安装了一大堆信号处理程序,包括SIGINTSIGTERM,但resize2fs仍然没有。

所以如果有人发现这个问题:以上述为轶事证据,继续保持警惕。 :-) 请注意,手册页确实提到了一个用于在出现错误时创建撤消文件的标志。

(而我,我只是希望我在屏幕会话中运行此调整大小操作......但好吧,至少我确实有-p

编辑

等等,我刚刚意识到,为什么不通过 SSH 登录,制作 LVM 快照,然后e2fsck在调整大小仍在运行时呢?我在“重新定位块”阶段连续执行了 5 次,尽管每次检查时都得到“包含有错误的文件系统,强制检查”,但从未发现任何错误。现在当然不要问我数据完整性的问题。

编辑

顺便说一句,来自 tytso@ 本人的非常有趣的回应https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=574292#30

相关内容