Red Hat Cluster Suite: Konfiguration und Management eines Cluster | ||
---|---|---|
Zurück | Kapitel 4. Datenbank-Services | Nach vorne |
Ein Datenbank Service kann hochverfügbare Daten zu einer Datenbank-Applikation liefern. Die Applikation kann dann Netzwerk-Zugriff zu Datenbank Client Systemen, wie Web-Servern, bereitstellen. Sollte ein Failover des Service auftreten, wird die Applikation auf die gemeinsamen Daten in der Datenbank über ein anderes Cluster System zugreifen. Einer Datenbank, auf welche über ein Netzwerk zugegriffen wird, wird normalerweise eine IP Adresse gegeben, welche zusammen mit dem Service im Failover-Fall umgelagert wird, was einen transparenten Zugriff für Clients darstellt.
Ein Beispiel zur Konfiguration eines MySQL Datenbank-Service ist wie Folgt:
Die MySQL-Server-Pakete sind auf jedem Cluster-System installiert das diesen Service ausführen wird. Die MySQL Datenbank-Verzeichnisse residieren auf einem Dateisystem, das sich auf einer Plattenpartition auf dem gemeinsamen Speicher befindet. Dies erlaubt es auf Daten in der Datenbank von alle Cluster-Systemen aus zuzugreifen. Im Beispiel, ist das Dateisystem als /var/lib/mysql gemountet und dieses verwendet die gemeinsame Plattenpartition /dev/sda1.
Eine IP-Adresse ist mit dem MySQL Service assoziiert, um Netzwerk-Zugriff durch Clients des Datenbank-Service zu ermöglichen. Diese IP-Adresse wird in einem Failover-Fall automatisch an das übernehmende Cluster-Member übergeben. Im Beispiel weiter unten, ist diese IP Adresse 10.1.16.12.
Das Skript, das zum Starten und Beenden der MySQL Datenbank verwendet wird, ist das Standard-init-Skript mysqld. Wenn allgemeines Logging von Verbindungen und Anfragen erforderlich ist, bearbeiten Sie das mysqld-Skript und fügen Sie die Option --log=/var/log/mysqld.log als letzte Option der safe_mysqld-Anweisung hinzu. Die Zeile sollte ähnlich der Folgenden sein (Anmerkung: der doppelte Slash (\) steht für die Fortsetzung einer Zeile):
/usr/bin/safe_mysqld --defaults-file=/etc/my.cnf --log=/var/log/mysqld.log \ >/dev/null 2>&1 & |
Wenn die Option --log zum mysqld-Skript hinzugefügt wird, sollte das neue mysqld-Skript auf die anderen Cluster-Member, sofern diese den MySQL-Service ausführen, kopiert werden, so dass diese Verbindungen und Anfragen protokollieren können, sollte der MySQL-Service im Falle eine Failover auf diese umgelagert werden.
Eine Client-Verbindung zu einem MySQL-Server wird nach einer Zeitspanne von acht Stunden Inaktivität automatisch getrennt. Dies ist die Vorgabe. Diese Zeitspanne kann durch Setzen der Variablen wait_timeout in der Datei /etc/my.cnf geändert werden. Um diese Zeitspanne, zum Beispiel, auf vier Stunden zu setzen, fügen Sie folgende Zeile zum Abschnitt [mysqld] in der Datei /etc/my.cnf hinzu:
set-variable = wait_timeout=14400 |
Starten Sie den MySQL-Service neu. Beachten Sie, dass nachdem die Änderungen getätigt wurden, die Datei /etc/my.cnf auf die anderen Cluster-Member, sofern diese den MySQL-Service ausführen, kopiert werden.
Um zu Überprüfen, ob die Verbindung zu einem MySQL-Server noch steht, rufen Sie den Befehl mysqladmin auf und untersuchen Sie den Eintrag uptime. Sollte die Verbindung nicht mehr stehen, führen Sie die Abfrage erneut aus, um die Verbindung automatisch wieder herzustellen.
Je nach Linux Distribution, eine der folgenden Messages könnte anzeigen, dass eine Verbindung zu einem MySQL-Server verloren wurde:
CR_SERVER_GONE_ERROR CR_SERVER_LOST |
Um einen MySQL-Service mit Cluster Configuration Tool hinzuzufügen, führen Sie Folgendes aus:
Starten Sie Cluster Configuration Tool indem Sie im Main Menu => System Settings => Server Settings => Cluster wählen, oder durch eingeben von redhat-config-cluster am Shell-Prompt. Cluster Status Tool erscheint als Standard.
Starten Sie Cluster Configuration Tool indem Sie Cluster => Configure aus den Cluster Status Tool Menüs wählen.
Klicken Sie die Services-Tab.
Fügen Sie den MySQL-Service hinzu.
Klicken Sie New. Der Service-Dialog erscheint.
Geben Sie einen Service Name für den MySQL-Service ein.
Wählen Sie eine Failover Domain oder lassen Sie die Einstellung None.
Geben Sie eine Anzahl von Sekunden im Feld Intervall prüfen ein, wenn Sie die Betriebsbereitschaft des MySQL-Service durch die status-Anweisung im mysqld-init-Skript prüfen wollen.
Geben Sie ein Benutzer-Skript ein, wie /etc/init.d/mysqld.
Klicken Sie OK.
Fügen Sie eine IP-Adresse für den MySQL-Service hinzu.
Wählen Sie den MySQL-Service und klicken Child hinzufügen.
Wählen Sie Add Service IP Address und klicken OK. Der Service IP Address-Dialog erscheint.
Geben Sie eine IP Address an.
Geben Sie eine Netmask, oder lassen Sie None stehen.
Geben Sie eine Broadcast Address, oder lassen Sie None stehen.
Klicken Sie OK.
Fügen Sie ein Gerät für den MySQL-Service hinzu.
Wählen Sie den MySQL-Service und klicken Child hinzufügen.
Wählen Sie Add Device und klicken OK. Der Device-Dialog erscheint.
Geben Sie die Gerätedatei (z.B. /dev/sdc3) ein.
Im Feld Mount-Punkt, geben Sie /var/lib/mysql ein.
Wählen Sie den Typ von Dateisystem im Feld FS Type oder lassen Sie diese Einstellung leer.
Geben Sie jegliche Mountpunkt-Optionen ein, einschließlich rw (read-write, Lese- und Schreibzugriff).
Selektieren oder Deselektieren Sie Unmount erzwingen.
Klicken Sie OK.
Wählen Sie Datei => Speichern, um den MySQL-Service zu speichern.
Zurück | Zum Anfang | Nach vorne |
Tuning von Oracle-Services | Nach oben | Network File Sharing Services |