
Sie überlegen, DRBD oder ein Cluster-Dateisystem zu verwenden, um die Betriebszeit bei Ausfallzeiten in einer kleinen Geschäftsumgebung zu verbessern.
Wir verwenden derzeit eine Serverbox als Dateiserver mit Linux und Samba und führen dann den Webserver und die Datenbank in einer VM aus. Wir haben uns überlegt, einen zweiten Server hinzuzufügen und die Dateien und die VM auf das verteilte Dateisystem zu stellen. Das Basisbetriebssystem ist statischer und kann einfacher manuell verwaltet werden (Konfigurationsdateien bei Änderung kopieren, Basisbetriebssystem bei Bedarf aus vollständigen Backups kopieren usw.).
Die Frage betrifft das Failover-Szenario, wenn es manuell durchgeführt wird. Wenn Server 1 ausfällt und das Failover manuell durchgeführt wird, wird das Failover dann abgeschlossen, indem einfach die statische IP von Server 2 auf Server 1 gesetzt wird (Server 1 ist wieder ausgefallen und müsste repariert werden), Samba gestartet wird und die VM gestartet wird, die dieselben statischen IPs hätte wie beim Ausführen auf Server 1, und die Backup-Dienste gestartet werden?
Das klingt nach einem schnellen und einfachen Prozess, fast zu einfach. Übersehe ich etwas? Dies könnte auch leicht automatisiert werden, durch ein Skript oder etwas, das jemand mit wenig Erfahrung im Fehlerfall ausführen kann.
Bei einem Hardwarefehler könnte die Ausfallzeit ohne die Unterstützung des IT-Bereitschaftssupports und der benötigten Teile und ohne einen zweiten Server leicht mehrere Tage betragen. Mit dem zweiten Server würde die Ausfallzeit jedoch höchstens einige Stunden betragen (wenn niemand im Büro über die erforderlichen Kenntnisse verfügt, um solche Vorgänge auszuführen, und Minuten, wenn jemand über die erforderlichen Kenntnisse verfügt).
Antwort1
Der von Ihnen beschriebene Failover-Prozess ist ebenso einfach wie korrekt. Die Verwendung von DRBD ist der wichtigste Schritt zur Schaffung von Redundanz, da Sie einen einzelnen Ausfallpunkt wie einen gemeinsam genutzten Speicher eliminieren.
Das aktuelle Failover, das Sie erwähnt haben, kann leicht automatisiert werden durchHerzschrittmacher/Corosyncsodass kein manueller Eingriff erforderlich ist. Ich würde dies selbst geschriebenen Skripten vorziehen, da es sich auch um die Eingrenzung nicht funktionsfähiger Knoten kümmert, sodass Sie nicht in ein Split-Brain-Szenario geraten (das alle Ihre Daten durcheinander bringen könnte).
Bedenken Sie, dass „echte“ HA eine vollständige (oder zumindest maximal archivierbare) Trennung der Systeme erfordert (separater Raum (oder zumindest Rack), unterschiedliche USV, redundante Schaltung usw.). Einzelne Ausfallpunkte machen in der Regel Ihre gesamten Bemühungen zur Optimierung der Verfügbarkeit zunichte.