[Nottingham] [Talk] Thurs 02/07/09 What's in a Filesystem?
Martin
martin at ml1.co.uk
Tue Jul 7 22:18:34 UTC 2009
>> What's in a Filesystem?
>>
>> A brief-ish comment on the various Linux filesystems available and which
>> one/ones to choose.
So, I mentioned the issue of partition and stripe alignment to the
underlying storage media data blocks for when you might be using SSDs or
RAID. For both cases, if misaligned, you can suffer as much as a claimed
30% or more performance slowdown if trying to write a block of data that
straddles across a storage system unit boundary. SSDs can also suffer
the effect of "write amplification" if you straddle new data across an
erase block boundary.
Fixes for that are to frig the (anachronistic) chs geometry used by
fdisk to guarantee that a partition starts on a 1 MByte (or greater
binary multiple) boundary. Also, if your filesystem supports it, to
write in chunks that match a multiple of the storage medium's
sector/page size. And if using LVM, to align that to suitable boundaries.
Which is all well and good apart from the very old fashioned partition
table at the start of the HDD/SSD! OK... so the fix for that is to
either have no partition table at all and to then have LVM or the
filesystem use the entire disk. Or, to place your boot partition
(unaligned) to pad out the space immediately after the partition table
up to the first aligned partition.
As to which filesystems:
I'm now swayed to use ext4 pending brtfs being developed further.
Likes: The extents for efficiently allocating contiguous blocks of disk
space, write chunks, configurability, and the directory indexing trees
for fast access;
Dislike: The fixed number of inodes of which you need x100 of the things
to waste space 'just in case'.
Or, if you're on a conventional HDD:
ReiserFS 3.6
Likes: The complete flexibility of any mix of numbers/sizes of files and
it still works very well, no fixed number of inodes to waste space or to
get strangled with, tail attachment of small files into the filesystem
tree structure to maximise disk space utilisation, robust;
Dislikes: Hans Reiser's notoriety, impossible to recover if severely
scrambled (but then, that goes for any filesystem).
And plain old ext3 (or even just ext2) for the boot partition.
Another aspect is the semantics of whether filesystems should
incorporate database-like features/functionality. As mentioned, from
others discussions, I'm now very against xattr (extended attributes).
From others comments, XFS also looks good, especially for good
parallel-ised access for multicpu/multicore systems. I'll let those
others enthuse on the technical details.
Cheers,
Martin
--
----------------
Martin Lomas
martin at ml1.co.uk
----------------
More information about the Nottingham
mailing list