Nachdem ein Server, der eines Morgens nicht verfügbar sein würde, ein wenig Angst hatte, haben die höheren Unternehmen entschieden, dass das Unternehmen eine Hochverfügbarkeits- / Failover-Einrichtung benötigt.
Wir haben 5 Hauptserver (4x Linux, 1x OpenBSD), die alle ausgeführt werden müssen, damit das Unternehmen funktioniert. Drei der Server sind ziemlich Standard (Dateien / Web / Datenbank), der vierte übernimmt die meisten Netzwerkrouting- und Webproxys, während der fünfte unser Telefonsystem unterstützt und über nicht standardmäßige Hardware verfügt.
Mein Chef hat angegeben, dass die Bearbeitungszeit für einen Serverausfall unter 30 Minuten liegen sollte.
Meine Erfahrung auf diesem Gebiet ist nicht vorhanden (ich bin nur ein Programmierer, der "befördert" wurde), daher läuft meine Frage wohl auf Folgendes hinaus:
- Ist dies etwas, das sogar von jemandem mit durchschnittlichen Server-Administrator-Fähigkeiten versucht werden sollte. Wenn ja, was soll ich lesen und mit wem soll ich sprechen?
Vielen Dank.
Antworten:
Ich denke, Sie sollten zunächst Zahlen zusammenstellen, um die Kosten zu beschreiben, die mit der Erfüllung der angegebenen "Anforderung" verbunden sind, um festzustellen, ob sie überhaupt innerhalb des Budgets liegen. Wenn Sie nicht mit allen "normalen" Methoden vertraut sind, die zur Erfüllung der Anforderung verwendet werden (Failover-Clustering, Hypervisoren mit "Hot Migration" -Funktion usw.), sollten Sie wahrscheinlich einen Berater finden, der dies kann aushelfen.
Mit der Machbarkeitsstudie sind einige Kosten verbunden, aber es wird viel weniger kosten, festzustellen, dass eine gute Lösung nicht den angegebenen Anforderungen entspricht (was bedeutet, dass die Erwartungen vom Management realistischer festgelegt werden müssen - oder von ihnen müssen mehr Geld aufbringen), als es kosten wird, etwas halbherziges zu tun, das letztendlich die Anforderung überhaupt nicht erfüllt und dabei eine Menge Geld in die Luft jagt.
Es hört sich so an, als hätte Ihr Chef diese Nummer gerade aus der Luft gezogen. Vielleicht hat er einige Analysen durchgeführt und weiß, wie hoch die Kosten pro Stunde sind, die mit Ausfallzeiten verschiedener Systeme verbunden sind, aber ich bezweifle es. Es klingt wie eine Pie-in-the-Sky-Nummer, die nicht an die Realität gebunden ist. Ich wäre überrascht, wenn alle Ihre Systeme diese Verfügbarkeit benötigen würden. Während des Studiums des Unternehmens stellen Sie möglicherweise fest, dass nur eine Teilmenge der Funktionalität einen solchen Grad an Verfügbarkeit und Fehlertoleranz aufweisen muss (und daher würde eine solche Lösung letztendlich weniger kosten). Ich bin mir sicher, dass Telefone und die Branchenanwendung dort oben sind, aber auf einigen anderen Systemen können Sie Ausfallzeiten tolerieren.
Meiner Meinung nach werden Sie wahrscheinlich einen Gewinn erzielen, wenn Sie Virtualisierungstechnologien verwenden, um ein Failover-System zu erstellen, das auf der Migration virtueller Maschinen zwischen redundanter Hardware basiert. Ob es zu Ihrem Budget passt oder nicht, hängt von Ihrem Unternehmen ab, da Sie auf jeden Fall eine Art SAN benötigen, damit dies effektiv funktioniert.
Diskontieren Sie jedoch nicht das "traditionelle" Failover-Clustering. Auch dort gibt es definitiv "Gewinne", wenn Ihre Anwendungen für eine solche Konfiguration gut geeignet sind.
Ich frage mich, ob Ihr Chef über katastrophale Ausfallszenarien nachgedacht hat (Verbrennungen, Überschwemmungen, Tornados, Diebstahl usw.). Wenn dies nicht bereits geplant ist, wäre dies eine einmalige Gelegenheit, um an einer allgemeinen Geschäftskontinuitätsplanung und Notfallwiederherstellung zu arbeiten.
Holen Sie sich Hilfe von jemandem, der Ihr Unternehmen studieren und Empfehlungen aussprechen kann. Du wirst es nicht bereuen.
quelle
"Diese Straße führt zu viel Schmerz und Schmerz ..."
Wie sieht der Kontinuitätsplan Ihres Unternehmens aus? Sie Disaster Recovery-Plan?
Hast du darüber gesprochen? Aufgeschrieben? GETESTET?
Sie müssen ein ordentliches Gespräch mit den "Höheren" führen und den Anforderungen für Hochverfügbarkeit wirklich auf den Grund gehen, da sie für verschiedene Dienste unterschiedlich sind.
Was war wirklich der "Schmerzpunkt", den sie an diesem Morgen fühlten?
War es?
Ich nehme an, Sie haben hochwertige Hardware für Ihre Hauptsysteme gekauft? Gut, denn Hardware billig zu machen ist eine falsche Wirtschaftlichkeit, da diese Server mit "dual" alles in der Box kommen.
Ich gehe auch davon aus, dass Sie wissen, wie Sie einen Server neu erstellen, Lüfter, Netzteile austauschen, einen Server racken und Dual-Path-Netzwerke in redundante Switches konfigurieren können. Sie haben dies oft genug getan, um zu verstehen, was funktioniert und was nicht, was normal und was fehlerhaft ist? Wenn nicht, holen Sie sich Hilfe und Schulung (oder üben und erleben Sie zumindest).
Vielleicht war ein Großteil des Problems Angst. Sie hatten keine Ahnung, dass ein solches Problem auftreten könnte (und wie wichtig die Server für ihr Geschäft waren), und Sie wussten nicht wirklich, was Sie taten (?). Ein Vertrauensproblem?
Sie müssen alles oben Genannte richtig machen, bevor Sie die sehr teure HA-Route fahren. Kann sich das Unternehmen diese teure Ausrüstung leisten (und das meiste davon wird per Definition immer nur bei einem Ausfall verwendet und oft nie verwendet!)
quelle
Evan trifft einige gute Punkte, aber hier sind vielleicht einige kostengünstige Methoden, um die Wiederherstellungszeit von weniger als 1 Stunde angesichts von Fehlern zu erreichen.
Small Business bedeutet wahrscheinlich kleine Hardware, daher ist es möglicherweise nicht sehr kostspielig, einige einfache Dinge zu tun, die angesichts von Problemen tatsächlich zu einer erheblichen Ausfallsicherheit führen. Die Hauptidee ist nur, zusätzliche Hardware bereit zu haben.
Machen Sie sich zunächst mit dem Gedanken an eine virtuelle IP vertraut. Dies ist die IP-Adresse, mit der Benutzer sprechen, die sich jedoch auf jedem Server befinden kann, dem Sie sie geben. Dies ist die IP-Adresse, mit der Sie Benutzer sind und mit der Anwendungen kommunizieren möchten. Und es ist die hilfreichste Lösung für jede Lösung, für die Sie sich entscheiden. Ein VIP bedeutet, dass Sie bei einem Failover keine der Anwendungen neu konfigurieren müssen. Beachten Sie auch, dass redundante Hardware auch den Verwaltungsaufwand erhöht und zwei Konfigurationsaktualisierungen anstelle von 1 durchführt.
Wenn wir mit Ihrem Routing- / Webproxyserver beginnen, ist dies wahrscheinlich der einfachste, da es sich nicht um einen echten Status handelt, der auf der Box selbst gespeichert werden muss. Holen Sie sich also einfach ein Duplikat derselben Box und konfigurieren Sie es gleich. Ich würde beide im LAN-Segment angeschlossen lassen und vorausgesetzt, Ihr Internet befindet sich auf einer anderen Schnittstelle, tauschen Sie die Kabel aus, wenn dies ein Fehler ist. Aus Routing-Sicht legen Sie alle LAN-Clients so fest, dass sie auf die .1-Adresse (VIP) für ihre Standardroute abzielen, und der Proxyserver gibt Server A die .2-Adresse und Server B die .3-Adresse. Auf diese Weise können beide für Konfigurationsaktualisierungen verwaltet werden (gilt für beide). Für ein Failover müssen Sie lediglich die .1-IP-Zuweisung von .2 entfernen und auf .3 verschieben und die Internetverbindung auf die andere Schnittstelle verschieben. Es ist nicht sehr kompliziert, leicht zu machen und zu verstehen, und kostet die zusätzliche Hardware einer zweiten Box. Wenn Sie auf der Internetseite Redundanz erhalten, können Sie die Komplexität erhöhen und ein automatisches Failover mit VRRP durchführen.
Ohne Einzelheiten ist es schwer zu sagen, aber Ihr Webserver ist möglicherweise genauso einfach. Fügen Sie einen zweiten Server mit identischer Konfiguration hinzu, erstellen Sie eine vIP zwischen den beiden und verschieben Sie den VIP angesichts eines Fehlers in die Sicherung. Es macht mir im Allgemeinen nichts aus, wenn der Sitzungsstatus bei einem Failover verloren geht (es ist ein kritisches Problem, ein Failover zu verursachen). Wenn sich Benutzer erneut anmelden müssen, ist dies keine große Sache. Auch hier kann vrrp wahrscheinlich für das automatische Failover verwendet werden.
Wenn Sie sich Ihrer Datenbank zuwenden, ist dies erheblich komplexer. Die meisten DBs haben eine Art primäres / sekundäres Modell, bei dem Sie die ursprüngliche DB auf der sekundären sichern und dann alle Transaktionsprotokolle oder DB-Änderungen auf die sekundäre kopieren. Auch hier können Sie dies mit VIPs für die Anwendungen / Benutzer kombinieren, die tatsächlich auf die Datenbank zugreifen. Failover ist jedoch komplizierter. Abhängig vom Ausfall der Primärdatenbank müssen Sie möglicherweise die Laufwerke tatsächlich zum Laufen bringen, um Transaktionsprotokolle zu kopieren und übrig zu lassen. Dann bringen Sie die sekundäre aktive. Wenn Sie verlorene Daten tolerieren können, können Sie die sekundäre aktive sofort aktivieren. Nach dem Failover ist Server B jetzt Ihr primärer Server, und Sie müssen Server A wiederherstellen und in das neue Backup umwandeln, damit es fehlgeschlagen werden kann, wenn Server b schließlich Probleme hat.
Dateiserver sind immer der schwierigste Teil, da es im Gegensatz zu DBs viel schwieriger ist, eine integrierte Funktion des Dateisystems zu erhalten. Ein gewisses Maß an Ausfallsicherheit kann jedoch erreicht werden, indem Sie einen zweiten Server haben und einfach ein Skript schreiben, das das Dateisystem nach Änderungen durchsucht und alle neuen Dateien in Ihre sekundäre Datei kopiert. Sie können rsync grundsätzlich auf einem Cron ausführen, von dem ich glaube, dass er dies tut. Auch hier verwenden Sie einen VIP, den Sie Benutzern geben und den Sie bei einem Failover verschieben. In Ihrem Skript würde ich Ihnen dringend empfehlen, vor dem Übertragen von Dateien zu überprüfen, ob das System der Eigentümer des VIP ist. Sie möchten wirklich nicht, dass der rsync in die falsche Richtung ausgeführt wird und alle von Ihren Benutzern vorgenommenen Änderungen überschreibt. Dies könnte einige Dateien verlieren, wenn sie fehlerhaft sind.
Ich habe keine Ahnung, was Sie gegen Ihr Telefonsystem tun können ... es hängt wirklich vom Hersteller und dessen Einrichtung ab. Der Anbieter verfügt möglicherweise über eine Standardlösung für die Ausfallsicherheit.
Einige letzte warnende Worte. Stellen Sie sicher, dass Sie alle Einstellungen, mit denen Sie arbeiten möchten, gründlich testen. Stellen Sie sicher, dass Sie wissen, wie Sie ein Failover durchführen können, ohne diese wichtigen Informationen zu verlieren. Test Test Test, um sicherzustellen, dass es funktioniert, wenn Sie es brauchen. Stellen Sie sicher, dass Prozesse vorhanden sind, mit denen Konfigurationsänderungen, Softwareupdates usw. sowohl auf Primär- als auch auf Sicherungen ordnungsgemäß angewendet werden. Die gute Nachricht ist, dass Sie wahrscheinlich kontrollierte Failovers durchführen können, wenn Sie einen Server zum Upgrade herunterfahren möchten usw. Es handelt sich nicht um ein Aktiv-Aktiv-Setup, sodass Sie keine Ahnung haben, ob das sekundäre Setup bei Bedarf funktioniert.
Ich arbeite in der Telekommunikation und unsere Geräte sind sehr redundant, einschließlich in den meisten Fällen geografischer Redundanz. Unser Fehlerpunkt Nummer 1 ist, dass Redundanz nach Änderungen nicht getestet wird und Benutzer Änderungen vornehmen, die nicht wissen, wie das Redundanzmodell funktioniert. Wir haben jedoch das zusätzliche Problem, dass alle unsere Geräte ein automatisches Failover in nicht mehr als einigen Sekunden unterstützen müssen. Sie können manuelle Eingriffe in Ihr Failover tolerieren, wenn Sie nur innerhalb von 30 bis 60 Minuten einsatzbereit sein müssen. Sie müssen nur vorbereitet sein. Viel Glück.
quelle
Alle anderen Punkte sind großartig, also nur ein paar Kommentare.
30 Minuten sind nicht zu garantieren, besonders für alles. Man kann sagen, es ist ein Ziel, aber es kann auf keinen Fall eine Garantie sein, da es immer den X-Faktor gibt. Sie könnten 2 ISP-Leitungen haben und ein LKW stürzt in das Gebäude und nimmt beide heraus, weil Sie nicht dachten, dass es wichtig ist, sie von entgegengesetzten Enden des Gebäudes zu führen.
Verdoppeln Sie zunächst alles. Sie haben 5 Server, also müssen Sie das verdoppeln. Es muss nicht alles auf Hardware sein, Sie können virtualisieren, aber Sie sehen, was ich meine. Darüber hinaus muss alles HA-fähig sein, was ebenfalls zu den Kosten beiträgt. Möglicherweise müssen Sie Ihren Router durch einen neuen ersetzen, und Sie benötigen zwei davon. Vergessen Sie nicht, die Stromzufuhr zu verdoppeln und den Generator zu erhalten, da Sie nicht garantieren können, dass das Energieversorgungsunternehmen innerhalb von 30 Minuten wieder einsatzbereit ist.
Diese Beispiele denken, dass es mehr oder weniger ein heißes Standby-Setup ist, was ich vermute, dass Ihr Chef denkt.
Was ich für kleine Unternehmen besser finde, ist, einen Plan zu entwerfen, um alles wiederherzustellen und zu klassifizieren.
Finden Sie heraus, welche Dienste verfügbar sind
kritisch (Geschäftsstopps)
wichtig (Geschäft verlangsamt sich)
Routine (Unternehmen können für eine Weile darauf verzichten).
Zum Beispiel sind Ihre Callcenter-Telefone von entscheidender Bedeutung. Vielleicht lohnt es sich, einen zweiten Server und einen zweiten ISP zu kaufen, und Ihr durchschnittlicher Stromausfall beträgt etwa 15 Minuten, sodass wir eine USV erhalten, die 60 Minuten dauert (nicht) vergiss auch die Workstations). Nehmen wir jetzt an, das ERP ist nur wichtig, was bedeutet, dass Sie ein bisschen ohne es funktionieren können. Möglicherweise verwenden Ihre Callcenter-Mitarbeiter es, aber wenn es nicht verfügbar ist, können sie wieder auf Stift und Papier oder Notizblock zurückgreifen und anschließend das ERP aktualisieren. Das Verfahren, um dies zu tun, wenn es nicht funktioniert, ist möglicherweise billiger als der Versuch, es zu einem kritischen Dienst zu machen. Und die Routine könnte so etwas wie Drucker sein, ok, es ist ein Schmerz, aber wir können für ein paar Tage fällig werden, wenn sie alle ausfallen.
Das gibt dir auch den Befehl, Dinge zu reparieren, wenn das eines Tages wirklich den Fan trifft :)
quelle
Ist es möglich? Sicher. Ist es erschwinglich? Wahrscheinlich nicht für ein "kleines Unternehmen", besonders wenn Sie einen Chef haben, der Ihnen willkürliche Zahlen für die Arbeit gibt, und er von einer IT-Abteilung, die aus einem vertretenen Programmierer besteht, eine hohe Verfügbarkeit verlangt (oft an anderen Orten gesehen und nie) hübsch für Ihren Stresslevel, wenn Ihre Situation wie ihre war).
Ein Failover ist möglich, erfordert jedoch normalerweise redundante Hardware, SANs für die gemeinsame Nutzung von Daten zwischen Servern usw. Mit anderen Worten, viel Glück bei der Finanzierung, wenn kein dedizierter Administrator damit beauftragt wird.
Ihre von Ihnen erwähnte Anrufsystemhardware ist Spezialhardware, und Sie haben angedeutet, ein Callcenter zu sein. Sie sollten mit dem Anbieter über Optionen sprechen, um dies überflüssig zu machen. Wenn man damit herumfummelt, kann die Unterstützung in erster Linie ungültig werden.
Bei anderen Systemen könnte es höchstwahrscheinlich zu Redundanz kommen, wenn Sie in VMWare-Lösungen investieren (oder in Hyper-V oder XenServer, aber ich würde zuerst VMware und XenServer betrachten). Anschließend können Sie ein SAN erwerben, einige leistungsstarke Server mit schnellen Netzwerk-Switches, und LiveMotion verwenden, um virtualisierte Server zwischen Hardwareservern zu migrieren, wenn ein Fehler auftritt, und einen Teil der Last zwischen den Servern nach Bedarf aufteilen.
Sie haben erwähnt, dass Sie Linux auf diesen Systemen ausführen. Mit dem Geld, um mehrere Server zu erhalten, können Sie stattdessen DRBD mit einem Heartbeat-Programm und STONITH einrichten, um Daten zwischen Servern zu replizieren und zu übernehmen, wenn einer nicht mehr verfügbar ist. Sie möchten ein System einrichten, bei dem Sie buchstäblich jeden Server dupliziert und Ihren Stromverbrauch und Ihre Wärmeableitung im Serverraum verdoppelt haben (wenn Sie einen Serverraum haben). Dies kann für die Kosten der Hardware und Ihrer Gesundheit getan werden. Außerdem müssten Sie es testen, Sie hätten Ausfallzeiten beim Konfigurieren und Sie hätten immer noch die Möglichkeit, dass es manchmal nicht funktioniert, da immer noch die Möglichkeit besteht, dass Probleme auftreten, die behoben werden müssen (Split) Gehirn zum Beispiel).
Das letzte ist ein Plan, um ein paar Systeme dazu zu bringen, als leere Schiefersysteme zu fungieren und einen wirklich guten Sicherungsplan zu haben, mit dem Sie Daten auf einem der "leeren" Systeme wiederherstellen können, wenn ein Server ausfällt. Wenn Sie Hardware vor Ort haben, haben Sie einige Optionen, wenn ein Server ausfällt. Während der Wiederherstellung von Daten treten jedoch immer noch Ausfallzeiten auf, und Sie benötigen Anweisungen zur ordnungsgemäßen Installation Ihrer Anwendungen auf dem neuen Server. Je nachdem, wie schnell Sie arbeiten und wie groß die Daten sind, kann es zu Ausfallzeiten von einigen Stunden bis zu ein oder zwei Tagen kommen. Sie haben eine funktionierende, bekannt-gute Sicherung für Ihre Server, mit einem Wiederherstellungsplan in Kraft , ja?
Solltest du es versuchen? Meine erste Reaktion ist, dass Sie es nicht tun sollten, wenn Sie sich bei einem der Vorschläge am Kopf kratzen oder eine Magengrube spüren, wenn Sie versuchen, dieses Zeug auszudenken. Sie benötigen ein Beratungsunternehmen, um das Problem zu untersuchen, die Kosten zu ermitteln und umzusetzen, oder Sie müssen einen dedizierten Systemadministrator beauftragen, der dies für Ihr Unternehmen erledigt.
Die Tatsache, dass sie Ihnen sagen, dass Sie es tun sollen, und Sie sagen, dass Sie "nur ein Programmierer sind, der" befördert "wurde, und dass Sie einen PHB haben, der Ihnen sagt, dass Sie Redundanz mit einer maximalen Ausfallzeit von 30 Minuten geben sollen, ist, dass Sie freundlich sind von einem Bach.
quelle