This repository has been archived on 2026-08-17. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
debian-configuration/docs/00-overview.md
T
beatzaplenty a854412117 Initial planning docs and hardening scripts for HA rebuild
Covers node 1 hardware/network layout, LVM-thin -> ZFS migration path,
Ceph as the future HA storage upgrade, and baseline SSH/firewall
hardening.
2026-07-20 11:45:54 +10:00

58 lines
2.5 KiB
Markdown

# Overview & Roadmap
## Background
Current hardware requires disabling KVM hardware virtualization for VMs to
start at all (falls back to software emulation — slow). This is a
host/BIOS-level issue, not a Proxmox limitation, and shouldn't be needed on
new hardware. Before reusing that workaround on the new box:
- Confirm VT-x (Intel) / AMD-V (AMD) is enabled in BIOS/UEFI.
- Confirm IOMMU is enabled if passthrough is planned.
- Update BIOS/microcode first.
- Rule out running Proxmox nested inside another hypervisor.
## End goal
3-node Proxmox VE cluster with HA-managed VMs. Two ways to get VM disks
available on more than one node (see `02-storage-zfs-ceph.md`):
1. **Ceph** — true distributed shared storage, sync replication, needs 3+
nodes and a fast dedicated network. Zero/near-zero RPO on failover.
2. **ZFS + storage replication** — local ZFS pool per node, Proxmox
replicates VM disks between nodes on a schedule (as often as every
minute). Lighter weight, async — failover loses whatever changed since
last replication.
Starting point: ZFS + replication (lighter, works from node 1 onward).
Ceph is the upgrade path once 3 nodes exist and/or zero-RPO failover
matters enough to justify the overhead.
## Cluster fundamentals (apply from node 1 onward)
- 3 nodes minimum for real quorum. If starting with 2, add a QDevice
(small VM or Raspberry Pi) as tie-breaker.
- Dedicated network for corosync (cluster/quorum traffic) — never shared
with VM or storage traffic. Needs low, consistent latency (well under
5ms); jitter matters more than bandwidth.
- All nodes on the same PVE version, NTP-synced, SSH reachable between
nodes.
- Set VM CPU type to a portable type (e.g. `x86-64-v2-AES` or `kvm64`)
rather than `host` if nodes will ever have different CPUs — needed for
clean live migration.
## Rollout sequence
1. Build node 1 per `01-hardware-node1.md` — fresh PVE install on ZFS boot
mirror, local ZFS "tier 2" pool for VM disks, Ceph-earmarked disks left
idle or as a temporary ZFS pool.
2. Migrate VMs off old hardware via `vzdump` → copy backups → `qmrestore`
onto the new ZFS storage (converts disks to ZVOLs).
3. Apply hardening (`04-security-hardening.md`) and networking
(`03-networking.md`) before exposing the node beyond the LAN.
4. Add nodes 2 and 3 identically (same disk/network layout).
5. Join cluster, stand up dedicated corosync network, configure
replication and HA groups.
6. Optionally migrate the Ceph-earmarked disks from temporary ZFS to real
Ceph OSDs once 3 nodes are up.