Einrichten eines hochverfügbaren Apache-Web-Server mit Red Hat Enterprise Linux

Sie benötigen einen hochverfügbaren Apache Web Server? Wir zeigen Ihnen, wie Sie mit Red Hat Enterprise Linux in sechs Schritten zum Ziel gelangen.

Nach dem Aufsetzen eines Clusters mithilfe des Red Hat Enterprise Linux (RHEL) High Availability Add-Ons, die Integrität...

des Clusters wird dabei durch Quorums und Fencing sichergestellt, soll dieser Cluster natürlich auch in Produktionsumgebungen migriert  und mit zusätzlichen, hochverfügbaren Services ausgestattet werden.

Zur Gewährleistung der Hochverfügbarkeit sollten Sie unterstützte Services wählen, die ein Skript für eine Zusammenarbeit mit dem Cluster zur Verfügung stellen. Das RHEL High Availability Add-On unterstützt dabei diverse Dienste, beispielsweise einen Apache Web Server. Normalerweise deckt die Hochverfügbarkeit den Service selbst sowie eine IP-Adresse und den Speicherort für die Konfiguration und Dateien des Services ab. Das Ziel ist der Aufbau einer Umgebung, in der der Apache Web Server dauerhaft und ohne Unterbrechung läuft.

Um einen Service im Cluster zu definieren, müssen zwingend alle benötigten Teile von diesem Cluster verwaltet werden. Sollte der Apache Web Server plötzlich einen Failover vollziehen, dann muss der Web Server trotzdem erreichbar sein, unabhängig davon, wo er gehostet wird. Sie benötigen also eine einzigartige und aktive IP-Adresse für den Apache Web Server, der im Falle eines Failover einspringt.

Der Web Server braucht außerdem Zugriff auf das Basis-Verzeichnis der Dokumente (Root-Verzeichnis), das alle Dateien beinhaltet, die der Web Server ausliefert. Diese Daten müssen immer verfügbar sein, egal auf welchem Node der Web Server läuft. Deswegen benutzen Sie an dieser Stelle idealerweise ein gemeinsam genutztes Laufwerk, das in den Node eingebunden ist, der den Web Server unterhält. Jetzt können Sie den Web Server starten.

Konfigurieren der Services eines Red Hat Clusters

Es macht durchaus einen Unterschied, ob man einen Service für einen High-Availability-Cluster konfiguriert oder einen Standalone-Dienst aufsetzt. Zum Beispiel braucht der Service Zugriff auf eine Konfigurations-Datei, die auf allen relevanten Nodes gleich sein muss. Diese sollte deshalb auf gemeinsam genutztem Storage liegen, alternativ kann die Konfigurations-Datei auch mit einem Programm wie rsync synchronisiert werden.

Red Hat stellt im Verzeichnis /usr/share/cluster diverse Skripte zur Verfügung, um Services in einem RHEL-Cluster zu konfigurieren. Services mit einem Cluster-Skript tauchen als Ressourcen in der Web-basierten Management-Schnittstelle auf. Was nicht per Standard verfügbar ist, können Sie zusätzlich über das Skript/usr/share/cluster/script.sh adressieren. Dieses allgemeine Skript können Sie zudem modifizieren, um damit jeden beliebigen Service im Cluster laufen zu lassen.

Um einen Service für Apache Web Server im Cluster zu erzeugen, müssen Sie die Ressourcen für die einzelnen Teile des Dienstes hinzufügen: Die IP-Adresse, das gemeinsam genutzte Dateisystem sowie den Cluster Service.

Sobald dies erledigt ist und die Ressourcen bereitstehen, können Sie den Service im Cluster starten. Um ein ext4-Dateisystem mit dem Namen „ApacheFS“ auf dem Shared Storage zu erschaffen, folgen Sie einfach den anschließenden sechs Schritten.

Abbildung 1: Fügen Sie die geclusterte IP-Adresse mit einem einzigartigen Ressourcen-Namen hinzu.

1. Öffnen Sie das Web-basierte Cluster-Management-Interface (https://ihr.management.service:8043), wählen Sie Resources aus und klicken Sie auf Add. Wählen Sie anschließend aus der Resource-Type-Dropdown-Liste IP Address. Sie benutzen diese Ressource, um eine einzigartige IP-Adresse hinzuzufügen. Aus diesem Grund müssen Sie sicherstellen, dass diese IP-Adresse nicht bereits im Netzwerk vorhanden ist und genutzt wird. Sobald dies gewährleistet ist, geben Sie die IP-Adresse in das entsprechende Fenster ein. Hinterlegen Sie ebenfalls die Bit-Nummer für die verwendete Netzwerk-Maske und klicken Sie danach auf Submit, um die Informationen im Cluster zu speichern.

2. Klicken Sie in der Web-Management-Schnittstelle auf Resources → Add. Danach wählen Sie aus der Dropdown-Liste Filesystem aus.

Abbildung 2: Fügen Sie ein gemeinsam genutztes Dateisystem hinzu, nachdem die Ressource identifiziert ist.

Zunächst braucht die Ressource einen Namen. In unserem Fall ist das „ApacheFS“. Somit ist es einfacher, diese im Cluster zu identifizieren. Lassen Sie Filesystem Type auf Autodetect stehen und setzen Sie den Mount Point auf /var/www/html. Das ist der Standard-Ort des Apache Document Root. Spezifizieren Sie im Anschluss den Geräte-Namen, FS Label (Dateisystem-Beschriftung) oder einen Universally Unique Identifier (UUID). Der Name des Geräts kann sich ändern, benutzen Sie aus diesem Grund lieber etwas mit mehr Bestand, wie in diesem Fall das FS Label „ApacheFS“.

Geben Sie diese Bezeichnung im Feld Device, FS Label or UUID ein, alles Weitere ist optional. Sie sollten dennoch die Option Reboot host if Unmount fails verwenden, damit stellen Sie sicher, dass das Dateisystem immer verfügbar ist. Nachdem Sie alle Parameter hinterlegt haben, klicken Sie auf Submit und schreiben die Konfiguration damit auf den Cluster. Nun können Sie eine Ressource für den Apache Web Server kreieren.

Abbildung 3: Um die Ressource Apache einer Service-Gruppe hinzuzufügen, verwenden Sie diesen Dialog.

3. Im Management-Interface wählen Sie nun Resources und klicken danach auf Add. Als nächstes wählen Sie den Ressourcen-Typ Apache. Im Anschluss vergeben Sie einen einzigartigen Namen. Für ein Standard-Setup funktionieren die bereits hinterlegten Parameter für Server Root und Config File.

Der Cluster verwendet nun die Parameter, die in der Regel in einer Apache-Konfiguration hinterlegt sind. Somit sollte es einfacher sein, einen alternativen Ort für die Apache-Konfiguration zu finden, beispielsweise ein gemeinsam genutztes Laufwerk im Cluster. Nachdem Sie Ihre Einstellungen überprüft haben, klicken Sie auf Submit. An diesem Punkt haben Sie alle notwendigen Ressourcen erstellt. Nun fügen wir diese Ressourcen einer Service-Gruppe hinzu.

4. Klicken Sie im Conga-Management-Interface auf Service Group → Add, um dem Cluster eine neue Service-Gruppe zu spendieren, und geben Sie dieser einen Namen. In unserem Fall würde Apache sinnvoll sein. Wählen Sie außerdem die Option für den automatischen Start des Services. Sie brauchen die anderen Gruppen-Parameter nicht ändern, müssen allerdings Ressourcen hinzufügen.

Klicken Sie auf Add Resource und wählen Sie die vorher generierte IP-Adresse aus. Nun ist diese Ressource, inklusive aller Eigenschaften, Teil der Service-Gruppe. Klicken Sie ein weiteres Mal auf Add Resource und geben Sie dort die Ressource File System ein. Möchten Sie eine Beziehung zwischen Ressourcen herstellen, dann benutzen Sie dafür Add Child Resource. Diese Maßnahme bewirkt, dass die Child Resource (Kind) niemals startet, wenn der Parent (Elternteil) nicht verfügbar ist. Im Falle der Apache Service Group ist dies allerdings nicht notwendig.

Fügen Sie die Ressource Apache hinzu und klicken Sie im Anschluss auf Submit. Nun befinden Sie sich wieder in der Maske Service Groups. Dort sehen Sie die Eigenschaften dieser Service-Gruppe. Überprüfen Sie noch einmal, ob die Konfiguration korrekt hinterlegt ist.

Abbildung 4: Testen Sie die Konfiguration des Red-Hat-Clusters und überprüfen Sie, ob alles korrekt funktioniert.

5. Um Ihre Konfiguration zu testen, wählen Sie Service Group und klicken anschließend auf Start. Denken Sie aber daran, dass die im Management-Interface gezeigte Status-Information nicht immer korrekt ist.

6. Benutzen Sie clustat auf beiden Nodes, um Einblicke über den Status des Cluster-Service zu erlangen.

Nun haben Sie einen hochverfügbaren Apache Web Service. Durch äquivalente Prozeduren können Sie so viele High-Availability-Services einrichten, wie Sie wollen.

Über den Autor: Sander van Vugt ist freiberuflicher Trainer und Consultant, der in den Niederlanden ansässig ist. Er ist Experte in den Bereichen Linux High Availability, Virtualisierung und Performance. Sander van Vugt war in mehreren Projekten involviert, die alle drei Bereiche vereinten. Weiterhin ist er der Autor einiger Bücher über Linux. Dazu gehörenBeginning the Linux Command Line,Beginning Ubuntu Server Administration undPro Ubuntu Server Administration.

Artikel wurde zuletzt im März 2014 aktualisiert

Pro+

Premium-Inhalte

Weitere Pro+ Premium-Inhalte und andere Mitglieder-Angebote, finden Sie hier.

Erfahren Sie mehr über Linux-Server

0 Kommentare

Älteste Beiträge 

Passwort vergessen?

Kein Problem! Tragen Sie Ihre E-Mail-Adresse unten ein. Wir werden Ihnen eine E-Mail mit Ihrem Passwort schicken.

Ihr Passwort wurde an die folgende E-Mail-Adresse gesendet::

- GOOGLE-ANZEIGEN

SearchSecurity.de

SearchStorage.de

SearchNetworking.de

SearchEnterpriseSoftware.de

Close