This guide runs through everything you need to know to get SVN MultSite Plus deployed. First we'll cover all the things that you need to have in place before you install. We'll then cover a standard installation and setup. Finally we'll look at some possible problems you might experience with some troubleshooting tips.
Before we install Subversion MultiSite, we need to ensure that we've got a suitable platform, with sufficient hardware, compatible version of required software, configured appropriately.
This section details the knowledge and technical requirements for deployment and operation of the WANdisco software, you should ensure that each of these sections is addressed before you begin the deployment.
Technical Skill Requirements | |
System administration |
|
Apache administration (if applicable) |
|
Networking |
|
Subversion |
|
If you're not confident about handling any of these tasks, you can request a supported installation from WANdisco.
A single administrator can manage all the systems running MultiSite, although it's a good idea to have someone at each site who is familiar with the MultiSite Basics.
As with any software implementation you should deploy SVN MultiSite Plus following a well defined plan. Doing so will help keep things under control, understood, and any potential problems will be spotted and fixed before you go into production.
We recommend that any deployment plan includes the following steps:
This section covers everything you need to know when preparing your Subversion servers for replication. You should view this information as a set of guidelines, not as a fixed set of requirements that are followed slavishly. There are a lot of factors at play and there's really no substitute to running your own performance tests during an evaluation period.
Hardware Sizing Guidelines | |||||||
---|---|---|---|---|---|---|---|
Size | #Users | Repository Size (GB) | CPU speed (GHz) | #CPU | #Cores | RAM (GB) | HDD (GB) |
Small | 100 | 25 | 2 | 1 | 2-4 | 8-16 | 100 |
Medium | 500 | 100 | 2 | 2 | 4 | 16-32 | 250 |
Large | 1000 | 500 | 2.66 | 4 | 4 | 32-64 | 750 |
Very Large | 5000 | 1000 | 2.66 | 4 | 4-6 | 128 | 1500 |
This is a summary of the requirements, you'll need to run through the more detailed Installation Checklist.
Requirement
You must run Subversion and Subversion MultiSite on the same server.
Alert
A repository can belong to only one replication group at a time.
Though you may have referred to the Installation Checklist prior to an evaluation of Subversion MultiSite we strongly recommend that you revisit the checklist and confirm that your system still meets all requirements.
System setup | |
Operating Systems |
We've tested the following operating systems:
Go 64-bit
While it's possible to run Subversion MultiSite on 32-bit architecture, this would impose serious limits on scalability. For this reason we strongly discourage deploying on anything less than a 64-bit Operating System unless your requirements are limited to a handful of sites and less than a hundred repositories. |
Subversion server |
Required Version: SVN MultiSite Plus needs to use WANdisco's own Subversion -1.7.7-1 distribution, which includes FSFSWD libraries that are necessary to work over the Fast and Secure File System. These files are available through your regular WANdisco software distribution channel. Write access for system user The replicator user must have write permission for all repositories - as the replicator writes directly to the Subversion repository. Manage repository file ownership if using SVN+SSH:// or file:// Accessing Subversion repositories via Apache2+WEBDAV is simplified by the fact that all user access is handled via the same daemon user. SVN+SSH or file:// access is a little more tricky, there are potential permission problems when multiple users access the same repository. Tips:
Repository Creation: The FSFSWD libraries included in the WANdisco version of Subversion need to be enabled for each repository you intend to replicate. To enable FSFSWD, run the following for each repository you create svnadmin create Repo --fs-type fsfswdThen edit Repo$x/db/fsfs.conf (view an example fsfs.conf file) uncomment the line:
#rep_port = 7777
Certified Subversion Binaries
are now available from WANdisco. Providing the latest builds, without the risks associated with Open Source distribution. Same location Same UUID |
Subversion client |
Any that are compatible with local Subversion servers. |
Hooks |
|
System memory |
Minimum recommended: 8 GB RAM; 16 GB swapping container |
Disk space |
Subversion: Match to projects and repositories. MultiSite Transaction Journal: Equivalent of seven days of changes. To estimate your disk requirements, you need to quantify some elements of your deployment:
|
File descriptor/User process limits |
Ensure hard and soft limits are set to 64000 or higher. Check with the ulimit or limit command.Running lots of repositories Maximum processes and open files are low by default on some systems. We recommend that both processes and files are unlimited: ulimit -u unlimited && ulimit -f unlimited
-f The maximum size of files created by the shell(default option) A file /etc/security/limits.d/90-nproc.conf explicitly overrides the settings in security.conf, i.e.:
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.
* soft nproc 1024 <- Increase this limit or ulimit -u will be reset to 1024
|
Journaling file system |
Replicator logs should be on a journaling file system, for example, ext3 on Linux or VXFS from Veritas. Alert Avoiding Data Loss |
Java |
Install JDK 7 JDK is provided as part of the SVN MultiSite Plus installation package, if it isn't already installed on your server the installer will ensure that it is. Use Oracle Java |
Python |
Install version 2.3 or later. |
Browser Compatibility |
Set up and configuration requires access through a browser, what follows is a basic (not exhaustive) guide to which browsers are known to work:
SVN MultiSite Plus is not compatible with either Internet Explorer 6 or 7 |
MultiSite setup | |
Replication Configuration |
Read our Replication Setup Guide for information on how to optimise your replication - Replication Setup. |
Voters follow the sun |
Subversion users get the best performance if Subversion MultiSite gets agreement from the local nodee. For this reason you should schedule for the the voter node to correspond with the location in which developers are active (i.e. in office hours). |
Disk space for recovery journal |
Provision large amounts of disk space for multisite-plus/replicator/database, enough space to cover at least the number of commits within a two to four hours during your times of peak Subversion usage. |
License Model |
SVN MultiSite Plus is supplied through a licensing model based on the numbers of both nodes and SVN end-users. WANdisco generates a license.key file will be matched to your agreed usage requirements. Evaluation LicenseTo simplify the process of pre-deployment testing SVN MultiSite is supplied with an evaluation license. This type of license imposes no restrictions on use but it time-limited to an agreed period.Production LicenseCustomers entering production need production license file for each node, these license files are tied to the node server's IP address so care needs to be taken during deployment. In the event that a node needs to be moved to a new server with a different IP customers should contract WANdisco's support team and request that a new license be generated ideally before you transfer the node. Production license can be set to expire or they can be perpetual.Special Node TypesSVN MuliSite Plus offers additional node types provide limit sets of functionality for special cases where a node only needs to perform in a limit role: Passive Nodes (Learner only) - A passive node operates like a slave in a master-slave model of distribution. Change to its repository replicas only occur through inbound proposals, it never generates any proposals itself. Voter-only nodes (Acceptor only)- A voter-only nodes operates in a fashion where they don't need to know the content of proposals, they cast votes based only on the basis of replication history: "have I already voted yes to a Global Order Number equal or larger than this one". These limited-function nodes are license differently from active nodes. Speak to WANdisco's sales team for more details. In short the IP addresses will be a fixed list but the node count and special node count may move between sets of nodes, as long as the number of each type of node is within the limit specified in the license.key. |
The installation guide runs through setting up Subversion MultiSite for the first time. If you are upgrading from an earlier version of Subversion MultiSite you should also follow this procedure - SVN MultiSite Plus is a completely new class of product so it's not possible to follow a shortcut upgrade procedure.
Before we begin, here is a recap of the installation process:
Alert
Important: use Oracle JAVA JDK 6
All our development and testing is done using JDK 6. You will need to use JDK 6 to ensure compatibility with Subversion MultiSite. It may be possible to run Subversion MultiSite with other versions of Java, although we won't presently be able to support it.
Some things you should bear in mind before starting the installation:
wandisco-multisite-plus.sh
installer file to your Installation site.chmod a+x wandisco-multisite-plus.sh
Running with Apache?
If you are using Apache to allow httpd access to your repositories, you should run both Subversion MultiSite and Apache with the same user.
[root@redhat6 ~]# chmod a+x multisite-plus.sh [root@redhat6 ~]# ./multisite-plus.sh Verifying archive integrity... All good. Uncompressing WANdisco MultiSite Plus........ , .. . . `''` . ..`'' ...` . :, ,;. :; ::, :: :: + +' '+ +++++++ ++++++, + ,' ; ; : ; + '` + ::::,:::: ::: +' ++ +;;+ ++ ++ '+ + : ; + ' . : ::::::::::: ::: ;+ '++ + +' `+ ++ + + + ; ' . + + ,:::::::::::: ::: + +.+;++ +, + ++ + + ; ; .++ : + ' ::::::::::: ::: +++ .++, +' `+ ++ + + + ; .`. + + ::::,:::: ::: .++ ++ '+ ++ ++ + + : ; ; ' , : ::, :: :: +. ++ +++++++ ++ + + .' ; + , `; ' + + , , `` .++` , ,, , ,,,. . `;: :', ;; Are you sure you want to commence the installation of WANdisco MultiSite Plus? Continue? Y/N [Y] > Y
Beginning WANdisco MultiSite Plus Installation... WARNING: The max number of user processes is less than 64000 for this user. This needs to be set to a high value otherwise your system won't be able to create the threads required to deploy large numbers of repositories. Continue? Y/N [Y] >This check of the maxiumum number of user processes will highlight whether your server is ready for a high-traffic deployment. Press Enter to continue.
WANdisco Java processes will start with the following memory settings: Replicator: Max Memory: 4096 Min Memory: 1024 UI: Max Memory: 1024 Min Memory: 128 WARNING: If the host does not meet these specified memory requirements, you will encounter problems starting the WANdisco processes. Would you like to change these settings? Change settings? Y/N >Enter "Y" if you need to modify the heap settings, then enter your preferred values. Of course, dropping these settings may impact your system's performance. You should discuss the heap requirements with WANdisco's support team before making any major changes from the default values.
Please select a port on which to start the UI after installation Enter port number:We use port 8080 in our documentation. Check with your network administrator about which ports are available. You can change the port during the next part of the installation.
WARNING: The max number of file descriptors is less than 64000 for this user. This needs to be set to a high value otherwise your system may encounter issues whilst under load.Press Enter to continue.
There is a version of SVN installed. ------------------------------------------------------------------------------- svn, version 1.7.7-fsfswd (r75) compiled Nov 22 2012, 16:04:16 Copyright (C) 2012 The Apache Software Foundation. This software consists of contributions made by many people; see the NOTICE file for more information. Subversion is open source software, see http://subversion.apache.org/ The following repository access (RA) modules are available: * ra_neon : Module for accessing a repository via WebDAV protocol using Neon. - handles 'http' scheme - handles 'https' scheme * ra_svn : Module for accessing a repository using the svn network protocol. - with Cyrus SASL authentication - handles 'svn' scheme * ra_local : Module for accessing a repository on local disk. - handles 'file' scheme ------------------------------------------------------------------------------- Do you want to install WANdisco SVN? Y/N [Y] >In this case we can enter "N".
http://<IP_Adress>:<admin port>/multisite-locale.g.
Welcome to SVN MultiSite Plus.
You're about to run through the installation, which should only take a couple of minutes.
If you run into difficulties on the way, check our documentation or talk to our support team through the Customer Support Website.
Before you click Next, make sure you Read the Installation Checklist
Temporary limitation
Node names can not contain spaces or ".".
A word about trust stores and key stores
You might be familiar with the Public-key system that allows two parties to use encryption to keep their communication with each other private (incomprehensible to an intercepting third-party). The keystore is used to store the public and private keys that are used in this system. However, in isolation, the system remains susceptible to the hijacking of the public key file, where an end user may receive a fake public key and be unaware that it will enable communication with an impostor. Enter Certificate Authorities (CAs). These trusted third parties issue digital certificates that verify that a given public key matches with the expected owner. These digital certificates are kept in the truststore. An SSL implementation that uses both keystore and truststore files offers a more secure SSL solution.
If you need help getting your SSL keys set up, check out our guide in the Appendix - Setting up SSL
Now repeat section 3 for each node that you wish to share your Subversion repositories.
You may benefit from creating an image of your initial server, with the repositories in place and using this as a starting point on your other sites - this will help you ensure that your replicas are in exactly the same state.
Same Location
All replicas must be in the same location (same absolute path) and in exactly the same state before replication can start.
Same UUID
If you start with new repositories, don't create them individually at each node. This is because even though they may share the same repository data, each will have it's own universally unique identifier (UUID) - unless they have the same UUID they're not replicas.
After installing SVN MultiSite Plus at all sites, you'll need to make the sites aware of each other through the node induction process. There's a particular way that you need to run through this process so get another coffee and don't skip this section.
It's important that sites are connected together in specific sequence. Run through the following steps to ensure that your sites are all able to talk to each other:
SVN MultiSite Plus lets you share specific repositories between selected sites. This is done by creating Replication Groups that contain a list of sites and the specific repositories they will share.
This illustration shows a collection of four sites that are running two replication groups. Replication Group one replicates Repo1 across all four sites, whilst Replication Group 2 replicates repo2 across a subset of sites.
Follow this procedure to create a Replication Group. You can create as many replication groups as you like. However, each repository can only be part of one active replication group at a time.
Create Replication Group
Local node automatically made the first member
It's not possible to create a replication group remotely - the node on which you are creating the group must itself be an member.
For this reason, when creating a replication group, the first node is added automatically.
Enter a name and add some node.
Change node type
Once you have added all sites and configured their type, click CREATE REPLICATION GROUP to see a groups details.Groups boxes, click QUICK VIEW view your options.
Once you have added at least one Replication Group you will be able to add repositories to your node. Here's how:
Repositories > ADD
Repositories > Enter details then click ADD REPO
Repositories listed
Copyright © 2010-2013 WANdisco plc.
All Rights Reserved
This product is protected by copyright and distributed under
licenses restricting copying, distribution and decompilation.
SVN MultiSite Plus
Last doc build: 16:11 - Thursday 20th June 2013