Chapter 9

Capstone: VM Layout for Workshop Co.

Prod, staging, DB split — Proxmox plan.

Capstone objectives

  • Design a complete Proxmox deployment for Workshop Co.
  • Document VM specs, networking, storage, and backup schedule
  • Plan migration from three physical servers with minimal downtime

The brief

Workshop Co. — virtualization project

Domain
workshopco.ca
Location
Edmonton workshop + Swift Host off-site backup
Hardware
One Proxmox host: 8 cores, 64 GB RAM, 1 TB NVMe + 4 TB HDD ZFS mirror
Workloads
Web/booking (PHP), PostgreSQL, Nextcloud, staging clone, Traefik reverse proxy
Constraint
Saturday 7 AM–12 PM booking peak must not fail during cutover

Part 1 — VM and container inventory

Create a table: ID, name, type (VM/LXC), vCPU, RAM, disk, network bridges, and purpose.

Model solution
IDNameTypevCPURAMDiskNetworkPurpose
110workshop-webVM24 GB32 GB NVMevmbr0 + vmbr1Production website
111workshop-web-stgVM12 GB32 GB NVMevmbr0 + vmbr1Staging
120workshop-dbVM412 GB100 GB NVMevmbr1 onlyPostgreSQL
130workshop-filesVM24 GB500 GB HDDvmbr0Nextcloud
200traefikLXC1512 MB8 GB NVMevmbr0TLS reverse proxy

Part 2 — backup and snapshot policy

Write policy covering: nightly backup scope, retention, off-site target, snapshot rules before changes, monthly restore test.

Sample policy
  • Nightly vzdump: VMs 110, 120, 130 + CT 200 at 02:00 MT → NFS backup.swifthost.ca
  • Retention: 14 daily, 8 weekly, 6 monthly
  • Snapshots: manual before OS/DB upgrades; max age 48h
  • First Sunday each month: restore db backup to VM 220, verify booking query

Part 3 — migration cutover plan

Five-step plan to move from three physical servers to Proxmox without losing Saturday bookings. Include DNS TTL, database sync, and rollback.

Sample plan
  1. Week prior: build VMs, restore data, lower workshopco.ca A record TTL to 300
  2. Friday 22:00: put site in maintenance; final DB dump from old db-01
  3. Friday 23:00: import DB to VM 120; smoke test via /etc/hosts override
  4. Saturday 05:00: update DNS A to Proxmox public IP; monitor bookings
  5. Rollback: revert DNS to old IP if critical failure; keep old servers powered but disconnected for 72h
What's next?

Book 6 covers SSH — how Marcus administers these VMs remotely and securely from home without exposing every server to the internet.

Book 5 complete

You understand why to virtualize, how Proxmox and ESXi compare, and how to design networking, storage, backups, and VM vs container choices for a real Canadian small business.