# QEMU Socket Networking VM Cluster ## Architecture **Topology:** 4 QEMU VMs connected via multicast socket networking (230.0.0.1:1234) **VMs:** 1. **pxe-server** (192.168.100.1) - Provides DHCP/TFTP/HTTP services 2. **node01** (192.168.100.11) - Cluster node 3. **node02** (192.168.100.12) - Cluster node 4. **node03** (192.168.100.13) - Cluster node **Network:** All VMs share L2 segment via QEMU multicast socket (no root privileges required) ## Files - `node01.qcow2`, `node02.qcow2`, `node03.qcow2` - 100GB cluster node disks - `pxe-server.qcow2` - 20GB PXE server disk - `launch-pxe-server.sh` - PXE server startup script - `launch-node01.sh`, `launch-node02.sh`, `launch-node03.sh` - Node startup scripts - `pxe-server/` - PXE server configuration files ## MACs - pxe-server: 52:54:00:00:00:01 - node01: 52:54:00:00:01:01 - node02: 52:54:00:00:01:02 - node03: 52:54:00:00:01:03 ## Provisioning Flow 1. Start PXE server VM (Alpine Linux with dnsmasq) 2. Configure DHCP/TFTP/HTTP services 3. Deploy NixOS netboot artifacts 4. Start node VMs with PXE boot enabled 5. Nodes PXE boot and provision via nixos-anywhere