[clug] best filesystem for solid state drive?

Daniel Pittman daniel at rimspace.net
Thu Jun 18 00:46:50 GMT 2009


Paul Wayper <paulway at mabula.net> writes:
> On 17/06/09 17:56, Michael James wrote:
>
>> What's the best filesystem to use when bin, boot, lib, etc and usr are on a
>> solid state drive?

ext3, XFS or ext4, depending on your risk tolerance, in approximately that
order.  Later, btrfs, but that exceeds the risk level of anything I would
recommend at present.

>> Ext2 with noatime?

Not really.

>> I've got an old sever that I'm booting off a compact flash.  It also has a
>> SATA drive to hold home, tmp, var, (the big or changing directories).
>>
>> The compact flash root filesystem won't be mounted read only, but isn't
>> intended to be written much.
>
> ext2 is probably your best bet here - we'll be in flying cars when they give
> up ext2 support in the kernel, and lack of journal makes it write less to
> the disk.

Both of those are true, but the later is really not nearly as much difference
as you might expect:

http://thunk.org/tytso/blog/2009/03/01/ssds-journaling-and-noatimerelatime/

Ted Tso, the author of those well researched comments, is of course the
current primary author of the ext? series file systems.

> Turning on noatime is also a good idea.

Yes, on pretty much anything on earth.  On the plus side, come .30 upstream
have apparently moved to relatime by default, so this becomes /less/ of an
issue out of the box.

> Even with modest usage I'd expect your flash to last as long as the disks
> do.

Absolutely, and that is more or less regardless of the filesystem you use.

The biggest correlation to lifespan for an SSD is, in fact, how much money you
pay for it: better vendors (hi, Intel) have much, much better wear levelling
and block aggregation algorithms, and those are where the excitement is in
terms of lifespan.

(Well, and how cheap the raw flash chips are, which also correlates fairly
 well to price these days. ;)

Regards,
        Daniel


More information about the linux mailing list