Architecture

Site Roles & Systems

What Site A and Site B are responsible for, how physical hosts and service workloads support those outcomes, and where workloads should be placed.

Site roles describe outcomes rather than just inventory. Site A is the management and durable-services anchor; Site B is the distributed storage and compute pool. Edge hosts protect routing capacity, storage hosts protect data paths, and service placement follows those boundaries.

Responsibility Map

CapabilityPrimary homeSecondary or recovery pathWhy it lives there
Routing and stateful policyLocal OPNsense at each siteManual rollback equipment; no automatic HA migrationWAN NICs and site gateways are physically local
Internal DNS authoritysa-dns-01 at Site Asa-dns-02, sb-dns-01, sb-dns-02One writable source with four resolvers and AXFR replicas
UniFi controlsa-uos-01 at Site AController-down forwarding continuesSite A owns the active controller; Site B adopts over L3 later
Runtime secretsOne OpenBao instance per siteBreak-glass fallback plus planned cross-site transit unsealAvoids stretched Raft and preserves site-local recovery
Durable local storageZFS at Site A; Ceph at Site BPBS copies at both sitesMatches each site's hardware shape
Platform computeSmall Site A pool; worker-heavy Site B poolWorkloads recover from backups and sourceKeeps management workloads away from Ceph/Kubernetes pressure
Monitoring and core servicesSite ARestore or redeploy at Site B as plannedSite A is the management anchor

Site A: Management and Durable Services

Site A · 10.10.0.0/16

Site A supplies the services needed to operate the homelab: the primary DNS source, UniFi control, OpenBao, ZFS-backed infrastructure, PBS-A, monitoring, and a smaller compute pool. The target network is a three-switch Layer 2 RSTP fabric behind sa-fw-01.

Physical Systems

SystemHardwareRole in the sitePrimary management address
sa-edge-01Supermicro SYS-E200-8DPinned sa-fw-01, sa-uos-01, sa-bao-01; light edge utilities10.10.20.10
sa-cmp-01ThinkPad P51CI, development, light VM and Kubernetes worker capacity10.10.20.11
sa-cmp-02ThinkPad P52GPU, AI, media, build, and light VM/Kubernetes work10.10.20.12
sa-stor-01Supermicro 5049A-TZFS, PBS-A, primary DNS, monitoring, databases, core VMs10.10.20.20
sa-sw-01/02/033× UniFi Switch Pro XG 10 PoEL2 RSTP fabric; router, host, storage, and access attachments10.10.10.2–4
sa-ap-01UniFi U7 Pro XGSTrusted, IoT, and guest Wi-Fi through sa-sw-0310.10.10.6

Service Systems

ServicePlacementAddressingPurpose
sa-fw-01Pinned VM on sa-edge-01Routed Site A .1 addresses; 10.255.0.1WAN, NAT, gateways, DHCP, WireGuard, DMZ, policy
sa-uos-01VM on sa-edge-0110.10.10.40UniFi switch and AP control; later Site B L3 adoption
sa-bao-01VM on sa-edge-0110.10.30.40Site A runtime secrets
sa-dns-01VM/LXC on sa-stor-0110.10.30.10Writable Technitium primary for core.aorxi.io
sa-dns-02VM/LXC on sa-cmp-01 or sa-cmp-0210.10.30.11Site A DNS replica and local failover
PBS-AVM/container on sa-stor-0110.10.30.20; backup 10.10.90.40Local backups and planned cross-site replication

Site A Lifecycle State

The Gateway Max and XG6 are the current bootstrap island. They are not additional target routing or switching tiers. The three XG10 switches are commissioned only on the isolated OPNsense-backed target plane, and the ONT moves after wired, wireless, and policy gates pass.

Site B: Distributed Storage and Compute

Site B · 10.20.0.0/16

Site B supplies the scale-out side of the private cloud: five Ceph-capable compute nodes, the larger Kubernetes/OpenShift pool, PBS-B, local DNS replicas, and an independent OpenBao instance. sb-sw-01 remains the Layer 2 core; the USG Pro user branch remains downstream of OPNsense.

Physical Systems

SystemHardwareRole in the sitePrimary management address
sb-edge-01Supermicro SYS-E200-8DPinned sb-fw-01, sb-bao-01, light edge utilities10.20.20.10
sb-cmp-01SYS-5019D-4C-FN8TPsb-pve creation node, Ceph MON/MGR, K8s control-plane10.20.20.20
sb-cmp-02SYS-5019D-4C-FN8TPCeph MON/MGR, K8s control-plane10.20.20.21
sb-cmp-03SYS-5018D-FN4TCeph OSD, K8s worker, distributed compute10.20.20.30
sb-cmp-04SYS-5018D-FN4TCeph OSD, K8s worker10.20.20.31
sb-cmp-05SYS-5018D-FN4TCeph OSD, K8s worker10.20.20.32
sb-sw-01Netgear XS748T10 Gb L2 infrastructure, Ceph, and compute core10.20.10.2
sb-sw-02UniFi USW 24 PoEAccess, IPMI, AP, PoE, and client switching10.20.10.3

Service and Platform Systems

ServicePlacementAddressingPurpose
sb-fw-01Pinned VM on sb-edge-01Routed Site B .1 addresses; 10.255.0.2WAN, NAT, gateways, WireGuard, DMZ, policy
Site B Cephsb-cmp-01 through sb-cmp-05Public 10.20.60.0/24; cluster 10.20.65.0/24Site-local distributed storage, replication size 3
sb-bao-01VM on sb-edge-0110.20.30.40Site B runtime secrets and planned transit-unseal peer
sb-dns-01VM/LXC on sb-cmp-0110.20.30.10Site B DNS replica
sb-dns-02VM/LXC on sb-cmp-0210.20.30.11Site B DNS replica
PBS-BSite B Proxmox VM10.20.30.20; backup 10.20.90.40Site B backups and cross-site DR target
USG ProDownstream of sb-fw-01WAN 10.20.253.2; management 10.20.10.4Retained user/Wi-Fi compatibility branch

Site B Is Planned and Parked

Site B architecture is documented so addressing, hardware allocation, and cross-site dependencies remain coherent, but the Site B rollout has not started. Services that depend on Site B—WireGuard, cross-site PBS replication, transit unseal, and Site B DNS replicas—are design state rather than deployed reality.

Workload Placement Rules

Protect the Edge Hosts

Firewall VMs Stay Pinned

sa-fw-01 stays on sa-edge-01; sb-fw-01 stays on sb-edge-01. Neither firewall VM participates in Proxmox HA migration.

The E200 nodes may run OPNsense, OpenBao, the UniFi controller, DNS helpers, a small reverse proxy, or monitoring agents. Heavy databases, Ceph OSDs, storage-heavy VMs, and heavy Kubernetes workers do not belong there because they can starve the site router.

Keep Storage Traffic on Storage Paths

Site A storage consumers attach directly to VLAN 60 and sa-stor-01. Site B Ceph uses separate VLAN 60 public and VLAN 65 cluster networks. None of these storage networks has a gateway, and no traffic routes between VLANs 60 and 65.

Give Control Planes Independent Failure Placement

DNS replicas split across hosts. Site B Ceph MON/MGR and Kubernetes control-plane roles use sb-cmp-01 and sb-cmp-02; workers use sb-cmp-03/04/05. Site A cluster formation waits until all four nodes have final VLAN 20 management addresses and valid /etc/hosts entries.

Use the full system map to inspect every system and IP, or continue to physical & logical topology to follow network paths and failures.