fsck 可以在 30 TB 卷上运行多长时间?

Bri*_* Bi 20 fsck

11 月中旬,我从托管公司租用的 VPS 停止响应。当我联系支持人员时,他们解释说数据中心断电导致强制重启和 fsck。最后,我问为什么要花这么长时间,并被告知卷的大小是 30 TB。我上次收到更新是在 2 月份,他们没有回复我最近的询问。

我知道 fsck 对于某些文件系统可能会非常慢,但是 fsck 是否有可能在 30 TB 卷上花费 6 个月,或者我应该假设这家托管公司在对我撒谎,以便我继续支付账单月?

sho*_*hok 33

fsck速度主要取决于文件的数量以及它们在相应目录中的分布方式。也就是说,6 个月fsck绝对是荒谬的:它最多应该在几个小时内完成,尤其是如果使用xfs具有快速xfs_repair实用程序的功能。在这里,您可以找到一些fsck规模的运行 - 全部在 1 小时(3600 秒)内完成。因此,您不可能fsck仍在运行。

无论如何,意外断电不会导致全面爆发fsck,而只会导致非常快(几秒钟)的日志重播。但是,如果某些关键文件损坏,则操作系统可能无法启动。

但他们可能只是对你撒了谎。您应该立即停止付款,要求解释并申请全额退款。

  • ext2 使用 32 位块计数器,x86 和 x86_64 上的最大块大小为 4096 字节(即:一页)。这意味着 ext2(和 ext3)被限制为 8TB 卷,所以不,OP 不能使用 ext2/3。无论如何,在 30 TB 卷上使用任何非日志文件系统绝对是*疯狂*。 (14认同)
  • 如果他们使用的是 `ext2`,那么电源故障将需要一个完整的 `fsck`,如果在频繁使用的 30TB 卷上需要几天时间,我不会感到惊讶。另一方面,如果他们在 30TB 卷上使用“ext2”,这本身就是寻找其他托管服务的原因。 (8认同)

rac*_*man 7

猜想:他们的系统使用 BBU/FBWC-less RAID(甚至软件 RAID),所有可能的写缓存(包括硬盘驱动器本身中的这些)都设置为最激进的设置,以便以最低的成本获得最大的性能。此类设置的硬断电可能会使日志文件系统处于无法信任日志且无法用于恢复的状态。问题在于,这样的系统会积极地重新排序和推迟写入,这意味着可以在数据操作丢失的情况下写入日志条目……或者日志条目在相应的数据操作上丢失。

从最坏的情况下恢复这样的系统可能意味着您必须执行“缓慢”的 fsck/repair 来实际检查所有文件系统结构,这对于 30TB 来说确实可能需要一两天的时间......而且它您将不得不运行多个修复周期并非不可能。此外,人员可能并不总是可以监控这一点,您可以轻松地每周完成一次 fsck。他们可能放弃并忘记了。