VPS Migration Checklist: Data, DNS, Cutover, and Rollback

Batuhan Esirger
Batuhan Esirger
Co-Founder
Updated Oct 29, 202617 min read
Written for: Developers and small operations teams moving a production VPS between hosting providers.
VPS MigrationServer MigrationDNS CutoverRollbackCloud VMInfrastructure Planning
Last reviewed:
Guide
VPS Migration Checklist: Data, DNS, Cutover, and Rollback
rafftechnologies.com/learn
On this page

Key Takeaways

Keep the migration scoped as a provider-to-provider rehost so rollback remains understandable. Inventory IP allowlists, DNS, jobs, certificates, database writers, and external integrations before cutover. Use staged synchronization and name one authoritative writer at every phase. DNS TTL reduces expected cache duration but does not create an instant switch. Retire the source only after target backups, monitoring, integrations, and recovery have been verified.

Don’t have a server yet?

A VPS migration checklist is a planning framework for moving a workload from one virtual-server provider to another without losing data, access, or a safe rollback path. It focuses on a provider-to-provider rehost: the application stays broadly the same while the compute, IP address, storage, network controls, and provider account change.

The safest move separates preparation from cutover. Build the target first, copy stable data in advance, identify everything tied to the old server, define one authoritative system for writes, and keep the source recoverable until the target has passed business and operational validation.

Raff has supported more than 15,000 VM deployments. From that product work, the recurring migration gap is rarely the initial file copy. It is an overlooked dependency—an allowlisted IP, scheduled job, certificate path, database writer, webhook, or DNS record—combined with no named rollback decision owner. This guide narrows that risk for teams switching VPS providers. The broader Cloud Migration Checklist remains the canonical guide for rehosting, replatforming, refactoring, and larger cloud-program decisions.

VPS migration planning starts with a rehost boundary

A provider-to-provider VPS migration should begin with a clear boundary: what will remain functionally unchanged, and what must be rebuilt because it belongs to the old platform?

The rehost boundary usually includes:

  • the same application or service;
  • the same database engine and major version where practical;
  • the same public hostnames;
  • equivalent operating-system packages and runtime versions;
  • equivalent storage capacity with migration headroom;
  • equivalent inbound and outbound network access;
  • a new server identity, public IP address, and provider control plane.

Provider-specific resources should be treated separately. These may include firewall rules, private-network identifiers, snapshots, attached volumes, backup schedules, reverse DNS, monitoring agents, API credentials, rescue consoles, and image formats.

A clean scope prevents migration from turning into an unplanned modernization project. Changing provider, operating-system version, database engine, deployment method, network design, and application architecture in one window creates too many variables for a reliable rollback.

Choose a rehost-first approach when the workload is stable and the business reason is price, support, location, performance consistency, platform simplicity, or provider risk. Choose the broader cloud-migration process when the move also changes major application or data architecture.

The migration decision framework balances downtime, data change, and rollback

Three factors determine the safest migration pattern:

  1. How quickly data changes.
  2. How much downtime users can tolerate.
  3. Whether writes can be reversed after cutover.
Workload patternSuitable migration patternMain trade-off
Static site or infrequently changed filesOne validated copy followed by DNS cutoverSimple, but final edits must be controlled
Application with uploads but limited writesInitial copy, maintenance window, final delta syncShort downtime with manageable coordination
Database-backed applicationPre-stage files, use database-aware backup or replication, freeze or redirect writes at cutoverData consistency becomes the central risk
Busy transactional serviceContinuous synchronization or replication with explicit authority and rollback controlsLower downtime, higher operational complexity
Internal tool with flexible maintenanceOffline backup, restore, validation, and scheduled cutoverLonger downtime, simpler recovery logic

Choose an offline migration when downtime is cheaper than synchronization complexity. Choose staged synchronization when the dataset is large but the final change set is small. Choose replication only when the team can monitor lag, verify consistency, control write authority, and explain what happens during rollback.

A useful decision record should state:

  • approved maintenance window;
  • maximum acceptable data-loss window;
  • maximum time allowed before rollback;
  • whether the source remains writable before cutover;
  • whether the target may accept writes during validation;
  • how target-side writes would be reconciled if rollback occurs;
  • who decides to continue, fix forward, or roll back.

Lower downtime is not automatically safer. A controlled 20-minute maintenance window may carry less risk than a complex near-zero-downtime design that nobody has rehearsed.

The source inventory protects hidden dependencies

A VPS is more than its application directory. The inventory should capture every dependency that could still point to the source after traffic moves.

Inventory areaRecord before migration
ComputeOS version, architecture, vCPU, RAM, swap, kernel requirements
StorageMounted filesystems, capacity, growth, permissions, ownership, ACLs, extended attributes
ApplicationRuntime, packages, services, environment variables, startup order, process manager
DatabaseEngine and version, users, extensions, size, backup method, connection strings
NetworkPublic IP, IPv6, ports, firewall rules, private IPs, outbound destinations, allowlists
DNSA, AAAA, CNAME, MX, TXT, SRV, reverse DNS, TTLs, delegated zones
SecuritySSH keys, users, sudo access, certificates, secrets, API credentials
AutomationCron, systemd timers, queues, workers, CI/CD, webhooks, scheduled reports
OperationsLogs, monitoring, alerts, backups, snapshots, dashboards, escalation contacts
External systemsPayment, email, identity, storage, analytics, partner APIs, license activation

IP-based allowlists deserve special attention. A successful DNS change does not update a database firewall, SaaS integration, partner endpoint, SMTP relay, monitoring probe, or administrative access list that still trusts the old IP.

The source inventory should also identify data that must not be copied blindly. Temporary files, caches, stale logs, machine-specific credentials, runtime sockets, and provider agents may belong to the old environment. Copying the entire filesystem without classification can reproduce old errors or expose secrets unnecessarily.

From Raff's product perspective, the most effective inventory is not the longest spreadsheet. It is the one that names an owner and a validation method for every item capable of breaking customer traffic or recovery.

Target readiness and staged synchronization reduce cutover risk

The target VPS should be production-ready before the final migration window.

Readiness includes:

  • compatible operating system and architecture;
  • adequate CPU, RAM, storage, and network capacity;
  • administrative access tested independently of DNS;
  • firewall and private-network rules applied;
  • runtime, web server, process manager, and database dependencies installed;
  • certificates and secrets available through a controlled process;
  • monitoring and backup configuration active;
  • application health checks defined;
  • a temporary hostname or local hosts-file method for pre-cutover testing.

A staged file migration normally uses an initial bulk copy followed by one or more delta synchronizations. Rsync can preserve common file metadata in archive mode, while ACLs, extended attributes, hard links, sparse files, and filesystem boundaries require explicit consideration. Its documentation also distinguishes quick size-and-time checks from checksum-based comparison, which consumes additional disk I/O. The migration plan should therefore record the exact transfer settings rather than assuming “rsync completed” proves complete equivalence.

Database state should use database-aware methods. Copying live database files as ordinary files can produce an unusable or inconsistent target. PostgreSQL and MySQL both document backup, restore, and replication methods that should be selected according to engine version, dataset size, and downtime requirements.

A practical synchronization model is:

Text
Build and test target ↓ Initial file and data copy ↓ Measure copy duration and change rate ↓ Run one or more delta synchronizations ↓ Enter maintenance or write-control window ↓ Final synchronization and validation

The pre-cutover rehearsal should measure real elapsed time. Estimates based only on dataset size can be wrong because small files, encryption, compression, source disk speed, network route, database restore behavior, and permission checks affect completion time.

DNS cutover works only with traffic and cache planning

DNS changes traffic direction, but DNS alone does not make a migration instantaneous or reversible.

RFC 1035 defines TTL as the period a resource record may remain cached before the source is consulted again. Lowering TTL in advance can reduce the expected cache window, but existing cached records retain the TTL value they received earlier. Some clients, applications, proxies, and local resolvers may also behave differently from a clean command-line lookup.

Before cutover, confirm:

  • the authoritative DNS provider and account owner;
  • every hostname that resolves to the source;
  • current TTL values and when they will be lowered;
  • target A and AAAA records;
  • certificate coverage for all hostnames;
  • proxy, CDN, or load-balancer behavior;
  • reverse DNS requirements for email or reputation-sensitive services;
  • whether clients cache IP addresses or DNS answers internally.

The safest validation path tests the target before public DNS changes. Options include a temporary hostname, direct IP access where the application supports it, a local hosts-file override, or a controlled proxy route. The target should be tested with the real hostname and TLS behavior whenever possible because redirects, cookies, allowed-host settings, CORS, and certificate chains can fail even when the service responds by IP.

During propagation, both source and target may receive traffic. That is safe for a read-only site but dangerous for an application where both systems can accept independent writes. The migration design must decide whether the source remains read-only, redirects to the target, stays synchronized, or is removed from service before DNS changes.

DNS rollback has the same cache limitations as forward cutover. Repointing a record does not guarantee every user returns immediately. Rollback planning must account for a period of mixed routing.

For the record types, cache behavior, and DNS verification involved in this switch, see DNS for Cloud Applications.

Validation and rollback preserve one authoritative system

Migration validation should prove the target is usable, correct, observable, and recoverable.

Business validation

Check the workflows users depend on:

  • authentication and authorization;
  • create, read, update, and delete operations;
  • file upload and download;
  • email, webhook, and notification delivery;
  • payment or order processing;
  • search, reports, and exports;
  • background jobs and scheduled tasks.

Data validation

Check:

  • database row or document counts for critical datasets;
  • newest expected records;
  • file counts, sizes, ownership, and selected checksums;
  • permissions and application write paths;
  • database users, extensions, indexes, and scheduled events;
  • absence of new writes on the wrong system.

Operational validation

Check:

  • CPU, memory, storage, and network behavior;
  • application and database logs;
  • monitoring and alerts;
  • backup completion;
  • certificate validity;
  • firewall exposure;
  • external allowlists and integrations;
  • expected recurring jobs after one normal cycle.

Rollback criteria should be measurable. Examples include failed writes, missing critical data, broken authentication, unavailable integrations, unacceptable error rate, severe latency regression, or exceeding the approved migration window.

The runbook should identify one authoritative writer at every phase:

PhaseAuthoritative system
Preparation and initial syncSource VPS
Maintenance and final syncSource is frozen or writes are explicitly controlled
Target validation before approvalTarget may be read-only or accept tightly controlled test writes
Production approvalTarget VPS
Rollback windowDefined by the written data-reconciliation strategy

The source should not be deleted immediately after cutover. Keep it isolated and controlled for a defined warranty period. Make it read-only or otherwise prevent accidental divergence. Retire it only after normal business cycles, backups, monitoring, integrations, and restore paths have been verified on the target.

Raff supports a controlled provider-to-provider migration path

Raff can serve as the target for Linux or Windows workloads moving from another VPS provider. The migration design should still follow the workload rather than assuming a one-to-one copy of the old plan.

Current Raff VM plans use NVMe storage and unmetered VM bandwidth. Cost-Optimized servers have a 1 Gbps public port; General Purpose, CPU-Optimized and Windows servers have 3 Gbps public ports. Those characteristics can support initial and delta transfers, but transfer duration still depends on the source provider, route, encryption, file shape, source-disk performance, and the remote endpoint. Test restoration before cutover, and measure the real path before setting the cutover window.

A typical Raff target may combine:

Text
Source VPS ↓ initial and delta synchronization Raff VM ├─ Private Cloud Network for internal service traffic ├─ Data Protection for infrastructure recovery layers └─ Object Storage for archives or migration staging where appropriate

Use database-native backup or replication for active databases rather than treating a VM snapshot as the only consistency mechanism. Use snapshots or automated backups as additional recovery layers according to the workload. Document firewall rules, private-network paths, public IP changes, DNS records, and external allowlists before production traffic moves.

Use the Restore Testing Checklist for Production VMs to verify that the destination can recover before the source VPS is retired. If migrating between Cost-Optimized and another Raff VM family, do not assume an in-place resize: Cost-Optimized resizing is within that family, and a cross-family migration requires verification of the supported path.

Raff is a focused us-east platform. That can be a strong fit for U.S.-focused workloads and teams that value a direct VM operating model. Teams requiring several global regions or provider-managed guest operating systems should include those needs in the provider decision before migration.

The How to Choose a VPS Provider framework helps compare support, performance evidence, backups, pricing, location, and portability before selecting the target. Migration should begin only after the provider and workload requirements are aligned.

The final VPS migration checklist keeps ownership visible

Before the migration window

  • Scope is limited to a provider-to-provider rehost.
  • Application, data, DNS, access, automation, and external dependencies are inventoried.
  • Target capacity includes transfer and recovery headroom.
  • Target access, firewall, runtime, monitoring, and backups are configured.
  • Initial data copy has completed and transfer duration is recorded.
  • Database migration method has been tested.
  • DNS ownership, records, TTLs, and certificate behavior are confirmed.
  • External IP allowlists are ready for the target.
  • Acceptance tests and rollback triggers are written.
  • Cutover and rollback decision owners are named.

During cutover

  • Source changes are frozen or controlled.
  • Final file and database synchronization completes.
  • Target services start in the documented order.
  • Data and critical workflows pass validation.
  • DNS or traffic routing changes are applied.
  • Source and target logs are watched for mixed traffic or writes.
  • The team explicitly approves production on the target.

After cutover

  • Monitoring, alerts, backups, and scheduled jobs run successfully.
  • External integrations and allowlists use the target.
  • The source is isolated or read-only during the warranty period.
  • Documentation, diagrams, credentials, and recovery procedures are updated.
  • A restore from the new protection path is tested.
  • Old resources are retired only after business approval.

Conclusion

A VPS migration succeeds when the target becomes the only trusted production system without losing the ability to recover.

Keep the move narrow, inventory everything tied to the old server, pre-stage the target, synchronize data in phases, and treat DNS as a caching and traffic-control decision rather than an instant switch. Define rollback before cutover and preserve one authoritative writer throughout the migration.

For broader architecture changes, use the Cloud Migration Checklist. For target-provider evaluation, use How to Choose a VPS Provider. The right next action is a rehearsed migration window with named owners, measurable acceptance tests, and a controlled source-retirement date.

Review the target VM, network, and protection options before scheduling a provider-to-provider cutover.

Was this article helpful?
Batuhan Esirger
Batuhan Esirger
Co-Founder

Co-founder of Raff, focused on practical cloud infrastructure, product strategy, and helping small teams choose simpler hosting architectures.

Put it into practice

Spin up a Raff server, follow the steps above on real infrastructure, and you are live. Linux or Windows, backed by a 14-day money-back guarantee.

Frequently asked questions

What is a VPS migration checklist?
A VPS migration checklist is a planning framework for moving a workload between virtual-server providers while controlling data synchronization, DNS cutover, validation, rollback, and source retirement.
When should a team use a provider-to-provider VPS migration plan?
Use it when the application remains broadly unchanged and the main change is the VPS provider, server identity, IP address, storage, networking, backups, and control plane.
How can a VPS migration reduce downtime?
Build the target early, complete an initial data copy, run delta synchronizations, control writes during the final sync, and validate the target before changing public traffic.
Does lowering DNS TTL make cutover instant?
No. Lower TTL can reduce future cache duration, but records already cached keep the TTL they previously received, and some clients may retain addresses independently.
What should trigger a VPS migration rollback?
Rollback triggers can include failed writes, missing critical data, broken authentication, unavailable integrations, unacceptable error rates, severe latency regression, or exceeding the approved window.
How long should the old VPS remain available?
Keep the source isolated or read-only for a defined warranty period until business workflows, scheduled jobs, backups, monitoring, integrations, and recovery are verified on the target.
How does Raff support VPS migration?
Raff VM provides Linux and Windows targets with NVMe storage and a 3 Gbps unmetered bandwidth model (1 Gbps on Cost-Optimized), plus networking and data-protection options for a controlled migration architecture.