我从各种渠道听说,如果您使用磁盘上几乎所有的存储空间,就会遇到性能和/或可靠性问题。SSD 也是如此吗?如果是这样,建议在驱动器上留出多少可用空间?
答案1
用尽大部分存储空间不会带来任何技术问题 - 如果用尽所有存储空间,则会遇到其他问题,例如空间不足。您听说的性能下降实际上是旋转磁盘硬盘的问题。
使用旋转磁盘时遇到的问题是,随着驱动器的填满,数据在盘片上写入的位置越来越远,导致驱动器磁头必须在盘片上来回移动更远才能真正获取数据。这将导致磁盘延迟。
话虽如此,对于低端 SSD,您确实需要小心,因为它们没有预留那么多备用块来替换故障块。因此,当它们用完备用块而无法替换它们时,您可能会遇到性能和稳定性问题,就像任何坏扇区数量不断增加的驱动器一样。
至于要留出多少空间?我会留出与环境中其他服务器相同的空间,这样您就有足够的时间对低空间警报做出反应,而不会耗尽空间。
答案2
对于 SSD 来说,留出一些可用空间可能也更好,但原因与 HDD 不同,Zypher 已经指出了原因。
SSD 性能不会(很大程度上)受到碎片的影响,但会受到 SSD 控制器可以垃圾收集的空闲块的影响。根据垃圾控制器的质量以及您的 SSD、操作系统或文件系统是否支持 TRIM,从长远来看,保留一些未分区的 SSD 空间以提供更多可用于写入的空闲块可能会提高性能。此空间需要未分区,如果操作系统没有使用 TRIM 通知 SSD 控制器这些块确实是空闲的,则文件系统上的空闲空间无关紧要。
我不知道足够的可用空间应该是多少。我自己在不支持 TRIM 的 SSD 驱动器上留下了大约 5-10% 未分区的空间(Linux,内核 2.6.33 之前以及加密驱动器上)。