[email protected]Support 24/7 · Billing 09:00 – 00:00LinkedInXFacebook
NexonHost
Netherlands Dedicated ServersAmsterdam · Equinix AM6Germany Dedicated ServersFrankfurt · Equinix FR4Romania Dedicated ServersBucharest · VoxilityAustria Dedicated ServersVienna · Interxion VIEBulgaria Dedicated ServersSofia · TelepointFrance Dedicated ServersParis · Interxion PAR — Marseille · Digital Realty MRS3Ireland Dedicated ServersDublin · Equinix DB2Italy Dedicated ServersMilan · Irideos AvalonPoland Dedicated ServersWarsawSpain Dedicated ServersMadrid · Equinix MD2United States Dedicated ServersAshburn · Equinix DC
All articles
BlogsSeptember 23, 2026

Migrate a Server Without Downtime: The Runbook, and the New EU Rules

Migrate a Server Without Downtime: The Runbook, and the New EU Rules

"Zero downtime" is a claim about your database, not about your files. Copying a web root to a new machine is trivial and always has been. The hard part is that the old database keeps accepting writes while you are copying it, and every one of those writes is an order, a comment or a signup that has to exist on the other side.

Everything else — DNS, TLS, cron, mail — is a checklist. This is the checklist, in the order the clock imposes, plus the part most guides omit: since September 2025 there is EU law about what your current provider has to do for you while you leave.

You cannot migrate server without downtime in the sense of zero seconds. You can get it down to the length of one database switchover, which for most sites is under a minute, and you can make that minute uneventful.

Two weeks out: lower the TTL

DNS records carry a time-to-live. A resolver that fetched your A record is entitled to keep serving it for the full TTL, and many will. If your TTL is 86,400 seconds, part of the internet will keep sending traffic to the old IP for a day after you change it.

So the first action is not a migration action at all: drop the TTL to 300 seconds, and do it at least one old-TTL period before the cutover. If the TTL is currently 24 hours, lowering it today means resolvers pick up the short TTL sometime in the next 24 hours, and only then are you free to move quickly. Lowering the TTL on the morning of the migration achieves nothing.

Raise it back afterwards, a day or two after the move, once traffic has settled.

If DNS is unfamiliar territory, what a DNS server is and setting DNS nameservers cover the mechanics.

What the EU Data Act now requires of your old provider

This is the part that changed, and most migration guides predate it.

Regulation (EU) 2023/2854 — the Data Act — applies from 12 September 2025. Chapter VI, "Switching between data processing services", covers Articles 23 to 31 and binds providers of data processing services offering customers in the EU.

The provisions worth knowing before you open a ticket with your current host:

Provision What it says
Art. 25(2)(d) A maximum notice period for starting the switch that "shall not exceed two months"
Art. 25(2)(a) A "mandatory maximum transitional period of 30 calendar days" during which the contract still applies and the provider must give reasonable assistance, maintain business continuity and keep data secure in transit
Art. 25(2)(g) A data retrieval period of "at least 30 calendar days" after the transitional period ends
Art. 29(2) Between 11 January 2024 and 12 January 2027, only reduced switching charges, capped at the provider's directly incurred costs
Art. 29(1) From 12 January 2027, no switching charges at all

Two practical consequences. Your old provider owes you assistance during the transition, not silence. And if you are being quoted a large egress or exit fee today, Article 29 caps it at their actual cost — and removes it entirely from 12 January 2027.

Move the files, then move them again

Copy while the old server is live. It does not have to be consistent yet.

Use rsync over SSH, which resumes and only sends differences — transferring files with rsync over SSH covers the invocation, and excluding files and directories matters more than it sounds: caches, logs and session directories are large, worthless and will slow the pass that has to be fast.

Run it at least twice. The first pass moves everything and takes as long as it takes. The second pass, immediately before cutover, moves only what changed since — typically seconds.

How long the first pass takes is a port question, not a disk question. Two terabytes is 16,000 gigabits, so on a 1 Gbps link it needs 16,000 seconds at theoretical line rate: about four and a half hours, in practice longer. The arithmetic is worked through in how much bandwidth a server needs.

The database is the only genuinely hard part

Two approaches, and the choice is about how long you can stop writes.

Read-only window. Put the application into maintenance mode, dump, transfer, import, switch. Simple, easy to reason about, and the downtime equals the dump-plus-import time — minutes for a small database, hours for a large one. Fine for a 2 GB store at 04:00. Not fine for 200 GB.

Replication. Set the new server up as a replica of the old one and let it catch up over hours or days while both run. At cutover you stop writes for a few seconds, confirm the replica has caught up, promote it, and point the application at it. This is what "zero downtime" actually means in practice: seconds, not zero.

Replication is more setup and much less risk on a large database. Rehearse the promotion on a copy before you do it for real.

The cutover

Step Typical duration
Announce a maintenance window (even if you do not use it)
Final rsync pass seconds to minutes
Stop writes: maintenance mode, or read-only
Confirm replica caught up, or run final dump and import seconds to minutes
Promote the new database, point the application at it seconds
Smoke test on the new server by IP or hosts file 2–5 minutes
Change the DNS A record propagation bounded by the 300s TTL
Re-enable writes
Watch logs on both machines for 24 hours

Test before DNS, not after. Overriding your own hosts file to hit the new IP lets you exercise checkout, login and mail on the new machine while the world is still on the old one. If something is wrong, nobody found out.

What actually goes wrong

  • Cron running in both places. The single most common way a migration sends duplicate invoices. Disable cron on the new server until cutover, and disable it on the old one immediately after.
  • Hardcoded IPs. In application config, firewall rules, database grants, payment gateway allowlists and API whitelists at third parties. Grep the codebase; then grep the vendor dashboards.
  • Mail. SPF records list sending IPs. A new IP that is not in SPF means order confirmations go to spam on day one. Update SPF before the move, listing both.
  • TLS. Issue and install the certificate on the new server in advance. If you use Let's Encrypt with HTTP-01 validation, the renewal will fail until DNS points at the new machine — know that, and do not let it surprise you at renewal time.
  • Sessions. Logged-in users on file-backed sessions get logged out. Harmless for a blog, a real problem mid-checkout. Move sessions to the database or a shared store first, or migrate at your quietest hour.
  • The old server, deleted too early. Keep it running, and keep a backup of it, for at least a week. Article 25(2)(g) gives you a 30-day retrieval window; use it rather than racing to cancel.

Before and after

Take a full backup before you touch anything, and confirm you can restore it somewhere else. A backup you have never restored is a hypothesis. Off-site copies and how to size them are covered in offsite backup storage for servers, and NexonHost backup storage starts at €5 per TB a month as of September 2026.

If you would rather not run the cutover yourself, that is what infrastructure management is for — and the trade-offs of handing it over are set out in managed vs unmanaged server hosting. The destination hardware, if you are still choosing it, is on the dedicated servers page: Intel Xeon builds provision automatically in minutes, AMD EPYC builds carry a two-week estimated delivery, so order before you plan the window rather than after.

Sources

Keep reading
How to Protect Your Website from Slowloris Attacks Using a Layer 7 Proxy from Nexonhost
June 29, 2026

How to Protect Your Website from Slowloris Attacks Using a Layer 7 Proxy from Nexonhost

Remote Layer 7 DDoS protection helps shield Apache, Nginx, WordPress, and Linux servers from HTTP floods, Slowloris attacks, bots, and malicious requests before they reach the origin server. NexonHost’s proxy-based protection filters traffic at European scrubbing centers, keeps real users…

Read article
LiquidWeb Alternatives: Best Bare-Metal Hosting Options
June 25, 2026

LiquidWeb Alternatives: Best Bare-Metal Hosting Options

A strong LiquidWeb alternative should provide more than dedicated hardware. Businesses need the right balance of bare metal performance, European server locations, bandwidth flexibility, DDoS protection, and a scalable path from VPS to dedicated infrastructure. The best choice depends on workload…

Read article
Cloudddos Alternatives: Europe DDoS Servers
June 23, 2026

Cloudddos Alternatives: Europe DDoS Servers

Cloudddos alternatives for Europe should be judged by more than basic DDoS filtering. The right provider should offer European routing, scalable VPS and dedicated server options, clear bandwidth policies, and protection that matches the workload’s real downtime risk. For SaaS, gaming, eCommerce,…

Read article
Get in Touch

Together, Let’s Build a Faster, Safer Internet.

Build scalable infrastructure with NexonHost — high-performance dedicated servers, VPS hosting, cloud hosting, and DDoS protection across Europe.

Get Started →Contact Us
[email protected]Support 24/7 · Billing 09:00 – 00:00