Hot Spare Host gegen Cold Spare Host?

8

Wir haben mehrere Hosts, auf denen wir einen identischen Hot-Spare-Host haben, der gepatcht und aktualisiert wird, sodass es sehr nahe ist, dieselbe Software und Konfiguration zu haben. Im Fehlerfall wird das Netzwerkkabel umgeschaltet und der DHCP-Server mit der neuen MAC-Adresse aktualisiert. Dies ist der beste Fall, da normalerweise etwas mehr geändert werden muss.

Ich halte es für eine Verschwendung von Strom, einen Hot-Spare-Host zu haben, und für Zeitverschwendung, ihn zu warten. Da im Falle eines Failovers Konfigurationsänderungen erforderlich sind, möchte ich Folgendes fragen:

Sind Hot Spare Hosts Old School und es gibt jetzt bessere Möglichkeiten?

Anstatt einen Hot-Spare-Host zu haben, wäre es sinnvoll, ihn zu einem Cold-Spare-Host zu machen, die Festplatten zu nehmen und sie auf den primären Host zu legen und das RAID von 1 auf 1 + 1 zu ändern. Im Falle eines Fehlers müsste ich nur die Netzwerkkabel wechseln, den DHCP-Server aktualisieren, die Festplatten nehmen und in das Ersatzteil einlegen und einschalten. Aus meiner Sicht besteht der Vorteil darin, dass die 2x2-Festplatten immer synchron sind, sodass nur ein Host gewartet werden muss und beim Failover keine Konfigurationsänderungen erforderlich sind.

Ist das eine gute Idee?

Jasmine Lognnes
quelle
1
Sind dies physische "Hosts" mit tatsächlichen Diensten oder VM-Hosts mit einer Gruppe von Gästen?
Nathan C
2
Da VMware FT und Hyper-V Replica als Virtualisierungsoptionen verfügbar sind (sowie einfache alte HA), finde ich die Idee, ein dediziertes Ersatzlaufwerk für einen Host mit einem einzigen Zweck zu haben, etwas unpassend.
Joeqwerty

Antworten:

6

Sobrique erklärt, wie der manuelle Eingriff dazu führt, dass Ihre vorgeschlagene Lösung überoptimal ist , und ewwhite spricht über die Ausfallwahrscheinlichkeit verschiedener Komponenten . Beide IMO machen sehr gute Punkte und sollten stark berücksichtigt werden.

Es gibt jedoch ein Problem, das bisher noch niemand kommentiert zu haben scheint, was mich ein wenig überrascht. Sie schlagen vor:

Machen Sie [den aktuellen Hot-Spare-Host] zu einem Cold-Spare, nehmen Sie die Festplatten, legen Sie sie in den primären Host ein und ändern Sie das RAID von 1 auf 1 + 1.

Dies schützt Sie nicht vor allem, was das Betriebssystem auf der Festplatte tut.

Es schützt Sie nur wirklich vor Festplattenfehlern. Wenn Sie von Spiegeln (RAID 1) zu Spiegeln von Spiegeln (RAID 1 + 1) wechseln, reduzieren Sie zunächst die Auswirkungen erheblich. Sie können das gleiche Ergebnis erzielen, indem Sie die Anzahl der Festplatten in jedem Spiegelsatz erhöhen (z. B. von RAID 1 mit 2 Festplatten auf RAID 1 mit 4 Festplatten) und die Leseleistung während des normalen Betriebs sehr wahrscheinlich verbessern.

Schauen wir uns dann einige Möglichkeiten an, wie dies fehlschlagen könnte .

  • Angenommen, Sie installieren Systemupdates, und der Prozess schlägt auf halbem Weg fehl. Vielleicht liegt ein Strom- und USV-Fehler vor , oder Sie haben einen Freak-Unfall und einen verkrüppelten Kernel-Fehler (Linux ist heutzutage ziemlich zuverlässig, aber es besteht immer noch das Risiko).
  • Möglicherweise führt ein Update zu einem Problem, das Sie beim Testen nicht festgestellt haben (Sie führen Systemaktualisierungen durch, oder?), Das ein Failover auf das sekundäre System erfordert, während Sie das primäre System reparieren
  • Möglicherweise verursacht ein Fehler im Dateisystemcode falsche, ungültige Schreibvorgänge auf die Festplatte.
  • Vielleicht tut es ein fetter (oder sogar böswilliger) Administrator rm -rf ../*oder rm -rf /*stattdessen rm -rf ./*.
  • Möglicherweise führt ein Fehler in Ihrer eigenen Software dazu, dass der Datenbankinhalt massiv beschädigt wird.
  • Vielleicht schafft es ein Virus, sich einzuschleichen.

Vielleicht, vielleicht, vielleicht ... (und ich bin sicher, es gibt noch viele weitere Möglichkeiten, wie Ihr vorgeschlagener Ansatz scheitern könnte.) Am Ende läuft dies jedoch darauf hinaus, dass "die beiden Sätze immer synchron sind" "Vorteil". Manchmal möchten Sie nicht, dass sie perfekt synchron sind.

Je nachdem, was genau passiert ist, möchten Sie entweder einen heißen oder einen kalten Standby-Modus, der ein- und ausgeschaltet werden kann, oder geeignete Sicherungen. In beiden Fällen helfen Ihnen RAID-Spiegel von Spiegeln (oder RAID-Spiegeln) nicht, wenn der Fehlermodus neben dem Ausfall des Hardwarespeichergeräts (Festplattenabsturz) noch viel mehr beinhaltet. So etwas wie ZFS 'raidzN kann in mancher Hinsicht wahrscheinlich etwas besser abschneiden, in anderen jedoch überhaupt nicht.

Für mich würde dies Ihren vorgeschlagenen Ansatz von Anfang an zum No-Go machen, wenn die Absicht eine Art Katastrophen-Failover ist.

ein CVn
quelle
Dafür sind Backups und Konfigurationsmanagement gedacht, nein?
ewwhite
@ewwhite Absolut, aber es sollte viel einfacher sein, bei Bedarf auf einen sekundären Host umzuschalten, der bereits eine (vermutlich als gut bekannte) Konfiguration (Software und Einstellungen) aufweist, als einen RAID-Spiegel zu zerbrechen, die Festplatten physisch zu verschieben und eine zu erstellen Notwendige Konfigurationsänderungen (Netzwerkverkabelung, DNS, IP-Einstellungen, ...) und müssen dann alle Fehler beheben, die erforderlich sind, sodass Sie zuerst umschalten müssen, bevor Ihr Standby-Host Ihnen überhaupt etwas nützt. An diesem Punkt können Sie es genauso gut reparieren. (Oder insbesondere, wenn Sie in der Lage sind, VMs auszuführen, kehren Sie zu einem relevanten Snapshot zurück.)
Ein CVn
Oh, auf jeden Fall. Wenn ich Replikationslösungen habe, gibt es auch eine RPO / RTO-Überlegung und einen Offset (10-15 Minuten), um die oben genannten Szenarien abzudecken.
ewwhite
@ewwhite Ich argumentiere nicht mit Ihrem Standpunkt (und habe Ihre Antwort tatsächlich positiv bewertet), sondern füge nur einen anderen Weg hinzu, auf dem niemand erwähnt hat, wie die vom OP vorgeschlagene Lösung nicht das wahrscheinlichste gewünschte Ergebnis erzielen könnte (würde), nämlich die Fehlerbehebung. War tatsächlich überrascht, dass meine Antwort akzeptiert wurde.
Ein Lebenslauf
5
Sandra arbeitet auf mysteriöse Weise ...
ewwhite
11

Ja, es ist ein bisschen altmodisch. Moderne Hardware fällt nicht nur so oft aus. Konzentrieren Sie sich entweder darauf, Ihre Anwendungen besser verfügbar zu machen (nicht immer möglich), oder auf die Elemente, die erforderlich sind, um Ihre einzelnen Hosts widerstandsfähiger zu machen ...

Für Gastgeber:

  • Kaufen Sie bessere Hardware.
  • Stellen Sie sicher, dass Sie Supportverträge haben.
  • Registrieren Sie die Supportverträge Ihrer Server (Ersatzteile werden basierend auf den Registrierungsdaten lokal gelagert!)
  • Verwenden Sie redundante Netzteile, (Hardware?) RAID und redundante Lüfter.
  • Wenn der Server die oben genannten redundanten Funktionen nicht unterstützen kann, halten Sie ein Ersatzgehäuse oder Komponenten bereit, um sich im Fehlerfall selbst reparieren zu können.

In der Reihenfolge der abnehmenden Fehlerhäufigkeit sehe ich: Festplatten, RAM, Netzteile, Lüfter am häufigsten ... Manchmal Systemplatine oder CPU. Aber in den letzten beiden Fällen sollte Ihr Supportvertrag beginnen.

ewwhite
quelle
Bewegliche Teile sterben zuerst ab - zum Glück werden RAID-Datenträger entfernt, sonst wären sie mein häufigster Fehler.
Sobrique
2
+1 nur für "Registrieren Sie die Supportverträge Ihrer Server". Selbst nach meiner begrenzten Erfahrung ist es üblicher, als Sie denken, dass ich den Support während einer SHTF-Situation an einem neuen Standort anrufe und der Support keine Ahnung hat, dass die bestimmte Hardware vorhanden ist und mit einem Vertrag verbunden ist.
Die fraglichen Server sind alle IBM und jetzt wahrscheinlich 5 Jahre alt. Bisher hatten wir nur ein Mainboard und einen CPU-Fehler.
Jasmine Lognnes
1
IBM und HP sind solide. Dell manchmal. Wenn Supermicro, würde ich empfehlen, ZWEI Ersatzteile pro Server zu behalten ;)
ewwhite
1
Auf meinen HP Servern werden die frühen ECC-Schwellenwerte überschritten und lösen eine Warnung aus . Der RAM wird normalerweise ersetzt, bevor sich dies auf Anwendungen auswirkt. Ich sehe es ungefähr 10 Mal im Jahr auf einigen hundert Servern.
ewwhite
9

Es ist ziemlich ineffizient - nicht zuletzt wegen der Abhängigkeit von manuellen Eingriffen, um den Wechsel vorzunehmen.

Ich habe an Orten gearbeitet, an denen eine Hot-DR-Site betrieben wird - buchstäblich identische Server wie die primären, die sofort einsatzbereit sind. Die DR-Umschaltung ist jedoch ein automatisierter Prozess - es handelt sich nicht um Verkabelung, ein bisschen Fummeln und einen Wechsel, sondern um einen Vorgang, bei dem durch Drücken der Taste alles von einem Standort zum anderen gespiegelt wird.

Dieser Ansatz ist widerlich teuer, aber das ist eine Geschäftsentscheidung - akzeptables Risiko im Vergleich zu dem Geld, das zur Erreichung des Ziels benötigt wird. In der Regel gibt es eine exponentielle Kurve für das Ziel der Wiederherstellungszeit - je näher es Null kommt, desto mehr kostet es.

Aber darum geht es in Ihrer Frage wirklich. Was ist Ihr Ziel für die Erholungszeit und wie können Sie es am effektivsten erreichen ? Das Warten auf den Start eines Servers dauert einige Minuten. Wie lange braucht jemand, um die Anpassungs- und Wiederherstellungsaufgaben zu erledigen, wenn es um 4 Uhr morgens losgeht?

Und wie lange dauert ein akzeptabler Ausfall?

Ich würde vorschlagen, dass Sie, wenn Sie "Hot Recovery" durchführen, an Clustering denken möchten. Mit einer guten Verwendung von VMWare können Sie beim Clustering relativ günstig sein. Ein Failover auf eine VM - auch von einer physischen - bedeutet, dass Sie keine redundante Hardware ausführen. (Nun, N + 1 statt 2N).

Wenn Ihre RTO lang genug ist, schalten Sie die Box aus. Möglicherweise ist die RTO ausreichend, damit eine Kaltwiederherstellung aus dem Backup in Ordnung ist.

Sobrique
quelle
2
+1 nur für die Erholungszeitkurve; Ich sage Kunden immer, dass sie 99% Verfügbarkeit für die Kosten des Kits und der Einrichtung erhalten, aber jede zusätzliche 9, die sie benötigen, erhöht die Kosten um das Zwei- bis Zehnfache.
MadHatter
Ausfallzeiten während der Nacht sind nicht gut, aber akzeptiert kaufen den CEO. Während der Arbeitszeit sind 30 Minuten wahrscheinlich alle 6 Monate in Ordnung. Ein Ausfall auf eine VM ist eine interessante Idee. Kann man das mit KVM machen? Muss ich die VM weiterhin mit Patches und Konfigurationsänderungen warten oder kann dies automatisiert werden?
Jasmine Lognnes
VM ist eine virtuelle Maschine, die nichts mit einer KVM zu tun hat. (Tastatur / Video / Maus). Und ja, Sie müssen die Betriebssysteminstanz auf dem neuesten Stand halten und überprüfen, ob alles normal funktioniert. Sie sollten jedoch in der Lage sein, denselben Aktualisierungsmechanismus wie auf dem primären Gerät zu verwenden.
Sobrique
Obwohl im Ernst - wie oft ist Ihr Server umgefallen? Ich meine komplett, aus Gründen der Hardware? Die meisten Hardware-Komponenten mit Serverqualität weisen eine N + 1-Ausfallsicherheit auf.
Sobrique
3
@sobrique in diesem Zusammenhang steht KVM wahrscheinlich für kernelbasierte
Grant
5

Die Tatsache, dass es sich um eine alte Schule handelt, macht die Verwendung eines Hotspare nicht unbedingt zu einer schlechten Idee.

Ihr Hauptanliegen sollte die Begründung sein, welche Risiken Sie eingehen und wie sie durch das Ausführen eines Hot Spare gemindert werden. Denn meiner Meinung nach behebt Ihr Hotspare nur Hardwarefehler, was zwar nicht ungewöhnlich ist, aber weder das einzige Betriebsrisiko, das Sie eingehen, noch das wahrscheinlichste. Das zweite Problem ist, ob alternative Strategien eine stärkere Risikominderung oder erhebliche Einsparungen bewirken.

Das Ausführen eines Ersatzlaufwerks mit mehreren manuellen Failover-Schritten dauert lange und wird wahrscheinlich schief gehen, aber ich habe auch den Eindruck, dass automatisiertes Failover mit HA-Cluster-Suites zu wichtigen Cluster-F * Cks wird.

Eine andere Sache ist, dass heißer oder kalter Standby am selben Standort keine Geschäftskontinuität im Falle einer lokalen Katastrophe bietet.

HBruijn
quelle
2

Das Konzept, einen heißen oder sogar kalten Ersatz zu haben, hängt davon ab, wie die Anwendung (en) überhaupt erstellt werden.

Ich meine, wenn die Anwendung so erstellt wurde, dass die Daten- und Servicelast auf mehrere Computer verteilt ist, sollte das Konzept eines einzelnen Computers, der das System herunterfährt, verschwinden. In dieser Situation benötigen Sie keinen Ersatz. Stattdessen benötigen Sie genügend überschüssige Kapazität, um zu verarbeiten, wenn eine einzelne Maschine / Komponente stirbt.

Beispielsweise erfordert eine Standardwebanwendung im Allgemeinen einen Webserver und einen Datenbankserver. Für die Webserver müssen Sie nur 2 oder mehr Lastausgleich durchführen. Wenn man stirbt, kein Problem. Die Datenbank ist normalerweise schwieriger, da sie so aufgebaut sein muss, dass sie mehrere Master umfasst und alle Daten auf den teilnehmenden Computern synchronisiert sind. Anstelle eines einzelnen DB-Servers stehen Ihnen also zwei (oder mehr) zur Verfügung, die beide Ihre Datenanforderungen erfüllen. Große Dienstleister wie Google, Amazon, Facebook usw. sind diesen Weg gegangen. Die Entwicklungszeit verursacht mehr Vorlaufkosten, zahlt sich jedoch aus, wenn Sie skalieren müssen.

Wenn Ihre Anwendung nicht so strukturiert ist oder es einfach unmöglich ist, die App nachzurüsten, möchten Sie wahrscheinlich einen Ersatz.

Nicht ich
quelle