Open Source im professionellen Einsatz

Der Werkzeugkasten

Zu dem Daemon »ctdbd« liefert das CTDB-Paket noch zwei nützliche Programme: »ctdb« und »onnode«. Das Tool »ctdb« ist das Client-Interface, um den CTDB-Cluster zu verwalten. Das meistgenutzte Kommando ist sicher »ctdb status«, das den allgemeinen Status des Clusters ausgibt (Abbildung 3). Das Kommando »ctdb ip« zeigt ferner die Verteilung der öffentlichen Adressen auf die Knoten (Abbildung 4). Mit »ctdb« kann der Admin Aktionen im Cluster auslösen, etwa einzelne Knoten ab- oder anschalten, öffentliche IPs hinzufügen oder entfernen, eine Recovery erzwingen sowie umfangreiches Finetuning vornehmen. Information dazu gibt die Manpage, die unter [26] online einzusehen ist.

Als sehr segensreiches Tool erweist sich das Skript »onnode«, das Kommandos auf einem oder mehreren Knoten ausführt:

onnode Knoten[,Knoten...] Kommando

Es informiert sich über die Knoten in der Datei »/etc/ctdb/nodes«. Das Ziel können ein oder mehrere Knotennummern oder ein Nummernbereich sein. Außerdem gibt es symbolische Namen für alle Knoten (»all«), die verbundenen Knoten (»con«), alle gesunden Knoten (»ok«) und den Recovery Master (»rm«). Die Verbindungen zu den Knoten baut »onnode« per SSH auf, sodass es praktisch ist, wenn für das interne CTDB-Netz passwortloses SSH-Login gilt.

Mittels »onnode« rollt der Admin kinderleicht etwa Dienste-Konfigurationsdateien auf die Knoten aus oder installiert überall die gleichen Softwarepakete, wenn er die entsprechenden Daten zuvor in das Cluster-Dateisystem gelegt hat:

onnode all cp /shared/smb.conf /etc/samba/smb.conf 

Da Onnode nur die »nodes«-Datei benötigt, kann man es auch benutzen, um »ctdbd« auf allen oder ausgewählten Knoten zu starten:

onnode 0,2-5 service ctdb start

Für weitere Details sei wieder auf die Manpage [27] verwiesen.

Abbildung 3: Das gern benutzte Kommando »ctdb status« informiert über den Clusterstatus.

Abbildung 3: Das gern benutzte Kommando »ctdb status« informiert über den Clusterstatus.

Abbildung 4: Mit »ctdb ip« informiert sich der Admin, wie sich die öffentlichen IP-Adressen auf die Knoten verteilen.

Abbildung 4: Mit »ctdb ip« informiert sich der Admin, wie sich die öffentlichen IP-Adressen auf die Knoten verteilen.

CTDB als Manager

Ursächlich entwickelt, um Samba zu clustern, hat sich CTDB heute zu einer HA-Lösung für eine ganze Reihe von Diensten gemausert, beispielsweise NFS, den FTP-Daemon »vsftpd« und Apache. CTDB verwaltet diese Dienste, indem es die Programme startet, stoppt und zur Laufzeit überwacht. Außerdem führt CTDB geeignete Aktionen beim Schwenken von IP-Adressen durch.

Ob CTDB einen Dienst in dieser Art verwaltet, legen die Konfigurationsparameter »CTDB_MANAGES_Dienst« in der Datei »/etc/sysconfig/ctdb« fest, die die Werte »yes« oder »no« annehmen können. Bisher gibt es:

  • »CTDB_MANAGES_SAMBA«
  • »CTDB_MANAGES_WINBIND«
  • »CTDB_NAMAGES_NFS«
  • »CTDB_MANAGES_VSFTPD«
  • »CTDB_MANAGES_HTTPD«

Die Startskripte der CTDB-verwalteten Dienste sollte der Admin aus den Runlevels entfernen, also zum Beispiel mit »chkconfig -s smb off«. »CTDB_MANAGES_SAMBA« hat übrigens nichts mit der clusterweiten Verhandlung der TDB-Dateien zu tun. Die erledigt CTDB unabhängig von der Diensteverwaltung. Die eigentliche Überwachung der Dienste führen Eventskripte unter »/etc/ctdb/events.d/« durch, die der CTDB-Daemon aufruft. Einen neuen Dienst in die Verwaltungsobhut von CTDB zu bringen bedeutet also normalerweise "nur", ein Eventskript schreiben zu müssen.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 8 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook