Migration depends on a lot of infrastructural constraints.
a) do you have full access of the servers
b) do you have virtualized systems, or plan to use on the new server.
c) what is the network layout between the servers, lan/wan,etc.
d) what is the allowed downtime.
e) is there a need for "cleaning" the data
All of these and probably other constraints should carefully be checked before being able to guide into a specific direction.
Amongst solution elements:
As others stated, you can use svn specific tools like svnsync.
An other approach would be more independent of svn:
You can also use, filesystem or volume snapshots, if available. Stop the svn before taking the snapshot to be sure of a consistent snapshot. Then you can mount the repository snapshot to the new server. If everything is prepared upfront, then you should be able to migrate in just about seconds.
Keep in mind, that you have a huge snapshot volume, since the snapshot volume will become your working volume. This way you can probably drastically bring down the downtime.
Another way to minimize downtime is to run your server in a VM. In case you want just to migrate the server HW. You can use VM specific tools and means to easily migrate. I personally did even live migration of XEN VM in - fractions of a second - downtime.
Snapshot as well as VM Technology has to be thoroughly planned before use.
Regards
Thomas
-----Ursprngliche Nachricht-----
Von: Nico Kadel-Garcia [mailto:nkadel_at_gmail.com]
Gesendet: Samstag, 9. Juli 2011 20:42
An: Les Mikesell
Cc: users_at_subversion.apache.org
Betreff: Re: the best migrate solution of lower downtime
On Sat, Jul 9, 2011 at 12:54 PM, Les Mikesell <lesmikesell_at_gmail.com> wrote:
> On 7/9/11 11:30 AM, Nico Kadel-Garcia wrote:
>>
>> There are numerous others, such as pre-staging with "svnsync" to
>> switch arachitures or refactoring of projects into different
>> repositories, or finally getting things under $URL/project/trunk
>> instead of $URL/trunk/project.. In that case, the UUID's of the
>> repositories would be distinct, and switchover for clients is
>> trickier.
>
> You can use svnsync to do the copy, then change the uuid to match the old
> one as long as the final transaction matches - that is you do not do any
> commits during or after the last sync run. It is much slower than rsync'ing
> the underlying files (and doesn't take hooks), but might be worth doing if
> the original repo started with an old version of subversion.
I've used that. It's potentially more dangerous, especially because
svnsync can be used with repository splitting.
Received on 2011-07-11 14:01:53 CEST