SSD驱动器的文件系统


24

我一直认为传统文件系统是为非SSD驱动器而设计的,并针对非SSD驱动器进行了优化,例如,数据局部性很重要,而碎片则很成问题。

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

Answers:


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设备打交道时要记住的文件系统的另一项功能已久。在文件系统上设置时间可以随着时间的推移极大地增加对给定设备的写入次数。更改此行为的选项包括“ relatime”和“ noatime”。

由于我们似乎集中在EXT4,文件系统上的内核文件,包括它的可用选项,可供参考这里

需要考虑的其他一些选择:noload如vorbote所建议的,以及errors=remount-ro;


nodiratime
Elazar Leibovich

@Elazar Leibovich-'noatime'意味着'nodirtime'。如果您的问题是关于后者相对于前者的价值,那么肯定免除目录总比没有好,但是显然,与前者相比,收益会少。
Tok

1
我不知道-这似乎是关于“写入耐力”的持续不断的FUD。即使是最消费的驱动器也要忍受至少6个月的连续大数据写入(SSD写入小更改的速度很慢)。即,如果它是公司文件服务器,则应注意(调整并获得良好的SSD)。如果是单用户PC,那么您将需要在5年内更换SSD。就是说,关闭一段时间等会提高您的表现(随着时间的推移会有所提高)
Stephen

7

2014年推荐的文件系统

自问这个问题并发布答案以来已经过去了几年。现在该发布有关此主题的最新信息。如果有什么过时的,请发表评论。

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

目前(截至2014年12月20日),Arch Linux Wiki 上的“ 固态硬盘”文章建议使用以下文件系统:

Btrfs

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

ext4

ext4(第四扩展文件系统)是Linux 的日记文件系统,最初是ext3的一系列向后兼容扩展,后来又作为ext3的后继开发。ext4的正式开发计划已由Theodore Ts'o于2006年6月发布为“ 提案和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年,JFS作为开放源代码发布,并开始移植到Linux。Linux的JFS的第一个稳定版本于2001年6月发布。它被包含在2.4.18pre9-ac4的Alan Cox树和2.5.6(2002)的主线中。在2012年,TRIM支持被添加到JFS中。

2014年基准

也可以看看


4

如果您的内核中有可用的并且您喜欢冒险,则不妨考虑使用NILFS

否则,请使用ext4,但可以使用noatime进行挂载- 有关更多提示,请参见此处


1
听起来类似于btrfs
Elazar Leibovich

4

您可以将ext4与noloadmount选项一起添加到/etc/fstab文件中。它将使文件系统在类固醇上表现为ext2。实际上,AFAIK就是Google在其数据中心中使用的。您失去了安全网络数据日记功能,但可以提高SSD的速度并延长其使用寿命。

您可以通过tune2fs -O ^has_journal在未安装的分区上运行来使其永久。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.