Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.
On Thu, 14 Feb 2008, Tomasz Chmielewski wrote: >>> 2.1. Snapshots >>> >>> Snapshots can be useful as part of an hourly backup system. Instead of >>> shutting down all applications for the entire duration of the backup, you >>> can shut them down for just the second or two needed to take a snapshot. >> >> Which doesn't solve the original poster's problem of having to shut things >> down for a consistent snapshot. :-( > > There was a discussion on lkml about implementing filesystem freeze feature > in ext3, juts like it is in XFS. > I think when LVM2 makes a snapshot of a XFS filesystem, it calls a > xfs_freeze, so the filesystem and data should be consistent. > > So, right now, using XFS would be a solution? I disagree. It's not a solution because syncing the FS isn't sufficient. With LVM you still get the FS level consistency as it is at the time of the snapshot. The problem is that applications like DBs maintain their internal buffers and caches, and these will not necessarily be consistent with the data on disk, FS freeze or not. Short of temporarily shutting down to single-user mode I don't see a solution. The flush-and-wait option would have to be implemented in every application on the system and the kernel itself if it were to work. >>> If your goal is to protect users from accidental deletion of files, you >>> may want to take snapshots every hour, and leave the last few snapshots >>> around; users who accidentally delete a file can just look in the >>> snapshot. >> >> There are much better ways of achieving this functionality. Snapshots are >> not the way to do it. A stackable versioning file system like Wayback >> (deprecated) and CopyFS achieve that in a much neater way. > > They base on FUSE. > > I don't think either of them can perform well when compared to traditional > filesystems. Sure, there's some performance penalty to pay, but does that matter? It's not something you use on your database file systems or /var/log. It's something you apply to your /etc directory and potentially home directories (excluding things like Maildirs). Gordan