SSD 驱动器的文件系统

Ela*_*ich 25 filesystems ssd

我一直认为传统的文件系统是为非 ssd 驱动器设计和优化的,例如,数据本地性很重要,而碎片是有问题的。

今天是否有推荐用于 SSD 驱动器的文件系统?我最好只使用 ext4 吗?

Tok*_*Tok 13

如果 SSD 是您唯一的磁盘平台,无论设备数量如何,那么您都会遇到难题;如何在保持可靠性和性能的同时最大限度地减少写入。

更具体地说,ext4 和 3、NILFS 和几乎所有其他现代文件系统都将维护日志。通常这是可取的,但是,在处理 SSD 设备时,它会增加对设备执行的写入操作,从而缩短其使用寿命。一种选择是选择传统的 IDE、SATA 或其他设备,文件系统可以将其日志写入其中。通过这种方式,人们可以在不牺牲 SSD 设备的使用寿命的情况下保持日志的好处。在 ext4 的情况下,这可以通过以下方式完成:mke2fs -O journal_dev /dev/external_device然后附加到特定的文件系统:mkfs.ext4 -J journal=/dev/external_device。更多信息可以在手册页中找到。

处理 SSD 设备时要记住的文件系统的附加功能是时间。随着时间的推移,在文件系统上设置 atime 可以显着增加对给定设备的写入次数。更改此行为的选项包括“relatime”和“noatime”。

由于我们似乎专注于 ext4,因此文件系统的内核文档(包括其可用选项)可在此处参考。

需要考虑的其他一些选项:noload,正如 vorbote 建议的那样,以及errors=remount-ro

  • 我不知道 - 这似乎是很多关于“写入耐力”的持续 FUD。即使是最耗电的驱动器也能承受至少 6 个月的大数据连续写入(SSD 写入小变化的速度很慢)。即,如果它是企业文件服务器,请注意(调整并获取良好的 SSD)。如果是单用户 PC,那么您无论如何都会希望在 5 年内更换 SSD。也就是说,关闭 atime 等会提高你的表现(随着时间的推移会提高) (2认同)

rsp*_*rsp 8

2014 年推荐的文件系统

自从提出这个问题并发布答案以来,已经过去了几年。是时候发布有关此主题的一些最新信息了。如果有什么过时的,请发表评论。

由于这个问题专门针对“今天是否有推荐用于 SSD 驱动器的文件系统?” 我将专注于回答该问题并发布指向其他相关信息的链接。

目前(截至 2014 年 12 月 20 日)Arch Linux wiki上的固态硬盘文章推荐以下文件系统:

Btrfs

Btrfs是在 GPL 下发布的用于 Linux的写时复制文件系统。它的开发始于 2007 年的 Oracle。自 Linux 2.6.29(2009 年 3 月)以来,它已包含在主线中。目前磁盘格式是稳定的,预计不会改变。

分机4

ext4(第四扩展文件系统)是Linux的日志文件系统,最初是作为 ext3 的一系列向后兼容扩展,后来发展为 ext3 的继承者。ext4 的官方开发计划于2006 年 6 月由 Theodore Ts'o发布为Proposal and plan for ext2/3 未来开发工作。它自 Linux 2.6.19(2006 年 11 月)起包含在主线中,并自 Linux 2.6 起标记为稳定.28(2008 年 12 月)。

XFS

XFS是 Silicon Graphics 于 1993 年创建的 64 位日志文件系统,自 5.3 (1994) 以来默认在 IRIX 中,2001 年移植到 Linux。目前一些 Linux 发行版使用它作为默认文件系统。XFS对 SSD 具有 TRIM 支持

JFS

JFS是 IBM 创建的 64 位日志文件系统。IBM 于 1990 年在 AIX 3.1 中引入了 JFS。1999 年它作为开源发布并开始移植到 Linux。用于 Linux 的 JFS 的第一个稳定版本于 2001 年 6 月发布。它包含在 2.4.18pre9-ac4 的 Alan Cox 树和 2.5.6 (2002) 的主线中。2012 年,JFS 中添加了 TRIM 支持。

2014 年基准

也可以看看


小智 5

如果您的内核可用并且您喜欢冒险,您可能希望考虑NILFS

否则使用 ext4 但使用 noatime 挂载 - 请参阅此处了解更多提示。