- netboot-base.nix with SSH key auth - Launch scripts for node01/02/03 - Node configuration.nix and disko.nix - Nix modules for first-boot automation 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
36 lines
1.1 KiB
Markdown
36 lines
1.1 KiB
Markdown
# 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
|