我一直认为传统文件系统是为非SSD驱动器而设计的,并针对非SSD驱动器进行了优化,例如,数据局部性很重要,而碎片则很成问题。
今天推荐使用SSD驱动器的文件系统吗?我最好只使用ext4吗?
我一直认为传统文件系统是为非SSD驱动器而设计的,并针对非SSD驱动器进行了优化,例如,数据局部性很重要,而碎片则很成问题。
今天推荐使用SSD驱动器的文件系统吗?我最好只使用ext4吗?
Answers:
如果将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
;
自问这个问题并发布答案以来已经过去了几年。现在该发布有关此主题的最新信息。如果有什么过时的,请发表评论。
由于这个问题专门是“今天推荐使用SSD驱动器的文件系统吗?” 我将重点回答该问题,并发布指向其他相关信息的链接。
目前(截至2014年12月20日),Arch Linux Wiki 上的“ 固态硬盘”文章建议使用以下文件系统:
Btrfs是在GPL下发布的用于Linux 的写时复制文件系统。它的开发始于2007年的Oracle。自Linux 2.6.29(2009年3月)以来,它已包含在主线中。当前,磁盘上的格式是稳定的,预计不会更改。
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是由Silicon Graphics在1993年创建的64位日记文件系统,自5.3(1994年)以来,它是IRIX中的默认文件系统,并于2001年移植到Linux。当前,某些Linux发行版将其用作默认文件系统。XFS 具有对SSD的TRIM支持。
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中。
btrfs
。
nodiratime
呢