Source: http://www.thomas-krenn.com
Date: 22.11.2008
Generelle Features
- Switch-basierter (Layer2) Software Load Balancer
- Konfigurationsmöglichkeit spezifischer Backup-Server in Falle des Ausfalls der gesamten Server-Gruppe
- Frei konfigurierbare Alarm- und OK-Skripts (Serverausfall/Server-Recovery) zur Benachrichtigung z.B. per Email
- Unterstützung von "Direct Server Return" (DSR), Integration von Load Balancing ohne Änderung der Netzwerk-Topologie
- Client Soure-IP Adresse wird unverändert weitergereicht
- Einfache Integration und Konfiguration
- Einfache "init"-Skript Kommandos: "start", "stop", "status" und "control" für die interaktive Kommando-Schnittstelle
- Interaktive Schnittstelle mit editierbarer Kommandozeile und History
- Paketaufzeichnung im Pcap-Format mit automatischer Rotation (für Debugging und zur Implementation einer automatischen Traffic-Aufzeichnung)
- Master/Backup-Hochverfügbarkeit mit VRRP nach rfc3768
- Unterstützung von generischem Load Balancing über alle Ports eines virtuellen Servers
- Unterstützung von SNMP mit eigener BalanceNG-MIB (Integration mit dem Standard Net-SNMPD-System)
- Bis zu 128 gleichzeitige BalanceNG-Instanzen möglich
- Bis zu 1024 Target-Server möglich (Theoretisches Maximum)
- Bis zu 512 virtuelle Server möglich
- Replikation der NAT-Information vom Master zum Backup-Node
- Unterstützung von "VRRP-Tracking" erlaubt automatischen Failover beim Wegfall definierter Resourcen
Features der Session-Table
- Die Session-Table unterstützt mehrere Millionen gleichzeitige Session (abhängig vom zur Verfügung stehenden Memory, ca. 100 Bytes pro aktiver Session benötigt
- Automatische Replikation der Session-Table Information von Master zum Backup-Node
- Session-Persistenz basierend auf der Source IP-Adresse des Clients und optional zusätzlich auch auf dem Source-Port der Verbindung vom Client
Verfügbare Lastverteilungs-Methoden
- agent: Basierend auf dem Rückgabewert der "bngagent" Agenten-Software (Systemauslastung oder auch Anwendergeneriertes Skript/Programm). Die "bngagent" Software steht im Quellcode (Open Source) und auch als vorübersetzte Binaries zur Verfügung
- bw: Basierend auf der Gesamt-Bandbreite pro Target-Server
- bwin: Basierend auf der eingehenden Bandbreite pro Target-Server
- bwout: Basierend auf der ausgehenden Bandbreite pro Target-Server
- hash: Basierend auf einer Hash-Funktion, die mit der Source IP-Adresse aufgerufen wird (eindeutige Target-Zuordnung pro Source IP-Adresse)
- plugin: Basierend auf einem Anwender- generierten Skript/Programm
- random: Basierend auf einer pseudo-zufälligen Verteilung (optional gewichtet)
- rndagent: Wie "agent", jedoch zufällig verteilt
- rr: Einfache "Round-Robin"-Methode (immer im Kreis, der Reihe nach)
- session: Basierend auf der Anzahl der geringsten aktiven Sessions
Verfügbare Health-Check Methoden
- agent: Target-Seitiges Anwendergenerietes Skript oder Programm
- ping: "ICMP echo request/reply" ("ping") Health-Check
- script: Anwender-Skript oder Programm ("wget" oder Mon-Monitoring-Skripts direkt aufrufbar, Protokoll wie HTTP, SNMP, LDAP, POP3, IMAP, FTP, DNS u. a. direkt prüfbar)
- tcpopen: TCP-Open Health-Check
|
|