Provide easy snapshotting methods for user home directories (example)

Latest response

This relies on BTRFS getting up to speed of course, but it would be great to be able to provide easily configured snapshotting of user home directories.  I'm thinking of the type of services normally provided by NAS/SAN filers here, but it would be great for deleted/overwritten/changed files to be stored in snapshot directories for various amounts of time.

 

The system I'm thinking of happened to be provided by a NetApp filer for my NFS mounted home directory.  I had a snap.hour, snap.day, snap.week and snap.month subfolder in my home dir.  Each of those were the fully mapped snapshots of my home directory and were invaluable a number of times for fat fingered typing during removal of the wrong file etc.

 

An obvious place to (perhaps even automatically) deploy this type of thing would be the /etc directory.  There are very few changes to the directory, but when things do change, it would be great to have an easily configured snapshot capability.  Storage overhead would be minimal for folders that don't change much.  But then it would be down to the user as to where they would like to configure a solution like this.

Responses

Easy-to-use snapshots would be very welcome. Ideally the commands to take, list, delete, rollback, should be as simple as possible, and reading snapshots contents should be easy. I love how netapp does all this, with the snaps always visible in dot-prefixed subfolders.

Yes, lvm and some clever scripts can already simulate a crude version of this, but if we get a proper cow filesystem then it'd be nice to go all the way and have a supported, out of the box and user-friendly mechanism.

Easy-to-use snapshots would be very welcome. Ideally the commands to take, list, delete, rollback, should be as simple as possible, and reading snapshots contents should be easy. I love how netapp does all this, with the snaps always visible in dot-prefixed subfolders.

Yes, lvm and some clever scripts can already simulate a crude version of this, but if we get a proper cow filesystem then it'd be nice to go all the way and have a supported, out of the box and user-friendly mechanism.

And maybe, if that's at all possible, make it capable of using storage array API's to perform the actual snapshotting/rollback.