Migrating nethsever between cloud vps servers

NethServer Version: Current Version
Module: Mail, webtop/sogo, Nextcloud, onlyoffice, Ldap

Hello everyone,

I have a nethserver setup on a public cloud vps, it hosts LDAP, mail, Nextcloud with onlyoffice and some of the security features like rspamd, fail2ban activated.

I am wondering if there is a safe way to move the installation with the data to another cloud provider retaining the settings, as well as the data on nethserver.
Especially for Emails, as for nextcloud we could just re-upload some of the files.

Hotsync is probably the best way, but I think you’d need to manually reconfigure the network at the CLI.

I am looking at the tutorial for hotsync, but I do not see how to connect two servers. Like , where is the setting or option that will know where the ip address of the salve server lives in.

or is there something that I am not following clearly.
http://docs.nethserver.org/en/v7/hotsync.html

There must be, because the documentation page you linked to describes it pretty clearly. On the master machine, config setprop hotsync SlaveHost <SLAVE_IP>.

1 Like

another question before I embark on this journey this night.

Do I need to install all the modules on the slave server or will the move install the softwares and configure them.

A cron job installs all modules during the night. You will find all modules installed the day after the first sync. Installation can be forced with /usr/sbin/hotsync-slave

1 Like

where is this run. from the master or from the slave

I ran this on master

[root@my ~]# hotsync
===== Report for configuration backup =====

Backup started at 2018-09-08 19:14:55
Event pre-backup-config: SUCCESS
Action backup-config-execute: SUCCESS
Event post-backup-config: SUCCESS
Backup status: SUCCESS
Backup ended at 2018-09-08 19:14:56
Time elapsed: 0 hours, 0 minutes, 1 seconds
hotsync error: rsync returned 12. rsync output:
rsync: safe_read failed to read 1 bytes [sender]: Connection reset by peer (104)
rsync error: error in rsync protocol data stream (code 12) at io.c(276) [sender=3.1.2]

is there something wrong

An alternative to hotsync would be the backup/restore process like backup the old server and restore to the new one.
You should have console access to your VPS because hotsync and backup/restore may change the IP address of the new server to the old one.

Can the master reach the slave on rsync port 873?
Please recheck your configuration (master/slave - role/IP/password).

You need to do hotsync on the master and hotsync-slave on the slave. To promote the slave do hotsync-promote on the slave.

Devel docs:

http://docs.nethserver.org/projects/nethserver-devel/en/v7/nethserver-hotsync.html

I installed nethserver on a new vps,

then installed hotsync on both the master and the slave, and did the relevant configurations of the ip as per the documentation.

the challenge was every time I tried to force the sync, it would not happen.

what could I have missed.

and could anyone assist on how to enable the relevant ports on the servers so as to make sure I am able to move the servers well enough.

anyone?

Did you follow this guide, that Markus posted?
I tried it some time ago and had some issues with it. I had to remove all unsupported modules and all customizations on my machine to get it working.
But after that, every thing worked fine.

1 Like

It seems like hotsync is intended for internal use. The service stunnel opens port 273 to green on slave by default.
You may enable access in “Network services” in web UI or on command line but it’s not intended and signal-event nethserver-hotsync-update will reset it. VPN may be another solution.

config setprop stunnel access green,red
signal-event firewall-adjust

At slave promotion hotsync will restore the original IP which may make your VPS unreachable. Maybe simple rsync would be the better solution for VPS migration…

http://docs.nethserver.org/en/v7/migration.html#migration-with-rsync

if moving everything may seem such a challenge. what about moving only the emails, for the accounts they belong to.so as to deploy nethserver on another host, re-mapp the dns records to the new server, and re-create the ldap accounts.
and then import the emails.etc

I think this would be the better method in this case.

Mails are stored in /var/lib/nethserver/vmail/. You may use rsync to migrate files from one VPS to another.

Another method would be to transfer mails with a mail client like thunderbird or a mail sync tool like imapsync or dsync.

yum -y install imapsync
imapsync --host1 providerimapserver --port1 993 --user1 name@provider.at --password1 PASSWORD1 --ssl1 --host2 localhost --port1 993 --user2 name@domain.local --password2 PASWORD2 --ssl2

let me try the imap sync way. as my current vps provider, am just not happy.
all my other servers on the other provider have never had an issue.

if am unable ill happily pay someone to help me move.

Imapsync should do the job.

At least it should always work to copy mails from /var/lib/nethserver/vmail/user1@server1 to /var/lib/nethserver/vmail/user1@server2. You may try it with a test user first.
The vmail folder has to be owned by vmail so you may have to chown -R vmail:vmail /var/lib/nethserver/vmail after the transfer.