文件系统几乎满了是不是很糟糕?

文件系统几乎满了是不是很糟糕?

示例我有大/小尺寸的文件系统JFS2/EXT3,无论什么(以及各种操作系统、Linux、AIX),但其中一些是例如:90%、95%、98% 使用率。

问题:文件系统几乎已满会带来什么坏处吗?性能问题、文件系统损坏或硬件问题?

更新:

  • 问题是关于企业环境。有人有关于效果的真实文章/网址吗?:)

  • “这些文件系统上有哪些目录?” - 任何,例如:SAP、ORACLE 等。

  • 磁盘通常来自 SAN。

答案1

文件系统不会仅仅因为已满而损坏,因此从文件系统的角度来看没有问题。一旦文件系统接近满,文件就更有可能产生碎片,并且根据文件系统的不同,可能会出现性能问题,但这通常并不重要。

真实的问题是在完整的文件系统上,任何写入都会失败。因此,这取决于尝试在这样的文件系统上写入的内容。

许多程序必须能够写入/保存数据才能正常运行。因此,如果您的文件系统在尝试写入时已满,您将在应用程序层遇到数据丢失或损坏。 “我试图保存您的数据,但不能”是许多程序不能很好处理的情况。最坏的情况是,程序将开始覆盖旧的保存文件,然后注意到没有足够的空间容纳新的保存文件,因此您丢失了两个文件。

对于系统关键的事情(例如,在启动/关闭时发生的任何写入、日志记录设施等),完整的文件系统在最坏的情况下可能会导致您的系统无法正常运行;正是出于这个原因,ext* 文件系统有一个根保留,以便在其他所有内容都已满时允许系统事物(根)有一些可用空间。在这种情况下,您应该提供一些额外的存储空间或删除一些旧的内容。

答案2

从生产角度来看,这是一个糟糕的状态。首先,随着磁盘使用量的增加,性能会下降。当磁盘接近满容量时,用于存储数据的磁盘顺序区域会减少。由于额外的磁盘寻道和等待空闲扇区到达磁盘头的延迟效应,这会影响性能。

更重要的是对系统的潜在影响。服务器是否提供重要服务?开发和运营团队需要多长时间才能意识到服务已关闭?当没有服务可用时,用户会生气多久?当没有可写入的存储空间时,应用程序通常会冻结。可能会产生连锁反应,导致进一步的问题——在服务完全恢复之前需要更多的时间。当服务恢复时,系统状态可能会不平衡 - 例如,在服务停机期间传入数据的大量积压会导致处理延迟。

答案3

这本质上并不是坏事,但需要非常小心。当操作系统需要比您拥有的更多空间时,您不希望驱动器上的空间完全耗尽,否则您的计算机接下来尝试写入的任何内容都会失败。其后果将取决于它试图拯救什么。

突然的“空间吞噬者”可能包括意外大的交换文件(可能是由内存泄漏等引起的)、占用与 RAM 一样多的 HDD 空间的睡眠映像,以及程序的大型输出文件。你只需要永远肯定你不会用完空间。

最好的情况是没有更多空间用于交换文件,并且系统通常会崩溃而不会产生长期不良影响。

填充没有操作系统的分区通常是安全的(即在手动存档数据的外部硬盘驱动器上)。如果驱动器已满,性能可能会下降,但如果您经常以高磁盘使用率运行,那么您实际上应该购买另一个硬盘,这样您就可以不用担心了。

答案4

有三个关于文件系统的非常好的播客,如果我没记错的话,以及它们如何像“自动碎片整理”一样工作,这可能有助于您更好地理解您的问题。如果您对文件系统感兴趣,我认为这 3 集完全值得一听。但请注意,它非常令人讨厌:

插曲1 2第三个是 58 号,由于声誉太低,我无法发布:

该播客名为“hyperritics”,主持人是约翰·锡拉库扎(John Siracusa)。

相关内容