Einleitung

Ein Proxmox Cluster ist das Herzstück meines Homelabs. Mit drei Nodes erreiche ich echte High Availability und kann VMs live zwischen Hosts migrieren. In diesem Artikel teile ich meinen Weg von einzelnen Servern zu einem produktionsreifen Cluster.

Warum ein Cluster?

Bevor ich ins Detail gehe, hier die Vorteile, die mich überzeugt haben:

High Availability: VMs starten automatisch auf anderen Nodes bei Hardware-Ausfall
Live Migration: VMs zwischen Hosts verschieben ohne Downtime
Zentrales Management: Alle Nodes über eine Web-UI verwalten
Shared Storage: Ceph oder andere verteilte Storage-Lösungen
Load Balancing: Ressourcen optimal auf Nodes verteilen

Hardware-Anforderungen

Mein Cluster besteht aus drei identischen Nodes:

Pro Node

  • CPU: Intel Xeon E-2236 (6 Cores / 12 Threads)
  • RAM: 64 GB ECC DDR4
  • System: 2× 512 GB NVMe SSD (RAID 1)
  • Storage: 4× 2 TB SATA SSD (für Ceph)
  • Network: 2× 10 GbE (Redundanz)

Wichtig: Für echte HA braucht man mindestens 3 Nodes (Quorum). Mit nur 2 Nodes riskiert man Split-Brain-Szenarien.

Netzwerk-Design

Ein durchdachtes Netzwerk-Design ist kritisch:

Management Network: 192.168.1.0/24
- Node 1: 192.168.1.11
- Node 2: 192.168.1.12
- Node 3: 192.168.1.13

Ceph Public Network: 10.10.10.0/24
- Node 1: 10.10.10.11
- Node 2: 10.10.10.12
- Node 3: 10.10.10.13

Ceph Cluster Network: 10.10.20.0/24
- Node 1: 10.10.20.11
- Node 2: 10.10.20.12
- Node 3: 10.10.20.13

Separation: Management, Ceph Public und Ceph Cluster sollten getrennt sein für beste Performance.

Installation Schritt für Schritt

1. Proxmox Basis-Installation

Auf jedem Node Proxmox VE installieren:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# Nach Standard-Installation
apt update && apt upgrade -y

# Enterprise Repository deaktivieren (wenn keine Subscription)
rm /etc/apt/sources.list.d/pve-enterprise.list

# No-Subscription Repository aktivieren
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > \
  /etc/apt/sources.list.d/pve-no-subscription.list

apt update

2. Hostname und /etc/hosts konfigurieren

1
2
3
4
5
6
7
8
9
# Auf jedem Node den richtigen Hostname setzen
hostnamectl set-hostname pve1  # bzw. pve2, pve3

# /etc/hosts auf ALLEN Nodes
cat >> /etc/hosts <<EOF
192.168.1.11 pve1.vlb2.local pve1
192.168.1.12 pve2.vlb2.local pve2
192.168.1.13 pve3.vlb2.local pve3
EOF

3. Cluster erstellen

Auf dem ersten Node (pve1):

1
pvecm create homelab-cluster

Auf den anderen Nodes joinen:

1
2
# Auf pve2 und pve3
pvecm add 192.168.1.11

Cluster-Status prüfen:

1
pvecm status

Ceph Storage Setup

Ceph bietet verteiltes Storage mit Redundanz:

Installation

1
2
# Auf allen Nodes
pveceph install

Netzwerk konfigurieren

1
2
# Auf dem ersten Node
pveceph init --network 10.10.10.0/24 --cluster-network 10.10.20.0/24

Monitors erstellen

1
2
# Auf jedem Node einen Monitor
pveceph mon create

OSDs hinzufügen

1
2
3
4
5
# Auf jedem Node die SSDs als OSDs hinzufügen
pveceph osd create /dev/sdb
pveceph osd create /dev/sdc
pveceph osd create /dev/sdd
pveceph osd create /dev/sde

Pools erstellen

1
2
3
4
5
# Pool für VMs mit 3-facher Replikation
pveceph pool create vm-pool --add_storages

# Pool für Container
pveceph pool create ct-pool --add_storages

High Availability konfigurieren

HA Manager aktivieren

1
2
3
4
5
# HA-Gruppe erstellen
pvesh create /cluster/ha/groups --group homelab --nodes pve1,pve2,pve3

# Fencing konfigurieren (wichtig!)
pvesh set /nodes/{node}/vzdump --maxfiles 3 --mode snapshot

VMs für HA konfigurieren

In der Web-UI für jede kritische VM:

  1. VM auswählen → “More” → “Manage HA”
  2. State: “started”
  3. Group: “homelab”
  4. Max Restart: 3
  5. Max Relocate: 3

Wichtig: Nur VMs mit Shared Storage (Ceph) können HA nutzen!

Migration & Live Migration

Live Migration testen

1
2
# VM 100 von pve1 nach pve2 migrieren (ohne Downtime)
qm migrate 100 pve2 --online

Wartungsmodus

Node in Wartung versetzen:

1
2
# VMs werden automatisch migriert
pvecm expected 2  # Nur 2 Nodes für Quorum

Monitoring & Wartung

Wichtige Befehle

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# Cluster-Status
pvecm status
pvecm nodes

# Ceph-Status
ceph status
ceph osd tree
ceph df

# HA-Status
ha-manager status

Backup-Strategie

Meine Backup-Konfiguration:

1
2
# Tägliches Backup aller VMs
vzdump --mode snapshot --compress zstd --storage backup-nfs

Backups gehen auf:

  1. Lokales Storage (schnell)
  2. NFS-Share auf Synology
  3. Offsite zu Hetzner (via Bareos)

Best Practices

Do’s

✅ Mindestens 3 Nodes für echte HA
✅ Separate Netzwerke für Management/Ceph
✅ ECC RAM verwenden
✅ Identische Hardware für alle Nodes
✅ Regelmäßige Backups (auch von Ceph)
✅ UPS für alle Nodes
✅ Monitoring aufsetzen (Grafana)

Don’ts

❌ Nur 2 Nodes ohne Quorum-Device
❌ Ceph über Gigabit Ethernet
❌ Verschiedene Proxmox-Versionen mischen
❌ Alle Nodes gleichzeitig updaten
❌ HA ohne Shared Storage
❌ Split-Brain ignorieren

Troubleshooting

Quorum verloren

1
2
# Wenn nur noch ein Node läuft
pvecm expected 1

Ceph Probleme

1
2
3
4
5
6
7
8
9
# Status detailliert
ceph -s
ceph health detail

# OSD neu starten
systemctl restart ceph-osd@X

# Scrubbing
ceph osd deep-scrub X.Y

Cluster-Trennung

1
2
3
4
5
# Node aus Cluster entfernen
pvecm delnode pve3

# Node komplett zurücksetzen
pvecm updatecerts -f

Performance-Tuning

Ceph Optimierungen

1
2
3
4
5
6
7
8
9
# /etc/ceph/ceph.conf
[global]
osd_pool_default_size = 3
osd_pool_default_min_size = 2
osd_memory_target = 4294967296

[osd]
osd_max_backfills = 1
osd_recovery_max_active = 1

Netzwerk-Tuning

1
2
3
4
5
# /etc/sysctl.conf
net.core.rmem_max = 134217728
net.core.wmem_max = 134217728
net.ipv4.tcp_rmem = 4096 87380 67108864
net.ipv4.tcp_wmem = 4096 65536 67108864

Kosten & ROI

Meine Investition:

  • 3× Server: ~4.500 €
  • Networking: ~800 €
  • USV: ~600 €
  • Gesamt: ~5.900 €

Vergleich Cloud: 3× dedizierte Server bei Hetzner würden ~180 €/Monat kosten. Nach 33 Monaten amortisiert.

Fazit

Der Aufbau eines Proxmox Clusters ist ein spannendes Projekt. Die initiale Komplexität zahlt sich durch:

  • Keine Single Points of Failure
  • Wartungsfenster ohne Downtime
  • Professionelle Infrastruktur
  • Lerneffekt ist enorm

Für Homelabs absolut empfehlenswert, wenn man mehr als 2-3 VMs betreibt und Wert auf Verfügbarkeit legt.

Nächste Schritte

In kommenden Artikeln:

  • Backup-Strategie mit Bareos
  • Monitoring mit Grafana/Prometheus
  • Automatisierung mit Terraform
  • Disaster Recovery Tests

Ressourcen

Fragen oder Anmerkungen? Schreib mir eine Email!