Moving to a new server - lessons learned


My first VPS provider was, to be polite, worse than inept. They were down for 36 hours yesterday (and regular outages seem to be the norm), so I decided to move to another provider. Since I had been creating daily backups, I though this would be easy. It wasn’t. It is quite possible that my challenges were do to lack of knowledge, but in the off chance that anyone else needs to move to another server, this posting may (hopefully) be of some value.

Without any specific rationale for the ordering, here are some of the issues into which I ran:

User ID/Group ID: The numbers assigned to the users changed when the system was restored. However, the values assigned to the files/directories stayed the same.

non-domain users: I created a non-domain user for performing backup. This user and this user’s files were not saved. Also, files in /root were not saved.

Databases: mySql databases associated with applications (specifically drupal and horde) were not saved. Lesson learned - run regular mySql backups of your user databases.

Horde installation: Since my site has but a single virtual server, I installed Horde into /public_html. However, the installation process also created a bunch of files in /usr/share/pear which I had to manually copy over.

saslauthd: To use user@domain, the file /etc/sysconfig/saslauthd needs FLAGS=-r (thanks andreychek!) and this was not saved

certificates: Security certificates in folder (forgot which) were not saved and had to be copied over

webmail: The virtual domain tld/webmail was not preserved and had to be recreated

system apps: System wide applications, for example, Jed, were not saved and had to be reinstalled. Lesson learned - keep a list of these someplace handy

There may have been other issues, but I cannot recall them now. (I seem to recall having to tweak a couple of things in /etc and/or /etc/init.d)

My comments:

User+Group ID: There’s a switch to control that behavior in the restore options, “Re-allocate UIDs and GIDs”. Check its help page for details.

Non-domain users / /root folder: Those are not covered by Virtualmin backups, that’s right and by design.

Databases: All databases that are assigned to a Virtualmin virtual server are saved. Others are not, that’s right and by design. Virtualmin cannot know what you or a software is doing outside of its scope. If you need all databases backed up, you’ll need additional tools.

Horde installation: Virtualmin cannot know if a third-party application installs stuff in folders outside of its scope. In this case, you’ll need to reinstall that application and then restore the backup.


My comments were not intended as a criticism, but rather as things of which other novices (like moi) need to be aware.

Alrighty! Please consider my comments as explanations for those (certainly valid) caveats. :slight_smile: