# Windows Network Load Balancing: Traffic-Verteilung im Handumdrehen

TL;DR / Management Summary Network Load Balancing (NLB) ist eine Software-basierte Lösung, um Netzwerkverkehr (primär HTTP/HTTPS) auf bis zu 32 Server zu verteilen. Im Gegensatz zum Failover-Cluster (Artikel 536) gibt es keinen Shared Storage – alle Knoten sind aktiv. Ein Senior Admin nutzt NLB für einfache, zustandslose Web-Frontends oder VPN-Gateways, wenn kein dedizierter Hardware-Loadbalancer (wie F5) oder HAProxy (Artikel 429) verfügbar ist.


# 1. Einführung & Architektur

Die VIP (Virtual IP).

NLB arbeitet auf Layer 2/3 des OSI-Modells. Es weist allen Cluster-Knoten die gleiche Virtuelle IP-Adresse (VIP) zu.

# Wie wird Traffic verteilt?

NLB nutzt einen verteilten Algorithmus (Hashing) basierend auf der Quell-IP/Port des Clients. Jeder Knoten sieht das Paket, aber nur ein Knoten entscheidet sich (anhand des Hashwertes), es zu verarbeiten.

# Unicast vs. Multicast (Der Admin-Stolperstein)

  1. Unicast Mode: Alle Knoten erhalten die gleiche virtuelle MAC-Adresse.
    • Nachteil: Knoten können untereinander nicht mehr über ihre primären NICs kommunizieren (erfordert zweite NIC).
  2. Multicast Mode: Jede NIC behält ihre echte MAC, erhält aber eine zusätzliche Multicast-MAC für die VIP.
    • Nachteil: Erfordert oft statische ARP-Einträge auf dem physischen Switch.

# 2. Einrichtung in der Praxis

Einen Web-Cluster bauen.

# Schritt 1: Feature installieren

Install-WindowsFeature -Name NLB -IncludeManagementTools

# Schritt 2: Cluster erstellen (via CLI)

# Neuen Cluster mit dem ersten Knoten erstellen
New-NlbCluster -InterfaceName "Ethernet" -ClusterPrimaryIP 10.0.0.80 -ClusterSubnetMask 255.255.255.0 -OperationMode Multicast

# Weitere Knoten hinzufügen
Add-NlbClusterNode -NewNodeName "SRV-WEB-02" -NewNodeInterface "Ethernet"

# 3. Deep Dive: Port-Regeln

Feingranulare Steuerung.

Sie können festlegen, welcher Traffic überhaupt gebalanced werden soll.


# 4. Day-2 Operations: Wartung & Drain-Stop

Patchen ohne Downtime.

Wenn Sie einen Server neustarten müssen, darf der Traffic nicht abrupt abreißen.

# Sagt NLB: Keine NEUEN Verbindungen mehr annehmen, bestehende abarbeiten (Draining)
nlb.exe drain <cluster_ip>
# ... warten bis alle Sessions weg sind ...
nlb.exe stop

# 5. Troubleshooting & “War Stories”

Wenn der Cluster zum Broadcast-Monster wird.

# Top 3 Fehlerbilder

  1. Symptom: Switch-Performance bricht ein (“MAC Flapping”).

    • Ursache: NLB im Unicast-Modus flutet den Switch mit Paketen an alle Ports.
    • Lösung: Switch-Port Isolation (VLAN) oder Wechsel auf Multicast-Modus mit IGMP-Snooping.
  2. Symptom: Knoten zeigen im Manager “Inaccessible”.

    • Ursache: Firewall blockiert den NLB-Heartbeat (UDP).
    • Lösung: Ausnahme für ICMP und NLB-Traffic in der Windows Firewall prüfen.
  3. Symptom: Sessions brechen ständig ab.

    • Ursache: Affinität auf “None” gestellt bei einer Applikation, die keine synchronisierten Sessions im Backend hat.

# “War Story”: Der “Silent” Failover

Ein Kunde betrieb ein Portal auf zwei NLB-Knoten. Eines Tages war die Seite extrem langsam. Die Entdeckung: Ein Knoten war vor Wochen abgestürzt. NLB hatte den Traffic korrekt auf den zweiten Knoten umgeleitet. Dieser lief nun auf 100% CPU. Da der Admin kein Monitoring für die NLB-Events hatte, bemerkte er den Ausfall des ersten Knotens erst, als der zweite fast aufgab. Lehre: NLB ist kein “Set and Forget”. Überwachen Sie den Status der Cluster-Member (Get-NlbClusterNode)!


# 6. Monitoring & Alerting

Status im Dashboard.

# Wichtige Events

Überwachen Sie das System Log auf Quelle Microsoft-Windows-NLB.


# 7. Fazit & Empfehlung

NLB ist eine “Quick & Dirty” Lösung für Hochverfügbarkeit.


# Anhang: Cheatsheet

Aufgabe Befehl
NLB Konsole nlbmgr.exe
Status aller Knoten nlb.exe display
Port-Regeln sehen Get-NlbClusterPortRule
Wartung starten nlb.exe drain

# Referenzen