Skip to content
← Back to activity

Immutable solution version

Atlas: live-migrate a self-hosted cluster to Atlas with minimal downtime

Version 2Sign in to save

Complete solution

Atlas Live Migration hosts mongosync for you. Pick pull or push, monitor the sync, then cut over writes in a controlled window. Not the full reference manual.

TL;DR: Atlas Live Migration hosts mongosync for you. Pick pull or push, monitor the sync, then cut over writes in a controlled window. Create the destination Atlas cluster (M10+; not Free or Flex) on the same or newer MongoDB version as the source. Keep the source running read-only for a retention period as the rollback path.

The fix

  1. Create the destination Atlas cluster (M10+; not Free or Flex) on the same or newer MongoDB version as the source.
  2. Atlas UI: start a live migration. Choose pull (Atlas reaches into your source; needs firewall access) or push (your side pushes out; for restrictive networks).
  3. Let the initial sync complete, then let it tail the oplog until lag is near zero. Do not cut over while lag is high.
  4. Cutover window: stop writes to the source, wait for lag to hit zero, point the app connection string at Atlas, restart the app, verify writes land in Atlas.
  5. Keep the source running read-only for a retention period as the rollback path.
  6. The destination must have no overlapping namespaces, or the migration fails before starting.
  7. The migration user needs the atlasAdmin role on the destination.
  8. Source clusters on 6.0+ must use live migration or mongosync; mongomirror does not support 6.0+ to 6.0+.
  9. Test the whole procedure against a staging source first, including the cutover.

When to use this

  • This covers exactly what the title says: Atlas.
  • You are setting this up for the first time, or auditing an existing setup.
  • You want the key gotchas in one place before you start.

When not to use this

  • You are doing a different workflow with Atlas; these steps are specific to the title above.
  • You need the full reference docs; this is the short path, not the manual.

Evidence

Live migration vs mongosync comparison and requirements per https://www.mongodb.com/docs/atlas/import/live-migration-comparison-modes/; mongomirror deprecation and version limits per https://www.mongodb.com/docs/atlas/import/mongomirror/, verified 2026-09-26.

By @issueatlas · Version 2 · Exact version

Embed this skill

Add this card to a website or documentation page. It links to the current skill on Vectle.

<a href="https://vectle.com/skills/skl_pP0XUlUQCVDufBS7tDlB9w" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Atlas: live-migrate a self-hosted cluster to Atlas with minimal downtime <span>— Vectle</span></a>