And why should I pick one instead of the other?
Taken from: Linux Filesystem Primer
- Recommended to move to EXT3
- Not Journaled
- POSIX access control
EXT2 file system is the predecessor to the EXT3 file system. EXT2 is not journaled, and hence is not recommended any longer (customers should move to EXT3).
- Most popular Linux file system, limited scalability in size and number of files
- POSIX extended access control
EXT3 file system is a journaled file system that has the greatest use in Linux today. It is the "Linux" File system. It is quite robust and quick, although it does not scale well to large volumes nor a great number of files. Recently a scalability feature was added called htrees, which significantly improved EXT3's scalability. However it is still not as scalable as some of the other file systems listed even with htrees. It scales similar to NTFS with htrees. Without htrees, EXT3 does not handle more than about 5,000 files in a directory.
- Best performance and scalability when number of files is great and/or files are small
- POSIX extended access controls
The Reiser File System is the default file system in SUSE Linux distributions. Reiser FS was designed to remove the scalability and performance limitations that exist in EXT2 and EXT3 file systems. It scales and performs extremely well on Linux, outscaling EXT3 with htrees. In addition, Reiser was designed to very efficiently use disk space. As a result, it is the best file system on Linux where there are a great number of small files in the file system. As collaboration (email) and many web serving applications have lots of small files, Reiser is best suited for these types of workloads.
ext3 is the standard filesystem used by operating systems based on the linux kernel.
ext4 is an "advanced" version of ext3 with various improvements, basically an upgrade to the ext3 format.
ReiserFS is another filesystem common to linux systems, but with some ongoing codebase issues whereby it periodically tries to kill your wife.
ext3 is the most common format.
To assist you with the "Why" part of your question, the Linux Gazette did an article comparing many of the filesystems used in Linux. I found the article useful although due to it's age it does lack information on "ext4".
Well, ReiserFS (and if you are up for patching your kernel, Rieser4) have some advantages, especially with small files. Unfortunately it seems they will never make it into the kernel.
At this point, I'd run ext4, unless I was paranoid, in which case I'd run ext3.
In the future, I'd run BTRFS, but that is still in alpha, it should pick up much of the niftyness of the Rieser file systems and ZFS (far and away the most interesting production file system, but not for Linux (though you can use it with FUSE)).