// Poradnik techniczny // HA · Reguły affinity Aktualizacja:

Reguły HA affinity
w Proxmox VE

Proxmox VE 9 wprowadził nowy system reguł HA, który zastępuje dawne „HA groups”. Decydujesz, które maszyny mają działać razem, które osobno, a które trzymać na wybranych węzłach — to odpowiednik reguł affinity z DRS w vSphere.

// 01 · Po co reguły

Kontrola rozmieszczenia w klastrze

W klastrze HA to menedżer decyduje, na którym węźle wskrzesić maszynę po awarii. Bez dodatkowych wskazówek może umieścić obok siebie dwie maszyny, które dla bezpieczeństwa powinny być rozdzielone — albo rozdzielić te, które muszą być blisko.

Reguły HA dają tę kontrolę deklaratywnie. Konfiguracja trafia do pliku /etc/pve/ha/rules.cfg w /etc/pve, więc automatycznie rozjeżdża się na wszystkie węzły — cały klaster ma spójny zestaw reguł. Ustawisz je też w panelu: Datacenter → HA → Rules.

// 02 · Dwa typy reguł, trzy warianty

Affinity, anti-affinity i node affinity

  • Node affinity — dodatnia (domyślnie) trzyma zasób na wskazanych węzłach, ujemna każe ich unikać. Zastępuje dawne HA groups i jest z nimi funkcjonalnie zgodne.
  • Resource affinity (positive) — trzymaj wskazane maszyny na tym samym węźle (np. aplikacja blisko swojej bazy danych).
  • Resource anti-affinity (negative) — rozłóż maszyny na różne węzły, by awaria jednego hosta nie położyła całej redundantnej usługi.
ℹ️

Klasyczne zastosowania anti-affinity: dwa kontrolery domeny, para load-balancerów, węzły tej samej bazy w replikacji — zawsze na osobnym sprzęcie.

// 03 · Strict vs non-strict

Twarde i miękkie ograniczenia

Reguły node affinity domyślnie nie są ścisłe: jeśli żaden ze wskazanych węzłów nie jest dostępny, maszyna i tak zostanie uruchomiona gdzie indziej — dostępność wygrywa. Gdy zależność jest twarda (np. licencja przypięta do konkretnego sprzętu albo lokalny storage), użyj reguły strict — wtedy menedżer ogranicza umieszczanie, odzyskiwanie i migrację wyłącznie do węzłów z reguły. Gdy żaden z nich nie jest dostępny, zasób zostaje zatrzymany.

Resource affinity, w tym anti-affinity, jest twarde. Gdy reguły nie da się spełnić, HA nie uruchamia maszyny na węźle, który ją łamie: przy failoverze zostawia zasób w odzyskiwaniu, a w pozostałych przypadkach w błędzie.

Flaga failback (domyślnie włączona) przenosi zasób tylko na węzeł z reguły node affinity o wyższym priorytecie niż bieżący. Przy równym priorytecie (domyślnie 0) maszyna zostaje na miejscu. To następca dawnego nofailback z HA groups, przeniesiony na poziom zasobu HA.

// 04 · Migracja i dobre praktyki

Z HA groups na reguły

  • Automatyczna migracja — gdy wszystkie węzły klastra są już na 9.x, dawne HA groups są konwertowane na reguły node affinity, a przypisanie grupy trafia do pola „resources” reguły.
  • Zaczynaj od anti-affinity dla par redundantnych — to największy zysk niezawodności przy minimalnym wysiłku.
  • Strict tylko przy node affinity — tam domyślny tryb jest miękki, a nadmiar twardych reguł blokuje failover. Anti-affinity jest twarde i nie uruchomi maszyny, gdy reguły nie da się spełnić.
💡

Reguły affinity współpracują z Dynamic Load Balancerem — automatyczne równoważenie zawsze respektuje Twoje reguły node i resource affinity.

Zaprojektujemy reguły HA pod Twój klaster

Dobierzemy affinity, anti-affinity i node affinity tak, by zmaksymalizować niezawodność usług po migracji z VMware — zgodnie z Twoimi wymaganiami SLA.

⚡ Bezpłatna konsultacja → Proxmox 9 vs 8: różnice