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

108 lines
3.1 KiB
Markdown

# 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