Skip to content

Migrating SolusVM Master node to another server


In this guide, we are assuming that the source server is still available.


Very important warning! In case you are migrating from the old SolusVM version (1.23.x and lower), delete the file  /usr/local/solusvm/data/use_openssl on the new server before the migration, otherwise all old passwords might not work.

1. Deploy the new server and install Master SolusVM on it

2. Create a backup of the database of source Master SolusVM - How to create a backup of SolusVM database?

3. Parts of SolusVM Master database are encoded using a unique encryption key stored in /usr/local/solusvm/includes/solusvm.conf (see Migrating SolusVM Master node to another server for the details). What you need to do now is to replace the encryption key (the last entry in solusvm.conf) on the new server with the encryption key from the old server.

Example:

Old server solusvm.conf file:

cat /usr/local/solusvm/includes/solusvm.conf
Vmf7LEAnrb5S8x6:218H3lW42EkJZ1y:GOJebeWEl0IOaciXhnM27OryQfQikF:localhost:XFrORvKb69F1QDlmJ6hDqg374iQjL2ndgGIEtkYFTixpFIYFQ0

New server solusvm.conf file:

cat /usr/local/solusvm/includes/solusvm.conf
ORq0dnadRkMyu5S:O4enHwSNLOQImDx:p1BSl44Mi0CBCaGEUZk1txkAdDHNRJ:localhost:gcTrdvQorLnvJhyZYrC0cIOUBJ3H4gJVl3k0SjQ54xgT4hFC5a

File on the new server after step 3:

cat /usr/local/solusvm/includes/solusvm.conf
ORq0dnadRkMyu5S:O4enHwSNLOQImDx:p1BSl44Mi0CBCaGEUZk1txkAdDHNRJ:localhost:XFrORvKb69F1QDlmJ6hDqg374iQjL2ndgGIEtkYFTixpFIYFQ0

XFrORvKb69F1QDlmJ6hDqg374iQjL2ndgGIEtkYFTixpFIYFQ0 - encryption key from the old server that should be added on the new server

4. Upload the database backup file from step 2 to the new server and restore it as documented here:

MYSQL_PWD=\$(cat /usr/local/solusvm/includes/solusvm.conf \
| awk -F ":" '{print \$3}') mysql \$(cat
usr/local/solusvm/includes/solusvm.conf \
| awk -F ":" '{print \$1}') -u\$(cat
/usr/local/solusvm/includes/solusvm.conf \
| awk -F ":" '{print \$2}') < database_name_dump

database_name_dump - is a name of the database backup from step 2

5. Move templates from the old server to the new one. The locations of templates are:

  • For KVM templates - /home/solusvm/kvm/template/

  • For Xen templates - /home/solusvm/xen/template/

  • For OpenVZ templates - /vz/templates/cache/

6. Copy the SSL certificate from the old master node to the new one, certs are at the locations: /usr/local/svmstack/nginx/ssl/ssl.crt, /usr/local/svmstack/nginx/ssl/ssl.key, and /usr/local/solusvm/includes/nvnc/cert.pem 

In case you are migrating from the old SolusVM version with lighttpd web server running, the SSL certificate location on the old server would be /usr/local/solusvm/ssl/


In case IP address of the new master node will be the same, the steps above are sufficient. In case the IP address is different, perform the steps below:


1. In your client area reissue the license to reset the IP address binding.

2. In Nodes > List nodes > Edit localhost node, replace the IP address with the new IP address of the master node.

3. Remove the /usr/local/solusvm/data/allow.dat and /usr/local/solusvm/data/ftp.dat files on every slave server right after the old master node is stopped.

4. In case the master server is integrated with WHMCS, change the IP address of the master node at WHMCS Product/Services Servers.