适用于 Linux 的最佳固态文件系统 (SSDFS) 是什么?

适用于 Linux 的最佳固态文件系统 (SSDFS) 是什么?

EXT4 不是固态文件系统。它不会充分利用硬件,而且会使驱动器磨损。那么最好的固态文件系统适用于 Linux?我期待 ButterFS (btrfs),但它不适合生产系统。我也想知道你为什么喜欢某个特定的 ssdfs。

答案1

首先,现代 SSD 驱动器,尤其是我用于“企业”工作负载的驱动器,具有足够的内置磨损均衡功能,即使表现不佳的文件系统也不会严重缩短驱动器本身的使用寿命。即使是反复使用相同块进行元数据操作或日志的文件系统也不会这样做,因为驱动器足够智能,可以随着驱动器的老化将逻辑热块移动到不同的物理块上。

适合最大限度延长 SSD 使用寿命的文件系统应在写入存储块时产生最小的写入 I/O 操作开销。开销通常来自元数据和日志操作。不过,这并非 SSD 所独有,因为这些类型的写入放大功能也会影响旋转介质。

真正的固态硬盘导向文件系统(如 LogFS)在管理没有内置磨损均衡功能的存储时会发挥作用。如果您基于 Compact Flash 或 SD 卡构建存储,这些文件系统确实会执行现代固态硬盘内部执行的磨损均衡功能。嵌入式设备使用这些文件系统的频率可能远高于最终用户或服务器管理员。

如果您手中有真正的 SSD,那么确保您的传统旋转介质导向文件系统将块边界与逻辑驱动器块边界对齐仍然会有所裨益。这可以防止由于未对齐的写入而导致的写入放大,从而提高设备的性能和使用寿命。

即使在 SSD 上,我仍然喜欢将 XFS 作为我的文件系统。但 EXT4 在其他工作负载方面看起来很有前途。我更相信,使用 XFS 进行块对齐写入将为我带来使用寿命和性能,而不是相信 LogFS 等实验性文件系统将经受住时间的考验。

答案2

驱动器磨损通常不是由文件系统解决的。磨损均衡技术内置于驱动器中。请确保您使用的内核支持修剪命令。这将防止您在驱动器老化时遇到性能问题。我强烈建议远离 OCZ 和其他二线品牌。我很幸运地使用了较便宜的 MLC 英特尔 SSD,这些 SSD 都安装了最新的固件。您需要手动安装此固件,我不相信英特尔会随附 MLC 驱动器。

如果可能的话,我还会考虑不将日志文件或交换文件写入该驱动器。

相关内容