Filesystems: Difference between revisions
Jump to navigation
Jump to search
(→XFS) |
No edit summary |
||
Line 8: | Line 8: | ||
== Ext3 == | == Ext3 == | ||
* fairly old (2001), but well established and well behaved | * fairly old (2001), but well established and well behaved | ||
* does not support more than | * does not support more than 16TB (2^36 bytes) | ||
* does not support transparent compression | * does not support transparent compression | ||
* does not support checksumming (a data-integrity feature) | * does not support checksumming (a data-integrity feature) | ||
Line 14: | Line 14: | ||
== ZFS == | == ZFS == | ||
* Sun's filesystem which is natively available on Solaris (since 2005)) and OpenSolaris (both of which are freely available) | * Sun's filesystem which is natively available on Solaris (since 2005)) and OpenSolaris (both of which are freely available) | ||
* no 16 | * no 16 TB limitation; max size is 2^128 bytes | ||
* (optional) transparent (gzip) compression (LZO compression available as patch) | * (optional) transparent (gzip) compression (LZO compression available as patch) | ||
* atomic updates - means that the on-disk state is consistent at all times, there's no need to perform a lengthy filesystem check after forced reboots/power failures | * atomic updates - means that the on-disk state is consistent at all times, there's no need to perform a lengthy filesystem check after forced reboots/power failures | ||
Line 26: | Line 26: | ||
* fairly new in Linux kernel (stable since 2008); ext4 is based on ext3 (same developers) | * fairly new in Linux kernel (stable since 2008); ext4 is based on ext3 (same developers) | ||
* becoming the default of new versions of Linux distros (Fedora, Ubuntu, ...) | * becoming the default of new versions of Linux distros (Fedora, Ubuntu, ...) | ||
* no 16 | * no 16 TB limitation; max size is 1 EiB (1 exbibyte = 2^60 bytes) | ||
* no compression and checksumming (data-integrity) features | * no compression and checksumming (data-integrity) features | ||
== btrfs == | == btrfs == | ||
* latest addition to native Linux filesystems; considered stable since 2.6.31 kernel (2009; see http://www.h-online.com/open/Kernel-Log-2-6-31-Tracking--/features/113671) | * latest addition to native Linux filesystems; considered stable since 2.6.31 kernel (2009; see http://www.h-online.com/open/Kernel-Log-2-6-31-Tracking--/features/113671) | ||
* no 16 | * no 16 TB limitation; max size is 16 Eib (1 exbibyte = 2^60 bytes) | ||
* (optional) transparent (zlib) compression | * (optional) transparent (zlib) compression | ||
* checksumming for data integrity is implemented | * checksumming for data integrity is implemented |
Revision as of 15:43, 24 September 2009
This page serves to give some information on possible filesystems for Linux machines, in particular those that may be used for very large filesystems (many TB). The list is sorted by age!
XFS
- SGI's filesystem (1994) that was ported to Linux around 2001
- no 16 TB limitation; max size is 8 Eib (1 exbibyte = 2^60 bytes)
- no compression and checksumming (data-integrity) features
Ext3
- fairly old (2001), but well established and well behaved
- does not support more than 16TB (2^36 bytes)
- does not support transparent compression
- does not support checksumming (a data-integrity feature)
ZFS
- Sun's filesystem which is natively available on Solaris (since 2005)) and OpenSolaris (both of which are freely available)
- no 16 TB limitation; max size is 2^128 bytes
- (optional) transparent (gzip) compression (LZO compression available as patch)
- atomic updates - means that the on-disk state is consistent at all times, there's no need to perform a lengthy filesystem check after forced reboots/power failures
- background checksumming and self-healing for data integrity
- Built-in stripes (RAID-0), mirrors (RAID-1) and RAID-Z (it's like software RAID-5, but more efficient due to ZFS's copy-on-write transactional model)
- there are ports of ZFS to FreeBSD and Mac OSX
- the source code license of ZFS is incompatible with the GPL of the Linux kernel, therefore only available as userland filesystem (ZFS-over-FUSE; see see http://www.wizy.org/wiki/ZFS_on_FUSE) on Linux
- installable ZFS/FUSE packages are available e.g. on latest Ubuntu und Fedora (see http://www.linux-magazine.com/w3/issue/103/ZFS.pdf)
Ext4
- fairly new in Linux kernel (stable since 2008); ext4 is based on ext3 (same developers)
- becoming the default of new versions of Linux distros (Fedora, Ubuntu, ...)
- no 16 TB limitation; max size is 1 EiB (1 exbibyte = 2^60 bytes)
- no compression and checksumming (data-integrity) features
btrfs
- latest addition to native Linux filesystems; considered stable since 2.6.31 kernel (2009; see http://www.h-online.com/open/Kernel-Log-2-6-31-Tracking--/features/113671)
- no 16 TB limitation; max size is 16 Eib (1 exbibyte = 2^60 bytes)
- (optional) transparent (zlib) compression
- checksumming for data integrity is implemented
- a review of btrfs from an ex-ZFS engineer: http://lwn.net/Articles/342892/
- you can upgrade an existing linux file system to btrfs without destroying the existing fs or duplicating the data: http://btrfs.wiki.kernel.org/index.php/Conversion_from_Ext3
- http://www.h-online.com/open/The-Btrfs-file-system--/features/113738