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

3.2 KiB
Raw Blame History

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 (Mar 29 — in progress)

  • New server provisioned and up — Proxmox 9 installed
  • PBS datastore disk resized to 1.1TB
  • PBS datastore recreated fresh
  • Fresh backup of all VMs/containers completed Mar 29 ~08:34
  • Network bridges configured (vmbr0vmbr6) on new host
  • OPNsense core router 9001 up
  • OPNsense zpack router 9002 up
  • zlh-dns 9010 up — Technitium config restored
  • zlh-proxy 9011 up — Caddy configured

Pre-Migration

  • Export OPNsense config (both routers)
  • Delete old PBS datastore and recreate fresh
  • Run fresh backup — all VMs/containers
  • Verify all backups show green

Phase 1 — New Server Setup

  • Configure network bridges (vmbr0vmbr6)
  • Set up VLANs
  • Add PBS as backup target on new server
  • Verify new server can see PBS backup repository

Phase 2 — Restore VMs

  • OPNsense core router 9001 — fresh 26.1 + config import + os-isc-dhcp
  • OPNsense zpack router 9002 — fresh 26.1 + config import + os-isc-dhcp
  • zlh-dns 9010 (Technitium)
  • zlh-proxy 9011 (Caddy core)
  • zlh-zpack-proxy 9012 (Traefik game/dev edge)
  • zlh-monitor 9016 (Prometheus/Grafana)
  • zlh-artifacts 9014
  • zpac-api 9020
  • zpac-portal 9021
  • zlh-velocity 9015 (Minecraft proxy)
  • zlh-back 9017 (PBS)
  • zlh-connect 9013 (Twingate)
  • aimeesites 9030
  • 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
  • OPNsense 26.1: install os-isc-dhcp plugin BEFORE importing config (ISC DHCP no longer built-in)
  • Firewall rule migration assistant available in 26.1 — not urgent, do after everything is stable
  • Caddy used for 9011 (core proxy) instead of Traefik — simpler for static routes