SSD 突然满了

SSD 突然满了

今天我们服务器的硬盘突然满了。之前几周和几个月里,磁盘使用率一直保持在 50% 左右(服务器会定期删除旧数据)。

我删除了 /tmp 中的 10 GB 文件,奇怪的是释放了 51 GB。以下是我所做的:

root@***:~# df -h
Dateisystem           Size  Used Avail Use% Eingehängt auf
/dev/sda3             139G  137G     0 100% /
tmpfs                 3,9G     0  3,9G   0% /lib/init/rw
udev                  3,9G  116K  3,9G   1% /dev
tmpfs                 3,9G     0  3,9G   0% /dev/shm
/dev/sda1             985M   25M  910M   3% /boot

root@***:/var# du -hs *
3,3M    backups
438M    cache
9,4G    lib
4,0K    local
12K     lock
76M     log
24K     mail
4,0K    opt
88K     run
184K    spool
10G     tmp
12K     www

root@***:/var/tmp# find -type f -print0 | xargs -0 rm


root@***:/var/tmp# df -h
Dateisystem           Size  Used Avail Use% Eingehängt auf
/dev/sda3             139G   81G   51G  62% /
tmpfs                 3,9G     0  3,9G   0% /lib/init/rw
udev                  3,9G  116K  3,9G   1% /dev
tmpfs                 3,9G     0  3,9G   0% /dev/shm
/dev/sda1             985M   25M  910M   3% /boot

有没有解释为什么删除 /tmp 中的 10 GB 后磁盘上又恢复了 51 GB?这是否意味着 SSD 故障?Debian 是否有任何工具可以测试 SSD 健康状况?

我已经检查了系统日志。与此事件相关的第一个条目是 mysql 消息:

1:22:02 [ERROR] /usr/sbin/mysqld: Disk is full writing...

所以我根本不知道这是什么原因造成的。

答案1

猜测是某个程序打开了一个或多个非常大的文件,但已将其删除,因此它们在文件系统中不再可见。这是处理临时文件的常用技巧。

它可能阻止尝试写入这些文件并由于空间不足而失败,然后当您腾出一些空间时,它能够完成正在执行的操作并关闭文件,从而释放它们所使用的空间。

答案2

这可能与 SSD 故障无关。虽然您可能遇到某种形式的文件系统损坏,但我认为您会看到更明显的症状。

我已经发布这里关于如何检查 SSD 驱动器的健康状况。

至于您的另一个问题(删除 10GB 如何产生 50GB 的可用空间),我认为 TomH 的回答可能是正确的。

相关内容