Slow disk access while rsync - what should I tune?

Matthew Dillon dillon at apollo.backplane.com
Sun Oct 31 16:35:36 UTC 2010


:cronfy <cronfy at gmail.com> wrote:
:
:> And also, maybe there are other ways to create incremental backups
:> instead of using rsync/hardlinks?
:
:Yes.  Use dump(8) -- that's what it's for.  It reads the inodes,
:directories, and files directly from the disk device, thereby
:eliminating stat() overhead entirely.
:
:Any replication mechanism -- rsync, tar, even dd -- can be used
:as a backup mechanism, but dump was specifically designed for the
:purpose.

    Well, dump is 25+ years old and has some serious issues when it
    comes to reliably backing data up.  On a modern (large) filesystem
    you are virtually guaranteed to get corruption due to the asynchronous
    nature of the dump.

    This can be partially mitigated by using a block level snapshot on
    the UFS source filesystem and then dumping the snapshot instead of
    the live filesystem, but that opens up a pandora's box of other
    issues (such as whether issuing the snapshot itself will destabilize
    the machine), plus the live system will stall while it is making the
    snapshot, assuming you want a consistent snapshot, plus the snapshot
    itself may not be entirely consistent, depending on how it is made.

    Plus dump uses mtime to detect changes, which is unreliable, and the
    output produced by dump is not live-accessible whereas a snapshot /
    live filesystem copy is.  That makes the dump fairly worthless for
    anything other than catastrophic recovery.  From experience, most
    people need to access backups to pull out small bits of information
    rather than whole filesystems, such as to restore a user's home
    directory or web pages, and dump/restore is really unsuitable for
    that sort of thing.

    Live backups are far, far, far superior to dump/restore.

						-Matt


More information about the freebsd-hackers mailing list