On Tue, Dec 13, 2016 at 4:17 PM, Andrew Martin <amar...@xes-inc.com> wrote:
> Hello, > > I am running a Subversion 1.9.3 server on Ubuntu 16.04. I currently use > svnadmin hotcopy to safely backup the SVN repositories, but since the > repositories are now hosted on a ZFS dataset, I would like to utilize ZFS's > snapshot capabilities to create atomic, point-in-time backups of the > repositories. My plan to do this is as follows: > > 1. create zfs snapshot > 2. clone zfs snapshot and mount at a temporary location > 3. run svnadmin hotcopy from the mounted clone to safely create a backup > 4. umount and destroy clone > > My only concern is if a commit is in-progress when the zfs snapshot occurs, > would svnadmin hotcopy still be able to safely handle creating the backup? > svnadmin hotcopy will not have a problem with an in-process commit. That is kind of one of the points of that command. > Is this a safe procedure for creating backups? > I know very little about ZFS but I do not understand why you would do this. If it can take snapshots, then why wouldn't you just take a snapshot of the actual live repository, why would you want to copy it? Setting that aside, I think hotcopy is a very good way to do backups ... but it is not clear what value would come from taking a snapshot of the backup given that version control history is immutable etc. Also, once you create the initial hotcopy, you can use the hotcopy --incremental option to just copy the newer revisions. Do that from a post-commit hook and you can always have a backup up to the latest commit. To me snapshots would seem like a way to do backups without using hotcopy. I am not sure the value of combining the two ... but it should work technically if you have "reasons". Mark