Moving to another server
A move between two of our machines is easier than a move between providers: the copy happens at local speed and you can keep both running.
Order the new one first
Resist the temptation to migrate under time pressure. Take the new machine, build it properly, and run both for a period. One extra month of a server is the cheapest insurance in this business.
Describe what you are moving when you ask for the quote, and we will specify accordingly — see writing a good quote request.
Copy at local speed
Both machines are in the same place on our network, so the transfer runs at port speed rather than over the internet, and nothing is metered.
rsync -aHAX --numeric-ids --info=progress2 /srv/ root@newserver:/srv/
Run it once days ahead for the bulk, then again at the switch for the delta. The
flags matter: -H keeps hard links, -AX keeps ACLs and
extended attributes, --numeric-ids stops user ids being remapped when
the accounts differ.
For the private path between them, see connecting your own servers.
Databases properly
Not a file copy of a running data directory. Either a consistent dump:
mysqldump --single-transaction --routines --triggers --all-databases | ssh
newserver 'mysql'
or, for a large database with a short window, set up replication from old to new, let it catch up over days, and then promote. See database basics.
The IP address
Often the simplest cutover: we move your address from the old machine to the new one and nothing in DNS has to change. That has to be coordinated with us — open a ticket with both machine identifiers and when you want it.
If you would rather switch with DNS, lower the TTL a day ahead. See planning a migration window.
What gets forgotten
- Cron jobs and timers — they live outside your application directory
- Certificates and their renewal timers — TLS certificates
- Firewall rules — do not leave the new machine open for now, see firewalling
- Reverse DNS for the new address if the machine sends mail — reverse DNS
- Monitoring, backups and their first verified run
- Anything in
/etcyou changed and never wrote down — which is the argument for configuration management
Before the old one goes
Keep it for at least a week after the switch, powered on and untouched. When you are certain, cancel it — see cancelling a service for the timing, and leaving for what happens to the disks afterwards.
Take a final backup first, somewhere else. Once the machine is reprovisioned the data is gone and we cannot get it back.
Still stuck? Mail support@novogara.com — an engineer answers, at any hour. Back to the knowledge base