- New: smart-home/home-assistant-dashboard-conventions (Mushroom cards, view tabs, no Bubble Cards) - Updated: rke2, ceph, galera, proxmox, brainstorming, compound-learning, 1password-cli, smart-home-automation skills - New references: ceph-cluster-administration, docker-volume-forensics, ceph-crush-weight, ceph-ec-mixed-size
4.5 KiB
4.5 KiB
Homelab Galera/MaxScale Topology (Updated 2026-07-13)
MariaDB Galera Cluster (3 nodes — quorum-safe: 3 different PVE hosts)
| Node | VM ID | Proxmox Host | IP | Hostname | RAM |
|---|---|---|---|---|---|
| db1 | 300 | n5pro (10.0.20.91) | 10.0.30.71 | mariadb-01 | 8 GB |
| db2 | 301 | proxmox3 (10.0.20.30) | 10.0.30.72 | mariadb-02 | 8 GB |
| db3 | 302 | proxmox6 (10.0.20.60) | 10.0.30.73 | mariadb-03 | 8 GB |
- MariaDB version: 11.4.10-MariaDB-deb12
- Cluster name:
mariadb-galera - Galera address:
gcomm://10.0.30.71,10.0.30.72,10.0.30.73 - DB size: ~18GB (homeassistant schema)
- Effective RAM usage: ~5.5 GB per node (4 GB innodb_buffer_pool + 1.5 GB OS/Galera)
balloon: 0on all Galera VMs — see SKILL.md §5.3b for rationale- Quorum guarantee: Any single PVE host failure leaves ≥2 Galera nodes alive
- Note: PVE HA may migrate VMs. Always verify current placement
with
qm liston each node before operating.
MaxScale Proxy (2 instances + VIP)
| Node | VM ID | Proxmox Host | IP | Hostname | RAM | Status |
|---|---|---|---|---|---|---|
| maxscale-01 | 310 | n5pro (10.0.20.91) | 10.0.30.81 | maxscale-01 | 2 GB | Active |
| maxscale-02 | 311 | proxmox3 (10.0.20.30) | 10.0.30.82 | maxscale-02 | 2 GB | Standby |
| VIP | — | — | 10.0.30.70 | keepalived VIP | — | — |
- MaxScale version: 24.02.9
- Services:
rw-router(readwritesplit),ro-router(readconnroute) - Monitor:
galera-monitor(galeramon) - Listener:
rw-listeneron port 3306
HA Rules (PVE 8 rules.cfg)
node-affinity: db-nodes
nodes n5pro,proxmox3,proxmox6
resources vm:300,vm:301,vm:302,vm:310,vm:311
strict 1
resource-affinity: ha-rule-ea9e852a-8d82
affinity negative
resources vm:310,vm:311
resource-affinity: ha-rule-d61699eb-2baf
affinity negative
resources vm:301,vm:302
db-nodes(strict=1): Galera + MaxScale VMs restricted to n5pro + proxmox3 + proxmox6 (3 hardware-diverse hosts)- Negative resource-affinity: MaxScale 310↔311 kept apart, Galera 301↔302 kept apart
- At node failure, HA manager restarts VM on one of the other 2 allowed nodes (deterministic)
- ⚠️ Anti-affinity rules can block
qm migrate— check rules.cfg before migrating
PVE Host RAM Capacity
| Host | IP | Physical RAM | Notes |
|---|---|---|---|
| n5pro | 10.0.20.91 | 91 GB | Massive headroom, primary DB host |
| proxmox3 | 10.0.20.30 | 31 GB | Good headroom, secondary DB host |
| proxmox6 | 10.0.20.60 | 15 GB | Tight — 113% overcommit with Galera VM, but effective use is only 5.5 GB |
| proxmox1-2,4-5,7 | 10.0.20.{10,20,40,50,??} | 15 GB each | NOT in db-nodes rule — DB VMs cannot failover here |
SSH Access
# MariaDB VMs (user: debian) — may vary if HA migrated the VM
ssh -i ~/.ssh/id_ed25519_proxmox debian@10.0.30.71
ssh -i ~/.ssh/id_ed25519_proxmox debian@10.0.30.72
ssh -i ~/.ssh/id_ed25519_proxmox debian@10.0.30.73
# MaxScale VMs (user: debian)
ssh -i ~/.ssh/id_ed25519_proxmox debian@10.0.30.70
# Proxmox hosts (user: root)
ssh -i ~/.ssh/id_ed25519_proxmox root@10.0.20.10 # proxmox1
ssh -i ~/.ssh/id_ed25519_proxmox root@10.0.20.30 # proxmox3
ssh -i ~/.ssh/id_ed25519_proxmox root@10.0.20.60 # proxmox6
ssh -i ~/.ssh/id_ed25519_proxmox root@10.0.20.91 # n5pro
Credentials
Credentials in 1Password Vault "Kubernetes ESO" (ID: 334ykdtj5kar3jlpcrztjvx2fu):
mariadb-root— root password (localhost only,sudo mariadbon node)mariadb-app-user— username=dominik, app accessgitea-db— Gitea database user/password
Legacy item mariadb-galera-vm in vault "Hermes" may still contain:
maxscale-password— MaxScale MySQL user with SUPER privilegemariabackup-password— Galera SST transfer authha-recorder-password— HA Recorder MySQL userkeepalived-auth-pass— keepalived VIP failover auth
Firewall (UFW on MariaDB VMs)
- Port 3306: ALLOW from 10.0.30.81, 10.0.30.82 (MaxScale only)
- Ports 4567, 4568, 4444: ALLOW between Galera nodes (10.0.30.71-73)
Home Assistant
- VM 106 on proxmox1 (10.0.20.10)
- Internal: http://10.0.30.10:8123
- External: https://homeassistant.familie-schoen.com
- Config:
/mnt/data/supervisor/homeassistant/configuration.yaml - Recorder DB URL:
mysql://ha_recorder:***@10.0.30.70:3306/homeassistant - InfluxDB: 10.0.30.109:8086, bucket
ha_hot_90d(long-term history)
HAOS SSH Access (Port 22222)
ssh -i ~/.ssh/id_ed25519_proxmox root@10.0.30.10 -p 22222