ext3
ext3 adds a journal kept in a regular file on top of the ext2 filesystem. If the journal is empty (which will be the case on a clean server shutdown), you can even open an ext3 filesystem in ext2 mode. It's backward compatible with ext2, and it's possible to convert a volume in either direction: ext2 to ext3 or ext3 to ext2.
There are three levels of journaling available in ext3, specified as options when mounting the filesystem:
data=writeback
: Data changes are not journaled at all. Metadata changes are journaled, but the order in which they are written relative to the data blocks is not guaranteed. After a crash, files can have extra junk at their end from partially completed writes, and you might have a mix of old and new file data.data=ordered
: Metadata is journaled, but data changes are not. However, in all cases the metadata writes only occur after the associated data has already been written—thus the name "ordered". After a crash, it is possible...