Linux-HA-Cluster – Heartbeat mit DRBD
Thomas Röhl
01. Oktober 2004
01.10.04 [email protected] 2Linux-HA-Cluster
Inhalt
Was ist ein HA-Cluster?
Vorbereiten des Projekts
Hardware
Software
Allgemeiner Aufbau des Clusters
Installation von DRBD
Installation der Heartbeat-Pakete
Einsatzmöglichkeiten
Simulation
Persönliches Fazit
01.10.04 [email protected] 3Linux-HA-Cluster
Was ist ein HA-Cluster?
HA → High Availibility
Cluster = Arbeitsverbund mehrerer Rechner. Fällt ein
sog. Knoten aus, so übernimmt ein anderer seinen
Dienst (Failover).
Jeder Knoten hat eine eigene IP-Adresse, jedoch der
Cluster gesamt auch nur eine.
Shared-Storage- (mit gemeinsamen Festplatten) oder
Share-Nothing-Cluster (kein gemeinsamer Speicher).
HA-Share-Nothing-Cluster
01.10.04 [email protected] 4Linux-HA-Cluster
Vorbereiten des Projekts - Hardware
Man benötigt:
2 (ähnliche) PCs mit jeweils 2 Netzwerkkarten
1 Switch oder Hub
1 Cross-Netzwerkkabel / Serielles Kabel (optional)
3 Patch-Netzwerkkabel
Einen Client zum Testen des Clusters mit Windows oder Linux
01.10.04 [email protected] 5Linux-HA-Cluster
Vorbereiten des Projekts - Software
Installation der benötigten Software:
SuSE Linux 9.0 installiert
Pakete von Heartbeat (Heartbeat, Heartbeat- Pils, Heartbeat-Stonith, Heartbeat-Ldirectord)
Paket von DRBD
Software für den zu betreibenden Dienst – Samba, Apache, mySQL, FTP
Monitor-Programm für DRBD-Synchronisation
01.10.04 [email protected] 7Linux-HA-Cluster
DRBD - Kurzüberblick
DRBD – Data Rate Block Device
DRBD dient zum Synchonisieren der Daten auf beiden Rechnern.
DRBD setzt auf dem TCP-Protokoll und dem Filesystem auf und verwaltet die zu spiegelnden Partitionen.
Die Synchonisation erfolgt beim Starten der PCs, kann aber auch manuell angestoßen werden.
01.10.04 [email protected] 9Linux-HA-Cluster
Installation von DRBD
Gibt es schon fertig als RPM für viele Distributionen
In der Config-Datei (/etc/drbd.conf) müssen folgende Werte angepasst werden:
Knotennamen
IP-Adressen der Knoten
Sync-Rate
Disk-Size
Übertragungsprotokoll
01.10.04 [email protected] 10Linux-HA-Cluster
Installation der Heartbeat-Pakete (I)
Diese Pakete sind in vielen Distributionen schonmitenthalten
Es gibt 3 Config-Dateien, die anzupassen sind: /etc/ha.d/ha.cf /etc/ha.d/haresources /etc/ha.d/authkeys
In der Datei /etc/ha.d/ha.cf müssen folgende Wertegeändert werden:
Knotenname Broadcast-Interface (optional) Dead-Time (optional)
01.10.04 [email protected] 11Linux-HA-Cluster
Installation der Heartbeat-Pakete (II)
Die Datei /etc/ha.d/authkeys legt die Authentifizierungsmethode fest.
Nachteil: Die zu übermittelnden Passwörter stehen in Klartext in dieser Datei.
→ Zugriffsrechte auf 700 setzen und Besitzer „root“ zuweisen.
Bei Crosskabel-Verbindung ist CRC zu empfehlen.
Die freizugebenden Dienste sind in der Datei /etc/ha.d/haresources einzutragen. Beispiel:
Node1 192.168.0.10 mySQL apache Knoten1 virtuelle IP Dienste
Startreihenfolge
01.10.04 [email protected] 12Linux-HA-Cluster
Einsatzmöglichkeiten
Der Heartbeat-Cluster kann für sehr viele Anwendungen benutzt werden.
Man muss den Namen des Init-Skripts in die Datei /etc/ha.d/haresources eintragen.
HTTP Samba FTP NFS Datenbanken (mySQL, Oracle) LDAP
01.10.04 [email protected] 17Linux-HA-Cluster
Persönliches Fazit
Einfache Konfiguration
Einbinden von Diensten durch Skripte sehr einfach
Ab der Version 0.7 von DRBD wurde die
Konfiguration nochmals vereinfacht
Einfache PC-Hardware statt teure Server-Hardware
Keine SCSI- oder FC-Komponenten notwendig
Einfache Verkabelung