DRP vorbereiten — vergessen Sie nicht den Meteoriten

DRP vorbereiten — vergessen Sie nicht den Meteoriten
Selbst in Krisenzeiten gibt es immer Zeit fĂŒr eine Tasse Tee.

DRP (Disaster Recovery Plan) ist etwas, das idealerweise nie benötigt wird. Aber wenn plötzlich wÀhrend der Fortpflanzungszeit die Biber das Haupt-Glasfaserkabel durchknabbern oder der Junior-Admin die produktive Datenbank löscht, möchten Sie sicherstellen, dass Sie einen vorher ausgearbeiteten Plan haben, um mit diesem Chaos umzugehen.

WĂ€hrend die Kunden panisch die Support-Hotline ĂŒberfluten und der Junior nach Zyaniden sucht, öffnen Sie weise den roten Umschlag und beginnen, alles in Ordnung zu bringen.

In diesem Beitrag möchte ich Empfehlungen teilen, wie man einen DRP schreibt und was er beinhalten sollte. Außerdem werden wir die folgenden Punkte beleuchten:

  1. Lernen wir, wie ein Bösewicht zu denken.
  2. Untersuchen wir den Nutzen einer Tasse Tee wÀhrend der Apokalypse.
  3. Entwickeln wir eine praktische Struktur fĂŒr den DRP.
  4. Schauen wir uns an, wie man ihn testen sollte.

FĂŒr welche Unternehmen dies nĂŒtzlich sein kann.

Es ist sehr schwierig, eine Grenze zu ziehen, wenn die IT-Abteilung solche Dinge benötigt. Ich wĂŒrde sagen, dass Sie unbedingt einen DRP benötigen, wenn:

  • Die Abschaltung eines Servers, einer Anwendung oder der Verlust einer Datenbank kann zu erheblichen GeschĂ€ftseinbußen fĂŒhren.
  • Sie verfĂŒgen ĂŒber eine vollwertige IT-Abteilung. Damit ist eine Abteilung gemeint, die als eigenstĂ€ndige Einheit im Unternehmen fungiert, mit eigenem Budget, und nicht einfach nur ein paar mĂŒde Angestellte, die Netzwerke verwalten, Viren entfernen und Drucker nachfĂŒllen.
  • Sie haben ein realistisches Budget, zumindest fĂŒr eine teilweise Sicherung im Falle einer Notlage.

Wenn die IT-Abteilung monatelang um ein paar HDDs fĂŒr einen alten Server fĂŒr Backups bittet, wird es kaum möglich sein, einen vollstĂ€ndigen Umzug der ausgefallenen Dienste auf die Backup-KapazitĂ€ten zu organisieren. Auch hier kann Dokumentation nicht schaden.

Dokumentation ist wichtig

Beginnen Sie mit der Dokumentation. Angenommen, Ihr Dienst basiert auf einem Perl-Skript, das vor drei Generationen von Admins geschrieben wurde, und niemand weiß, wie es funktioniert. Der angesammelte technische Schuldenberg und das Fehlen von Dokumentationen werden Ihnen nicht nur das Knie brechen, sondern auch andere Gliedmaßen verwunden; es ist eher eine Frage der Zeit.

Nachdem Sie eine gute Beschreibung der Servicekomponenten erstellt haben, holen Sie sich die Statistiken zu den AusfĂ€llen. Diese werden mit hoher Wahrscheinlichkeit ganz typisch sein. Zum Beispiel kann es vorkommen, dass die Festplatte gelegentlich ĂŒberlĂ€uft, was zu einem Ausfall des Nodes fĂŒhrt, bis er manuell bereinigt wird. Oder der Kundenservice ist nicht erreichbar, weil jemand erneut vergessen hat, das Zertifikat zu verlĂ€ngern, und sich nicht in der Lage sah, Let's Encrypt zu konfigurieren.

Denke wie ein Diversant

Der schwierigste Teil besteht darin, die technischen Störungen vorherzusagen, die bisher noch nicht aufgetreten sind, aber potenziell Ihren Service vollstĂ€ndig lahmlegen könnten. Hier spielen wir normalerweise mit meinen Kollegen die Bösewichte. Man nimmt viel Kaffee und etwas Leckeres mit und schließt sich in einem Besprechungsraum ein. Stellen Sie nur sicher, dass Sie in diesem Raum auch die Ingenieure eingeschlossen haben, die den Zielservice selbst eingerichtet haben oder regelmĂ€ĂŸig damit arbeiten. Dann beginnen Sie entweder auf einem Whiteboard oder auf Papier, alle möglichen Horrorszenarien zu skizzieren, die mit Ihrem Service passieren können. Es ist nicht notwendig, bis ins kleinste Detail zu gehen, wie etwa mit einer bestimmten Reinigungskraft und dem Herausziehen von Kabeln; es reicht aus, das Szenario „IntegritĂ€tsverletzung des lokalen Netzwerks“ zu betrachten.

In der Regel fallen die meisten typischen Notfall-Situationen in folgende Kategorien:

  • Netzwerkausfall
  • Betriebssystemdienstausfall
  • Anwendungsfehler
  • Hardware-Ausfall
  • Virtualisierungsfehler

Gehen Sie einfach jeden Typ durch und sehen Sie, was fĂŒr Ihren Service zutrifft. Zum Beispiel kann der Nginx-Daemon abstĂŒrzen und nicht wieder hochfahren – das deutet auf ein Problem mit dem Betriebssystem hin. Eine seltene Situation, die Ihre Webanwendung in einen inaktiven Zustand versetzt, ist ein Softwarefehler. WĂ€hrend dieser Phase ist es wichtig, die Problemdiagnose sorgfĂ€ltig durchzufĂŒhren. Wie erkennt man zum Beispiel eine eingefrorene Schnittstelle in der Virtualisierung im Vergleich zu einem abgestĂŒrzten Switch oder einem Netzwerkfehler? Das ist entscheidend, um schnell die Verantwortlichen zu finden und sie zur Rede zu stellen, bevor das Problem behoben ist.

Nachdem wir die typischen Probleme notiert haben, gießen wir uns noch eine Tasse Kaffee ein und beginnen, die seltsamsten Szenarien zu betrachten, in denen bestimmte Parameter stark außerhalb der Norm liegen. Zum Beispiel:

  • Was passiert, wenn die Zeit auf einem aktiven Knoten eine Minute hinter den anderen im Cluster zurĂŒckgeht?
  • Und wenn die Zeit nach vorne springt, was ist, wenn sie um 10 Jahre verschoben wird?
  • Was geschieht, wenn ein Knoten im Cluster wĂ€hrend der Synchronisation plötzlich die Netzwerkverbindung verliert?
  • Und was passiert, wenn zwei Knoten aufgrund vorĂŒbergehender Netzwerkisolierung um die FĂŒhrung konkurrieren?

In dieser Phase ist es oft hilfreich, von hinten zu denken. Nehmen Sie das kreativste Mitglied Ihres Teams mit einer kranken Fantasie und geben Sie ihm die Aufgabe, innerhalb kĂŒrzester Zeit einen Sabotageakt zu planen, der den Dienst lahmlegt. Wenn er dabei schwer zu diagnostizierende Probleme verursacht, umso besser. Sie werden nicht glauben, welche seltsamen und genialen Ideen Ingenieure Ă€ußern, wenn sie den Auftrag bekommen, etwas zu zerstören. Wenn man ihnen auch noch einen Teststand verspricht, umso besser.

Was ist dieses DRP?!

Also, Sie haben das Bedrohungsmodell definiert. Sie haben auch die lokalen Bewohner bedacht, die Glasfaserkabel auf der Suche nach Kupfer durchtrennen, und das militĂ€rische Radar, das die Funkverbindung jeden Freitag um 16:46 unterbricht. Jetzt mĂŒssen Sie herausfinden, was Sie mit all dem machen sollen.

Ihre Aufgabe ist es, die roten UmschlĂ€ge zu erstellen, die in NotfĂ€llen geöffnet werden mĂŒssen. Seien Sie sich sofort bewusst, dass, wenn alles schiefgeht (nicht wenn!), nur der unerfahrenste Praktikant in der NĂ€he sein wird, dessen HĂ€nde vor Angst zittern. Schauen Sie sich an, wie Notfalltafeln in Arztpraxen umgesetzt sind. Zum Beispiel, was bei einem anaphylaktischen Schock zu tun ist. Das medizinische Personal kennt alle Protokolle auswendig, doch wenn jemand in der NĂ€he zu sterben beginnt, greifen sie oft hilflos nach allem Möglichen. Deshalb hĂ€ngt an der Wand eine klare Anleitung mit Punkten wie "Öffnen Sie die Verpackung von ..." und "Verabreichen Sie intravenös so viele Einheiten des Medikaments."

In einer Notfallsituation ist es schwierig, zu denken! Es sollten einfache Anweisungen fĂŒr das schnelle Handeln vorhanden sein.

Ein gutes DRP besteht aus mehreren einfachen Blöcken:

  1. Wen alle ĂŒber den Beginn der Notlage informieren. Dies ist wichtig, um den Prozess der Behebung so weit wie möglich zu parallelisieren.
  2. Wie man richtig diagnostiziert – wir fĂŒhren ein Tracing durch, schauen uns den systemctl-Status des Dienstnamens an und so weiter.
  3. Wie viel Zeit kann fĂŒr jeden Schritt aufgewendet werden? Wenn Sie es nicht schaffen, manuell innerhalb der SLA-Zeit zu reparieren, wird die virtuelle Maschine gelöscht und aus dem gestrigen Backup wiederhergestellt.
  4. Wie stellen Sie sicher, dass die Panne beendet ist?

Denken Sie daran, dass der DRP beginnt, wenn der Dienst vollstĂ€ndig ausgefallen ist, und endet mit der Wiederherstellung der FunktionalitĂ€t, selbst wenn diese eingeschrĂ€nkt ist. Der bloße Verlust von Redundanz sollte den DRP nicht aktivieren. Sie können sogar eine Tasse Tee im DRP vermerken. Im Ernst: Statistisch gesehen werden viele Pannen aus unangenehm katastrophal, weil das Personal in Panik versucht, irgendetwas zu reparieren und dabei den einzigen aktiven Knoten mit Daten oder das gesamte Cluster endgĂŒltig gefĂ€hrdet. In der Regel geben fĂŒnf Minuten fĂŒr eine Tasse Tee Ihnen etwas Zeit, um sich zu beruhigen und die Situation zu analysieren.

Verwechseln Sie nicht DRP und Systempass! Überladen Sie ihn nicht mit unnötigen Informationen. Geben Sie einfach den Zugang zu den wichtigen Abschnitten der Dokumentation ĂŒber Hyperlinks, damit diese schnell und bequem gelesen werden können. Im DRP selbst sollten klare Anweisungen stehen, wo und wie man sich mit spezifischen Kommandos zum Kopieren und EinfĂŒgen verbindet.

Wie man richtig testet

Stellen Sie sicher, dass jeder verantwortliche Mitarbeiter alle Punkte ausfĂŒhren kann. Im entscheidenden Moment kann es sich herausstellen, dass der Ingenieur keine Zugriffsrechte auf das benötigte System hat, Passwörter fĂŒr die erforderlichen Konten fehlen oder er keine Ahnung hat, was bedeutet: „Verbinden Sie sich ĂŒber einen Proxy im HauptbĂŒro mit der Verwaltungs-Konsole des Services.“ Jeder Punkt sollte so einfach wie möglich sein.

Falsch — „Gehen Sie zur Virtualisierung und starten Sie die tote Node neu.“
Richtig — „Verbinden Sie sich ĂŒber die Web-OberflĂ€che mit virt.example.com, und starten Sie im Abschnitt Nodes die fehlerhafte Node neu.“

Vermeiden Sie Mehrdeutigkeiten. Denken Sie an den verÀngstigten Praktikanten.

Testen Sie unbedingt Ihr DRP. Es handelt sich nicht nur um einen Plan, den man abhakt – es ist entscheidend fĂŒr Sie und Ihre Kunden, um schnell aus kritischen Situationen herauszukommen. Es ist ratsam, dies mehrere Male durchzufĂŒhren:

  • Ein Experte und mehrere Praktikanten arbeiten an einer Testumgebung, die den echten Service so gut wie möglich imitiert. Der Experte bringt den Service auf verschiedene Weise zum Ausfall und gibt den Praktikanten die Möglichkeit, ihn gemĂ€ĂŸ DRP wiederherzustellen. Alle Probleme, Unklarheiten in der Dokumentation und Fehler werden dokumentiert. Nach der Schulung der Praktikanten wird das DRP ergĂ€nzt und an unklaren Stellen vereinfacht.
  • Tests im realen Service. Es ist in der Tat niemals möglich, eine perfekte Kopie eines echten Dienstes zu erstellen. Daher ist es notwendig, ein paar Mal im Jahr planmĂ€ĂŸig einen Teil der Server abzuschalten, Verbindungen zu kappen und andere NotfĂ€lle aus der Gefahrenliste zu simulieren, um die Wiederherstellungsordnung zu bewerten. Eine geplante Störung von 10 Minuten mitten in der Nacht ist besser als ein plötzlicher Ausfall von mehreren Stunden wĂ€hrend der Hauptlastzeit mit Datenverlust.
  • Reale NotfallbewĂ€ltigung. Ja, das ist auch ein Teil der Tests. Wenn ein Notfall eintritt, der nicht in der Bedrohungsliste steht, muss der DRP basierend auf den Ergebnissen der Untersuchung ergĂ€nzt und ĂŒberarbeitet werden.

Wesentliche Punkte

  1. Wenn etwas schiefgehen kann, dann wird es nicht nur schiefgehen, sondern auf die katastrophalste Weise.
  2. Stellen Sie sicher, dass Sie Ressourcen fĂŒr die Notfalllastenauslagerung haben.
  3. Vergewissern Sie sich, dass Sie Backups haben, die automatisch erstellt und regelmĂ€ĂŸig auf Konsistenz geprĂŒft werden.
  4. Denken Sie ĂŒber typische Bedrohungsszenarien nach.
  5. Lassen Sie den Ingenieuren die Möglichkeit, untypische Wege zu finden, um den Dienst lahmzulegen.
  6. Der DRP sollte eine einfache und klare Anleitung sein. Alle komplexe Diagnose erfolgt erst, nachdem der Dienst fĂŒr die Kunden wiederhergestellt wurde. Selbst wenn es auf den Backup-Ressourcen ist.
  7. Geben Sie wichtige Telefonnummern und Kontakte im DRP an.
  8. Testen Sie regelmĂ€ĂŸig das VerstĂ€ndnis der Mitarbeiter fĂŒr den DRP.
  9. FĂŒhren Sie geplante NotfĂ€lle im Produktivsystem durch. StĂ€nde können nicht alles ersetzen.

DRP vorbereiten — vergessen Sie nicht den Meteoriten

DRP vorbereiten — vergessen Sie nicht den Meteoriten

Quelle: habr.com

Erwerben Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Server đŸ”„ Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster