Multisite Repository Replication
Multisite Repository Replication feature is based on VisualSVN Distributed File System (VDFS) technology and enables geographically distributed teams to work with Subversion repositories at LAN speeds. The VDFS technology is native on Windows and works out of the box!
Key advantages of VisualSVN Distributed File System technology are:
- Fully functional and writable distributed Subversion repositories.
- High-performance replication optimized for WAN connections.
- Transparent replication and seamless security.
- Resilience and disaster recovery.
Why use Multisite Repository Replication
Multisite Repository Replication and the underlying VDFS technology may be useful for a variety of business-critical purposes, including faster repository access and disaster recovery.
Faster repository access for distributed teams
With Multisite Repository Replication the main repository can be replicated across multiple company's sites and locations which results in significant operations speedup. Here are some things that Multisite Repository Replication does for you in strengthening the distributed team’s productivity:
- Read operations performed at LAN speeds. No over-the-WAN communication happens when the end-user performs a read operation for a master or slave repository.
- Data replication optimized for WAN links. VisualSVN Distributed File System is able to fully utilize 100 Mbps WAN links when data is replicated between master and slave repositories. Data replication is performed at least 10 times faster, compared with svnsync.
- Excellent performance of commit to slave VDFS repository. Commits to a local slave VDFS repository are completed up to 10x faster than commits to a remote Subversion repository performed over the WAN.
For more information, please see the Multisite Repository Replication for Geographically Distributed Teams page.
Disaster Recovery
Multisite Repository Replication can be also used as a disaster recovery solution. It enables you to host your existing repositories on one server and create a redundant set of repositories on another server, and preferably at another site, for disaster recovery. Repository data will be replicated continuously and automatically between these two servers, which helps to prevent or minimize data loss and resume operations quickly, even if the main server is completely lost.
To start using VDFS for disaster recovery, your existing repositories must be first converted into distributed VDFS master repositories. The corresponding VDFS slave repositories should be then created on your disaster recovery server. In case a disaster renders master repositories inoperable, you will be able to recover them using their slave repositories. For more information, please read the KB93: Performing disaster recovery for distributed VDFS repositories article.
How replication works
The VisualSVN Distributed File System follows the classic master/slave replication architecture which is perfect for replication of Subversion repositories. Each VDFS repository can be created as either a master or a slave, not both. Commits performed to the master repository are automatically replicated to all the slave repositories.
Slave repositories are writable. When a commit is performed to the slave repository, the corresponding transaction is simultaneously committed both to the master and to the involved slave repository. Then the data becomes replicated to the other slave repositories.
Fully functional and writable distributed Subversion repositories
Distributed VDFS repositories are writable and functionally equivalent to regular Subversion FSFS repositories. End-users can perform all possible Subversion operations with both master and slave VDFS repositories:
- Checking out and updating working copies. These and all the other read operations, such as merge, log and blame, are always performed at LAN speeds.
- Committing changes. Commits and other write operations such as branch creation are available for both master and slave repositories. New transactions are transparently replicated to the corresponding master repository and other slaves in a consistent and high performance manner.
- Modifying revision properties. No matter where there was a modification of the unversioned revision property (such as the svn:log or svn:author), the appropriate changes will be automatically replicated to all the replication partners.
- Locking and unlocking files. Subversion’s locking feature is fully supported; locking and unlocking can be done through both master and slave repositories. These operations are guaranteed to be consistent and the locks themselves are replicated between the repositories in a very efficient way.
Transparent replication and seamless security
Subversion uses pluggable model for data store backends. Historically there were two backends available:
- BDB (now deprecated) that keeps everything in a Berkeley DB and
- FSFS that stores data in ordinary flat files, using a custom format.
The VisualSVN Distributed File System is just another data store backend that transparently implements bi-directional data replication. Thanks to the Subversion's modular design, a VDFS-based repository looks and acts just like a regular Subversion repository. The replication is performed automatically and transparently. It's worth to notice that there is no data lock-in and you can instantly convert existing FSFS-based repositories into a VDFS repository and vice-versa.
Thanks to the above, VDFS repositories seamlessly integrate with all the security facilities built-in into VisualSVN Server. Your current security settings will be automatically applied for end users who connect to a VDFS repository. For example, end users will access a VDFS repository with their current Windows credentials if you have Integrated Windows Authentication feature enabled in your server. Secure SSL connections, enhanced logging and other features are also available for distributed VDFS repositories.
If you have Windows authentication enabled, access control settings can be automatically replicated from the master repository to all the slave repositories. This allows you to manage the centralized access control list on the master server and have the identical authorization settings for all the slave repositories. For more information read the KB122: Understanding access permissions for distributed VDFS repositories article.
Resilience and failure tolerance
The main failure resilience guarantee of the VDFS technology is that a master repository never depends on any of the slave repositories. Even if all the slave repositories are down or unavailable, the master repository remains readable and writable. It is also guaranteed that in case of network failures, the replication will be automatically recovered after the network is restored.
With VDFS you can be sure that the following statements are always true:
- a master repository is always readable and writable — even if some of the corresponding slave repositories become unreachable or fail,
- a slave repository is always writable if there is a connectivity to the corresponding master repository,
- read access to the slave repository does not require connectivity to the corresponding master repository,
- replication is resilient to temporary connectivity issues,
- it is possible to recover if a master repository is lost due to disaster.
All this makes the VDFS technology more competitive when compared with master-master replication solutions for Subversion.
Licensing and evaluation
All paid VisualSVN Server licenses starting from Essential come with the VDFS technology on board. To deploy VDFS replication you need to have two or more servers, each of them having a separate license key installed. However, starting with VisualSVN Server 4.1, you have an option to use one Enterprise Multinode license on all nodes of the same VDFS replication cluster.
You may also request a free Evaluation license to assess the Multisite Repository Replication feature for free. Evaluation license key can cover any number of servers required.
Getting started with Multisite Repository Replication
The VisualSVN Distributed File System is native on Windows and works out of the box. There are only a few steps to get started, and Subversion repositories replication across multiple sites can be configured in minutes. For the more detailed getting started guidance please consider the KB136: Getting started with Multisite Repository Replication article.