HowtoForge Linux Anleitungen

Aufsetzen eines hochverfügbaren Load Balancers (mit Failover und Session Support) mit HAProxy/Heartbeat auf Fedora 8

Diese Anleitung erklärt, wie man einen Load Balancer (bestehend aus zwei Systemen) in einer aktiven/passiven Konfiguration mit HAProxy und heartbeat auf Fedora 8 aufsetzt. Der Load Balancer sitzt zwischen dem Benutzer und zwei (oder mehreren) Apache Web Servern, die den gleichen Inhalt aufweisen. Der Load Balancer verteilt die Anfragen an die Web Server und überprüft ihren Zustand. Wenn einer von ihnen ausfällt, werden alle Anfragen automatisch zum verbleibenden Web Server(n) umgeleitet. Zusätzlich überwachen die beiden Load Balancer-Systeme sich gegenseitig unter Verwendung von heartbeat. Wenn der Master ausfällt, wird der Slave zum Master, was bedeutet, dass dass der Benutzer keinerlei Störungen des Dienstes bemerken wird. HAProxy unterstützt Sessions, das heißt, Du kannst es mit jedem Web Programm verwenden, das Sessions in Anspruch nimmt (wie zum Beispiel Foren, Warenkörbe etc.).

Wie man ein hochverfügbares Apache Cluster (inkl. Loadbalancer) aufsetzt

Diese Anleitung veranschaulicht, wie man ein Apache Web Server Cluster, bestehend aus zwei Systemen aufsetzt, das hochverfügbar ist. Vor dem Apache Cluster erstellen wir einen Load Balancer, der eingehende Anfragen auf die beiden Apache Systeme aufteilt. Da wir nicht wollen, dass der Load Balancer ein weiterer „Single Point Of Failure“ wird, müssen wir auch für den Load Balancer eine Hochverfügbarkeit bereitstellen. Daher wird unser Load Balancer tatsächlich aus zwei Load Balancer Systemen bestehen, die sich gegenseitig mittels heartbeat überwachen. Wenn ein Load Balancer ausfällt, übernimmt der anders stillschweigend.

Festplatten-basierte Backups mit Amanda auf Debian Etch

Diese Anleitung veranschaulicht, wie man Amanda (The Advanced Maryland Automatic Network Disk Archiver) auf Debian Etch einrichtet. Für diese Anleitung habe ich Ubuntu v7.04 als Backup-Client gewählt. Das daraus resultierende System bietet ein flexibles Backup-System mit vielen Funktionen. Es kann mehrere Hosts via Netzwerk auf verschiedene Geräte sichern. Ich habe für diese Anleitung das Festplatten-basierte Backup gewählt.

Apache: Erstellen eines Session-kompatiblen Loadbalancers unter Verwendung von mod_proxy_balancer (Debian Etch)

Seit Apache Version 2.1 ist ein neus Modul namens mod_proxy_balancer verfügbar, mit dem Du ein System, auf dem Apache installiert ist, in einen Loadbalancer umwandeln kannst. Dieser Loadbalancer ruft angeforderte Seiten von einem oder mehreren backend Web Servern auf und sendet sie an den Computer des Benutzers. Benutzer gewinnen den Eindruck, dass sie sich nur mit einem Server (dem Loadbalancer) beschäftigen, obwohl hinter dem Loadbalancer eigentlich mehrere Systeme stehen, die die Anfragen des Benutzers ausführen. Mit einem Loadbalancer kannst Du die durchschnittliche Auslastung auf Deinen Web Servern verringern. Eine wichtige Funktion von mod_proxy_balancer ist, dass es Sessions verfolgen kann, was bedeutet, dass es ein Benutzer immer mit dem gleichen backend Web Server zu tun hat. Die meisten Webseiten sind heutzutage Datenbank-basiert mit Benutzer Logins etc. Man würde komische Ergebnisse erhalten, wenn sich ein Benutzer auf einem backend Web Server anmeldet und seine nächste Anfrage dann zu einem anderen backend Web Server gesendet wird, was bedeutet, dass er wieder abgemeldet wird. Das kannst Du mit mod_proxy_balancer verhindern.

Konvertieren von physischen Windows Systemen in virtuelle Maschinen damit sie auf einem Linux Desktop ausgeführt werden können

Diese Anleitung veranschaulicht, wie man ein physisches Windows System (XP, 2003, 2000, NT4 SP4+) mit dem kostenlosen VMware Converter Starter in eine VMware virtuelle Maschine umwandeln kann. Die daraus resultierende virtuelle Maschine kann im kostenlosen VMware Player und VMware Server sowie auf VMware Workstations und anderen VMware Produkten ausgeführt werden. Der Vmware Converter ist hilfreich, wenn Du zum Linux Desktop wechseln möchtest, Deinen alten Windows Desktop aber trotzdem von Zeit zu Zeit ausführen möchtest. Indem Du Deinen Windows Desktop in eine virtuelle Maschien umwandelst, kannst Du ihn auf Deinem Linux Desktop unter VMware Server/Player, etc. ausführen.

Virtuelles Hosting mit Proftpd und MySQL (inkl. Quota) auf Debian Etch

Diese Anleitung veranschaulicht, wie man einen Proftpd Server installiert, der virtuelle Benutzer einer MySQL Datenbank verwendet anstelle von wirklichen Benutzern. Dies ist um einiges leistungsfähiger und ermöglicht es, Tausende von ftp Benutzern auf nur einer Maschine zu haben. Weiterhin werde ich die Anwendung von Quota in diesem Setup beschreiben.

Wie man ein Load-Balanced MySQL Cluster einrichtet

Diese Anleitung veranschaulicht, wie man ein MySQL 5 Cluster mit drei Systemen konfiguriert: zwei Speicher-Systeme und ein Management-System. Die Lastverteilung dieses Clusters wird von einem hoch-verfügbaren Load Balancer übernommen, der tatsächlich zwei Systeme hat, die das Ultra Monkey Paket verwenden, welches heartbeat (um zu überprüfen, ob das andere System noch funktionstüchtig ist) und ldirectord (um die Anfragen an die Systeme des MySQL Clusters aufzusplitten) bereitstellt.

Wie man eine MySQL Replikation repariert

Wenn Du eine MySQL Replikation eingerichtet hast, kennst Du vielleicht folgendes Problem: Manchmal kommt es zu ungültigen MySQL Abfragen, die dafür sorgen, dass die Replikation nicht mehr funktioniert. In dieser Kurzanleitung werde ich zeigen, wie Du die Replikation auf dem MySQL Slave reparieren kannst, ohne sie von Neuem aufsetzen zu müssen.

Python in Apache2 mit mod_python (Debian Etch) einbetten

Die folgende Anleitung zeigt, wie man mod_python auf einem Debian Etch Server mit Apache2 installiert und nutzt. mod_python ist ein Apache Modul, das den Python Interpreter auf dem Server einbettet. Dieses Modul ermöglicht es, webbasierte Applikationen in Python zu schreiben, die wesentlich schneller als das bekannte CGI ablaufen. Dazu kommen fortgeschrittene Features wie beispielsweise persistente Datenbankverbindungen, die Speicherung von Daten zwischen Seitenaufrufen und der Zugriff auf interne Apache-Funktionen.