Open Source-Software findet in immer mehr Unternehmen und Behörden ihren Einsatz. Im Juli widmet IT-Administrator daher seinen Heftschwerpunkt der quelloffenen ... (mehr)

Maßnahmen bei Knoten-Ausfall

Wer meint, dass jetzt alles gut ist, der irrt. Denn irgendwas fällt bestimmt irgendwann aus. Deshalb wollen wir in diesem Abschnitt noch das Thema Fehlerbehebung und Ausfall eines Dienstes oder eines gesamten Servers besprechen. Was passiert, wenn einer der beiden Knoten ausfällt? Um das zu simulieren, beenden wir auf einem der beiden Knoten den CTDB-Dienst. Anschließend wiederholen wir auf dem noch laufenden Knoten die Tests aus dem vorherigen Abschnitt. Dabei ist darauf zu achten, dass die Kommandos auf dem richtigen Knoten abgesetzt werden.

Hier ist zu sehen, dass sich der Status des Knotens "samba42-fs1" mit der IP-Adresse 192.168.123.122 auf DISCONNECTED|UNHEALTHY|INACTIVE geändert hat. Beim Überprüfen der IP-Adressen auf dem noch vorhandenen zweiten Knoten stellen wir fest, dass dieser jetzt beide IP-Adressen des Clusters besitzt, wie es das Listing 7 zeigt. Starten wir den Dienst auf dem Knoten wieder, wechselt der Status des Knotens nach kurzer Zeit wieder auf "OK" und eine der IP-Adressen schwenkt zurück.

 Listing 7: Knoten-Status bei einem Ausfall

 root@samba42-fs2:/glusterfs# ip a l eth1
 3: eth1:  mtu 1500 qdisc pfifo_fast state UP qlen 1000 
 link/ether 08:00:27:42:c7:79 brd ff:ff:ff:ff:ff:ff 
 inet 192.168.123.125/24 brd 192.168.123.255 scope global eth1 
 inet 192.168.123.126/24 brd 192.168.123.255 scope global secondary eth1 
 inet6 2003:5c:ad6a:4f88:a00:27ff:fe42:c779/64 scope global dynamic 
 valid_lft 14356sec preferred_lft 1756sec 
 inet6 fe80::a00:27ff:fe42:c779/64 scope link 
 valid_lft forever preferred_lft forever 

Verwaltung der Freigaben

Nachdem wir den Cluster komplett eingerichtet haben, geht es jetzt darum, die Freigaben auf dem Cluster einzurichten. Da über den Cluster auf GlusterFS zugegriffen wird, müssen die Freigaben alle im Clusterdateisystem eingerichtet sein.Für die Verwendung von GlusterFS mit Samba wurde ein eigenes VFS-Modul entwickelt. Dieses Modul können wir bei der Einrichtung von Freigaben nutzen. Dann wird auf den Cluster das Volume ohne einen fuse-mount bereitgestellt. Das bedeutet schnellere Zugriffe und auf die Dauer mehr Funktionen. Da noch nicht alle Distributionen das vfs-Modul mitbringen, beschreiben wir beide Wege.

Unter Debian gibt es ein Problem bei der Verwaltung der Berechtigungen, wenn das Modul "vfs_glusterfs" nicht vorhanden ist. Dann lassen sich keine Rechte setzen, wenn das VFS-Modul "acl_xattr" zum Einsatz kommt. Es gibt für den Fall aber eine Zwischenlösung, und zwar können Sie das VFS-Modul "acl_tdb" verwenden. Dabei werden dann die Berechtigungen in einer tdb-Datenbank abgelegt und nicht im Dateisystem selbst. In größeren Dateisystemen kann das zu Performanceverlusten führen. Aber damit funktioniert die Vergabe der Rechte auch unter Win­dows. Eine Freigabe mit dem Modul "acl_ tdb" klappt mit diesen Einstellungen:

[daten2]
path = /glusterfs/daten1
read only = No
vfs objects = acl_tdb

Wenn CentOS 7 zum Einsatz kommt, lässt sich auf die Freigabe auch zugreifen und die Rechte verwalten, wenn der Cluster über fusemount gemountet wurde:

[daten]
comment = Daten im Cluster
path = /glusterfs/daten/
read only = No
vfs objects = acl_xattr

Die beste Lösung ist das Mounten über das Modul "vfs_glusterfs", denn dann wird direkt auf den Server zugegriffen und wir müssen nicht mehr der Umweg über fusemount gehen. Listing 8 zeigt die dazu nötigen Einträge.

 Listing 8: Mounten mit vfs_glusterfs

 [daten3] 
 comment = daten 3 
guest ok = no 
 read only = no 
 vfs objects = acl_xattr glusterfs 
 glusterfs:volume = gv0 
 glusterfs:logfile = /var/log/samba/glusterfsgv0.log 
 glusterfs:loglevel = 8 
 glusterfs:volfile_server = localhost 
 kernel share modes = no 
 path = /daten3 

Der Parameter "glusterfs:volfile_server = localhost" ist nur dann zu setzen, wenn das Volume nicht auf demselben Server liegt. Der Wert localhost ist der Standardwert. Es ist sehr wichtig, dass Sie bei der Angabe des Pfades immer den Pfad relativ zum Volume angeben, da das Volume nicht mehr über fusemount angesprochen wird. Wenn Sie das Modul "vfs_glusterfs" verwenden, müssen Sie die Datei »/etc/default/ sernet-samba-ctdb« um den Parameter "CTDB_SAMBA_SKIP_SHARE_CHECK=yes" ergänzen.

Jetzt ist es so weit: Wir haben den Cluster mit GlusterFS eingerichtet, CTDB vergibt die IP-Adressen an die Knoten und bietet die Samba-Dienste an und Freigaben auf dem Cluster lassen sich bereitstellen und verwalten. Der Cluster ist damit bereit für den Einsatz.

Ähnliche Artikel

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023