The host, and the numbers
The whole lab runs on a single Proxmox host with, roughly:
- 64 CPU threads
- ~125 GiB usable RAM
- A few hundred GB of fast local disk for the OS, plus a multi-TB ZFS pool for VM disks
CPU stays comfortable — 64 threads is far more than the VMs will ever simultaneously peg — and the ZFS pool started with terabytes to spare. (Disk has since grown tight as the database and storage VMs claimed their space, so the pool is now a number worth watching too — more on that in the lessons — but it was never the binding constraint.) So the planning is almost entirely a RAM exercise.
There's one important wrinkle that shapes everything: there is no swap on the host. That's a deliberate choice for a virtualization host — you don't want the hypervisor swapping VM memory to disk, because the performance cliff is brutal and unpredictable. But it also means there's no safety cushion: if committed memory exceeds physical memory and the VMs actually use it, the kernel's OOM killer starts shooting processes. So the rule becomes simple and strict:
Committed VM memory + host overhead must stay under physical RAM. There is no margin to borrow from.
The rest of this book is how that rule played out as the platform grew.
No comments to display
No comments to display