[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Creating and Verifying a Reliable backup

From: Pavel Lyalyakin <pavel.lyalyakin_at_visualsvn.com>
Date: Wed, 1 Jun 2016 18:51:42 +0300

Hello Michael,

On Wed, Jun 1, 2016 at 5:58 PM, Michael Schwager <mschwage_at_gmail.com> wrote:
> Hello,
> We are very paranoid about our Subversion repo, notwithstanding the fact
> that the previous sysadmin didn't back it up. But that's another story. Now
> I'm here at my job, I've inherited the repo admin duties, and I want to back
> it up reliably. If we lose it, we're all out of work.
> My question is: How do I back it up reliably, and verify it so that I can
> deliver a 100% recovery guarantee to my boss? I have Subversion 1.8.4 on a
> CentOS 6.3 server, and Tortoise SVN 1.8.11 on Windows 7 clients.

Don't forget about `svnadmin verify`[1]. It makes sense to run it
right now if you've never ran it. ;)

And if you want to deliver recovery guarantee close to 100%, consider
`svnadmin dump`[2] in addition to hotcopy.

> I am thinking to do both an svn hotcopy to one directory, and an rsync to
> another. The svn hotcopy will give me a backup that I'm pretty sure is
> reliable (see Notes below). Assuming httpd is down and I can guarantee that
> I am the only person who will be logged into the SVN server, can I expect
> with 99.9% surety that the svn repos are quiescent?

I'm not sure that I understand what you mean by "quiescent" here.
What's your concern?

So you are planning to make a hotcopy and then transfer this hotcopy
using rsync to another machine, right?

* It's safe to run `svnadmin hotcopy` on a live repository.

* And if you'd have to use `rsync` on a *live* repository, run
 `svnadmin freeze`[3] to prevent concurrent commits to the repo while
 `rsync` is running.

If httpd is disabled and you are the only user logged on, this means that
your repositories should be untouched by any other processes at this
moment. Unless you have some indexing services that touch the repos
(and it is generally recommended to exclude repos from indexing).

> Notes:
> We're a little worried about svn hotcopy; we ran into a bug that came about
> under 1.8 when working with older repos; the hotcopy exits with the
> following error:
> svnadmin: E200002: Serialized hash missing terminator

It seems to be a bug #4554[4] that has been fixed in Subversion 1.9.
`svnadmin hotcopy` could fail on a repository with older FSFS format.

> I have compiled subversion-1.9.4 on the server under /opt/subversion-1.9.4.
> If I run that version of svn hotcopy, it appears to work and svnverify exits
> successfully. But if I look at all the files under both the original and the
> hotcopy on one of our repos, I find that a file is missing:
> repos2/db/rev-prop-atomics.shm . That's probably ok, but still- how do we
> know the latest hotcopy, and hotcopies of the future, are and will remain
> 100% bug-free?

Use `svnadmin verify` and consider using `svnadmin dump` in addition
to hotcopies. Make sure that your Subversion server is on the latest
patch update too.

[1]: http://svnbook.red-bean.com/en/1.8/svn.ref.svnadmin.c.verify.html
[2]: http://svnbook.red-bean.com/en/1.8/svn.ref.svnadmin.c.dump.html
[3]: http://svnbook.red-bean.com/en/1.8/svn.ref.svnadmin.c.freeze.html
[4]: https://issues.apache.org/jira/browse/SVN-4554

With best regards,
Pavel Lyalyakin
VisualSVN Team
Received on 2016-06-01 17:52:26 CEST

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.