CentOS 7 migration

Migrate off CentOS 7 with proof, not hope

CentOS Linux 7 reached end of life on June 30, 2024 — no more patches, no more CVE fixes, a compliance clock already past due. vrtmv reads each box cold, rebuilds it fresh on a supported distribution, and signs a parity report proving the new machine does what the old one did.

Create a free account See a live demo

End of life is a slow leak, not a crash

Nothing exploded on July 1, 2024. The kernel still boots, yum still resolves, the app keeps serving traffic. That is the trap: end of life is not an outage you notice, it is the moment a regulated estate quietly stops being defensible.

Skip the in-place converter for anything that matters. Tools like leapp/ELevate and migrate2rocky flip a running box to Rocky or Alma in place, and for a clean vendor-default machine they mostly work. Real estates are not clean — three third-party repos, a hand-compiled monitoring plugin, an /etc/rc.local nobody remembers, a load-bearing script in /opt. A converter either chokes on that or, worse, succeeds and leaves a machine that boots but has drifted invisibly. Leave the old box untouched and build the new one fresh, so that if the two disagree you can point at exactly where.

Pick a target deliberately

EL7 to EL9 is a two-major-version jump, so none of these is a no-op. The wrong answer is not deciding — that is how you end up still running CentOS 7 in 2027.

The migration, step by step

  1. Read the box cold. Point vrtmv assess at a cold disk image, a mounted root, or a live host over SSH. It never boots the guest and never changes the source — it reads the OS release, the real package set, the services, and the config and accounts it carries — the real inventory of a nine-year-old box, not the one in your CMDB.
  2. Translate across the distro gap. vrtmv resolves what the box runs against the Translation Index — packages, services, config paths, accounts, and MAC policy — reproducing your decisions in the target's idiom, not CentOS defaults or 2016 build artifacts. Every translation row carries provenance with a source URL, and it names any gap it cannot attribute to an operator decision.
  3. Rebuild fresh. It emits an Ansible role or Terraform that stands the workload up on your chosen target — something you review before it runs, not a black box you have to trust. Bulk data moves through an attested, checksummed runbook you run, and it refuses to dump a clustered database rather than pretend that is safe.
  4. Verify parity, then cut over. vrtmv verify diffs the rebuilt machine against the promise and signs the verdict — equivalent, partial, or failed. Cut over only after a signed equivalent; a gap exits non-zero and holds the cutover.

Rollback is the default, not a setting

Because vrtmv never modifies the source, the CentOS 7 box keeps running untouched while the rebuild lands on a separate target. You commit to the new machine only once verify returns a signed equivalent verdict; until then, backing out is just not cutting over, with nothing to undo.

The sign-off is where migrations go sideways

The rebuild is rarely the hard part; the sign-off is — the moment someone asks whether the new box is really the same, and the honest answer is usually "probably," which is not a word you want to say to an auditor. That is the gap vrtmv closes: vrtmv verify decides parity only from what is observable on the rebuilt machine, a missing package is reported missing rather than explained away, and the verdict's canonical facts are SHA-256 hashed and Ed25519-signed. An auditor can recompute the hash and check the signature — the difference between "we migrated it" and evidence. The documentation walks through the loop.

Proven CentOS 7 conversions

A selection of CentOS Linux 7 conversions with a signed attestation record behind them:

Coverage is release-specific, and the full record — including every pair we have not proven and why — is on the supported conversions page. Where a source runs -devel or other add-on-repository packages, we confirm exact scope with you first.

What it costs

vrtmv is priced flat and published, with no minimum. Your first 10 migrations are free, so you can prove the value on real boxes at no cost. Past ten, the per-instance rate is $799 a year on demand (On-Demand), $599 bought ten at a time (Pro), and $399 bought a hundred at a time (Fleet). Each instance covers the migration, its signed parity record, and ongoing drift monitoring. The full breakdown is on the pricing page.

See what your CentOS 7 boxes actually contain

Read a cold image or a live host, plan the rebuild, and get a signed parity report you can hand an auditor. Nothing booted, no changes to the source, no card for the first ten.