zlh-grind/SCRATCH/migration-new-host.md

3.1 KiB

Migration Checklist — New GTHost Detroit Server

New hardware: Supermicro 2029TP-HTR, Intel Gold 6152 22c/44t, 192GB DDR4, 2x1.92TB SSD
Target OS: Proxmox 9 installed by GTHost
Old server: Denver, Silver 4116, $103/mo → cancel after migration confirmed


Current Status (stopped Mar 28 evening)

  • New server provisioned and up — Proxmox 9 installed
  • PBS datastore disk resized to 1.1TB
  • 🔧 PBS datastore needs to be wiped and recreated — old backups only go to Nov 2025, no point keeping them
  • Fresh backup of all current VMs/containers needed before migration starts

Next session — start here:

  1. Delete old PBS datastore
  2. Recreate PBS datastore fresh
  3. Run fresh backup of all VMs/containers — priority order below
  4. Verify all backups complete successfully
  5. Then proceed to Phase 1

Pre-Migration

  • Export OPNsense config (both routers) — System → Configuration → Backups → Download
  • Delete old PBS datastore and recreate fresh
  • Run fresh backup — priority order:
    • OPNsense core router
    • OPNsense zpack router
    • zlh-dns
    • zpack-api
    • zpack-portal
    • zlh-artifacts
    • zlh-velocity
    • All remaining VMs/containers
  • Verify all backups show green

Phase 1 — New Server Setup (est. 2-4 hrs)

  • Configure network bridges to match current layout
  • Set up VLANs
  • Add PBS as backup target on new server
  • Verify new server can see PBS backup repository

Phase 2 — Restore VMs (est. 2-4 hrs)

Restore in this order — networking first:

  • OPNsense core router (VM)
  • OPNsense zpack router (VM)
  • zlh-dns (Technitium)
  • zlh-proxy (Traefik core)
  • zlh-zpack-proxy (Traefik game/dev edge)
  • zlh-monitor (Prometheus/Grafana)
  • zlh-artifacts
  • zpack-api
  • zpack-portal
  • zlh-velocity (Minecraft proxy)
  • zlh-back (PBS — if moving)
  • Game/dev containers

Phase 3 — Verification (est. 2-4 hrs)

  • Internal networking between VMs working
  • Portal loads
  • API responds
  • Twingate connector online — update connector to new server if needed
  • Dev container provisions and browser IDE loads
  • Game server provisions and Minecraft connects via Velocity
  • PBS backup runs successfully on new host
  • Monitoring shows all services

Phase 4 — DNS Cutover (est. 30 mins)

  • Update Cloudflare A record for Velocity public IP
  • Update Cloudflare SRV records for Minecraft
  • Update any other DNS records pointing to old server IPs
  • Monitor for issues — 30 min observation window
  • Confirm everything stable

Phase 5 — Cleanup

  • Cancel old Denver server (or let expire)
  • Update PROJECT_CONTEXT.md with new VM map and IPs
  • Update OPEN_THREADS.md — mark migration complete

Notes

  • Everything runs on private IPs internally — no hardcoded public IP dependencies
  • DNS cutover is the only external change
  • Worst case: reinstall Proxmox 8 and repeat
  • IPMI available via GTHost panel for out-of-band access if needed
  • Proxmox 9 ships with kernel 6.14, LXC 6.0 — no API changes required