Re: [SLUG] FS errors

From: Ian C. Blenke (ian@blenke.com)
Date: Tue Jul 18 2006 - 19:06:11 EDT


Paul M Foster wrote:

> Ian C. Blenke wrote:
>
>> If you see nothing but 0000's, the file has been zeroed out. We
>> usually see this when file is open for writing when a system running
>> XFS is powered off abruptly. Hooray for metadata journaled
>> filesystems (where the actual data isn't journalled).
>
>
> You mean to say that XFS doesn't journal the *data*? What good is that?

I swear we've had this discussion on the SLUG list before. ;)

There are two things written to disk: data and metadata.

Data is the actual contents of files that you write to disk.

Metadata is the information about how that data is stored on the disk
(where are the disk blocks located), as well as other associated
information like inode structures that describe the files in the filesystem.

Most journalled filesystems are only concerned with journalling the
metadata to avoid fscks on boot.

Only Ext3 has modes where it journals data writes ("data=journal" and
"data=ordered").
By default, Ext3 uses "data=writeback", which does _not_ journal data
writes.

This means that you _can_ have corrupt files on a journalled filesystem
if it only journal metadata writes. The filesystem itself will appear
sane though, and will not require a filesystem check on boot. Instead of
an fsck, the journal will simply play through.

Some journalled filesystems are faster than others depending on the
types, size, and number of files and their layouts in the filesystems.

We prefer XFS for overall speed and reliability. As long as a server
just keeps running (which most of our servers do, with boku uptime)
without power outages (yay UPS and generators!), there are usually no
problems. If the power goes out, we will end up with null-filled files,
but we have backups for a reason, right? ;)

If I must use a box that needs to be powered off and on now and then
(like a laptop with buggy ACPI) and speed isn't the sole issue at hand,
I'll use ext3 with "data=ordered", which isn't as slow as
"data=journal", and is generally safe for files only being written in
append mode.

If I'm incredibly paranoid, or I have a system that is mostly write()
bound (all other journalled filesystems fall apart under high random
write load), ext3 with "data=journal" is the best solution out there,
period.

- Ian C. Blenke <ian@blenke.com> http://ian.blenke.com/

-----------------------------------------------------------------------
This list is provided as an unmoderated internet service by Networked
Knowledge Systems (NKS). Views and opinions expressed in messages
posted are those of the author and do not necessarily reflect the
official policy or position of NKS or any of its employees.



This archive was generated by hypermail 2.1.3 : Fri Aug 01 2014 - 14:49:06 EDT