ci / test (push) Successful in 25s
Aufbauplan Task 0.4: - inventory.yaml: pve44/46/48/52/61 und GODE-PC-05/06 (Ada, Windows, cpu_roles: false) - proxmox.yaml: eine GPU-VM pro Knoten mit allen Karten (D2), local-lvm/tank (D1 B), 192.168.100.0/24 ohne VLAN, Gast-IPs .220–.239 (ANNAHME bis Task 0.2) - registry.yaml/prometheus.yml: ops-Labels auf gpu-pve44/46/48, Ada ohne pve_node/vmid - tofu: dynamische hostpci, Speicher je Gast; Ansible: pve_gpu_hosts/pve_kiosk, Replikation auf mehrere Ziele - Placement: cpu_roles=false schließt Arbeitsplätze/Kiosk von CPU-Rollen aus - PLAN §1.3/§1.4/§9 und ADR-Nachträge (D1 entschieden, D2/D3 Bestätigung offen) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
29 lines
2.1 KiB
Markdown
29 lines
2.1 KiB
Markdown
# ADR-0002: ZFS lokal + Replikation statt Ceph
|
||
|
||
- Status: angenommen, ergänzt am 2026-10-13 (Nachtrag D1, entschieden)
|
||
- Datum: 2026-10-11
|
||
|
||
## Kontext
|
||
Die Nodes sind mit **1 GbE** verbunden. Jede physische Maschine hat 2–3 SSDs mit 128–256 GB. Ceph braucht für brauchbare Latenz und Rebuilds mindestens 10 GbE und genug Platz pro OSD.
|
||
|
||
## Entscheidung
|
||
- Pro Node ZFS: SSD 1 für das System, SSD 2+3 als Mirror `tank` (bei nur 2 SSDs: Einzel-SSD `tank`).
|
||
- Proxmox-**ZFS-Replikation** alle 15 Min. für die Infra-VMs bzw. -LXCs auf einen Partner-Node, kombiniert mit Proxmox HA.
|
||
- **Modelle lokal** auf der GPU-VM (eigenes Disk-Image, weder repliziert noch gesichert). Quelle: Hugging Face oder ein optionaler Modell-Mirror (HTTP, nur lesend).
|
||
- **PBS** für Postgres, Konfiguration und Datensätze.
|
||
|
||
## Folgen
|
||
- Bei einem Node-Ausfall gehen höchstens 15 Min. Daten der Infra-VMs verloren. Postgres sichert sich zusätzlich über WAL-Archivierung bzw. PBS.
|
||
- Modellwechsel verursachen Downloads (10 GB ≈ 90 s über 1 GbE). Das ist akzeptabel.
|
||
- Die Speicherbudgets pro Rolle stehen in PLAN.md, Abschnitt 1.4.
|
||
|
||
## Nachtrag 2026-10-13: Variante B ohne Neuinstallation (Aufbauplan D1, entschieden am 12.10.)
|
||
Die Knoten sind bereits mit ext4 und LVM-thin auf der System-SSD installiert. Entschieden ist **Variante B**:
|
||
- Die System-SSD bleibt, wie sie ist (`local` und `local-lvm`). Die GPU-VMs liegen auf `local-lvm`.
|
||
- Auf **pve44, pve48 und pve52** wird die zweite SSD (bisher altes Windows) nach ausdrücklicher Freigabe remote zur Einzel-SSD `tank` (`ashift=12`, `lz4`). Auf pve48 bleibt `sdc` unberührt.
|
||
- **pve46** (eine Platte) und **pve61** (Kiosk) bekommen kein ZFS. Dort laufen nur Gäste ohne HA (GPU-VM, `ops`).
|
||
- HA-Gäste (`infra`) liegen auf `tank` und werden alle 15 Min. auf die anderen `tank`-Knoten repliziert.
|
||
- Der ZFS-ARC wird auf 4 GiB begrenzt.
|
||
- Einen Spiegel für die Systemplatte gibt es nicht. Fällt eine System-SSD aus, wird der Knoten neu installiert, die HA-Gäste laufen repliziert weiter.
|
||
- Variante A (Neuinstallation mit ZFS-RAID1 vor Ort) lässt sich später pro Knoten nachholen.
|