
Einleitung
In der Welt der verteilten Systeme kann es zu katastrophalen Fehlern kommen. Stell dir vor, du löschst aus Versehen eine ganze Reihe von Clustern aus deiner Blockchain-Infrastruktur. Solche Vorfälle können verheerende Folgen haben.
Der beste Weg, solche Katastrophen zu vermeiden, ist das Anlegen geeigneter Datenreserven. Beim Umgang mit Enterprise-Blockchain-Frameworks in Container-Orchestrierungs-Frameworks ist das Vorhalten von Datenreserven absolut entscheidend, insbesondere bei der Implementierung einer Kubernetes-Blockchain-Backup-Strategie und einer zuverlässigen Container-Orchestrierungs-Backup-Strategie.
Die Kombination dieser Technologien bietet eine leistungsstarke und hochsichere Plattform für die Verarbeitung von Blockchain-Transaktionen. Das Framework selbst ist eine Open-Source-Lösung, die unter Community-Governance gehostet wird und eine Plattform für alle Implementierungen im Zusammenhang mit Distributed Ledgers bietet.
Dieses Framework hat große Vorteile wie hohe Leistung und Skalierbarkeit. Es sorgt für ein hohes Maß an Vertrauen zwischen Teilnehmern mit bekannten Identitäten und umfangreichen Abfragen über ein unveränderliches Hauptbuch.
Dieser Leitfaden bietet eine umfassende Anleitung zur Sicherung und Wiederherstellung von Blockchains und schützt und stellt Daten in Blockchain-Netzwerken wieder her, die in containerisierten Umgebungen ohne Probleme laufen, einschließlich Hyperledger-Fabric-Notfallwiederherstellungsszenarien.
Zu verstehen, warum Datenreserven wichtig sind, ist die Basis dieses Prozesses.
Warum Datenreserven wichtig sind
Das Anlegen von Datenreserven ist aus mehreren wichtigen Gründen nicht optional, sondern obligatorisch.
Systemzuverlässigkeit
Mit Datenreserven können Teams sicherer arbeiten. Wenn du Cloud-basierten Speicher für Backups nutzt, gibt dir das noch mehr Sicherheit gegen verschiedene Arten von Datenverlust, die durch Folgendes verursacht werden können:
- •Naturkatastrophen
- •Menschliches Versagen
- •Böswillige Angriffe
Wenn zum Beispiel Fehler beim Neustart von Pods oder Abstürze bei der richtigen Mount-Pfad-Konfiguration für eine Anwendung in der Bereitstellungsspezifikation auftreten, ist ein Datenverlust ohne ordnungsgemäße Backups unvermeidlich.
Systemstabilität
Datenreserven helfen dabei, Anwendungen im Falle unerwarteter Abstürze und Fehler robuster zu machen. Teammitglieder können während des normalen Betriebs versehentlich Volumes löschen. Mit Reserven können Anwendungen auf den aktuellsten Stand zurückgesetzt werden, wodurch Ausfallzeiten und Datenverluste reduziert werden.
Schutz und Einhaltung von Standards
Reserven helfen dabei, die allgemeine Sicherheit von Anwendungen zu verbessern, und stellen die Einhaltung von Branchenstandards sicher, indem sie vor unerwarteten Datenbeschädigungen und böswilligen Angriffen schützen. Das ist besonders wichtig in regulierten Branchen, in denen hohe Standards für die Datenintegrität gelten.
Änderungen an der Infrastruktur
Datenreserven erleichtern die Navigation durch Infrastrukturänderungen. Bei der Migration von Blockchain-Netzwerken zu verschiedenen Cloud-Anbietern können unterschiedliche Speichermechanismen erforderlich sein, um Kosten zu senken. Umfassende Backups sorgen für einen reibungslosen und risikofreien Übergang.
Netzwerkimplementierung
Dieser Leitfaden geht davon aus, dass es schon ein Blockchain-Netzwerk auf einer Container-Orchestrierungsplattform gibt, mit eigenen Namespaces für jede Organisation, wo alle ihre Dienste laufen.
Das Netzwerk sollte für jede Organisation einen eigenen Namensraum haben, und in jedem Namensraum sollten bestimmte Arten von Bereitstellungen sein.
Jeder organisatorische Namensraum hat normalerweise:
- •Einige Peer-Knoten
- •Ledger-Datenbanken
- •Zertifizierungsstellen-Server für Organisationen, die neue Identitäten registrieren müssen
- •Zertifizierungsstellen-Serverdatenbanken
- •Bestellservice-Knoten für Organisationen, die zum Bestellservice beitragen
Datenpersistenz in Containerumgebungen
Stateful-Anwendungen müssen Daten speichern und abrufen, um richtig zu funktionieren. Die Anwendung kann diese Aufgabe selbst übernehmen oder sie ganz oder teilweise an eine andere Stateful-Anwendung wie z. B. Datenbanken delegieren.
Letztendlich wird alles als Dateien oder Ordner gespeichert. Diese Anwendungen sind normalerweise so eingestellt, dass sie bestimmte Dateipfade nutzen, in denen sie dauerhafte Daten speichern.
Container-Bereitstellungen werden verwendet, um die Persistenz von Blockchain-Daten durch eine Kombination aus folgenden Elementen zu erreichen:
- •Mounten von persistenten Volumes mit persistenten Volumes
- •Konfigurationszuordnungen
- •Sichere Speicherobjekte
Sensible Daten wie kryptografische Schlüssel und Zertifikate werden als sichere Speicherobjekte eingebunden. Konfigurationsdaten wie Spezifikationsdateien werden als Konfigurationszuordnungen eingebunden.
Das heißt, dass die Dateien und Ordner, die in allen Mount-Pfaden für persistente Volume-Claims, sicheren Speicherobjekten und Konfigurationszuordnungen zu finden sind, den vollständigen Datensatz für diese Bereitstellung bilden.
Schütze deine Blockchain-Infrastruktur noch heute
Sorg für umfassende Backup-Strategien, um deine Blockchain-Daten zu schützen und die Geschäftskontinuität sicherzustellen.
Organisation der Peer-Knotendaten
Peer-Knoten speichern einige Daten lokal an Standardorten und geben den Rest der Daten an Ledger-Datenbanken weiter.
Der Ordner „Transport Layer Security“ hat das Zertifikat und den Schlüssel für den Peer-Knoten.
Der Ordner „fabric configuration“ hat Spezifikationsdateien, die die Konfiguration enthalten, die beim Start des Peers verwendet wurde.
Der Ordner „Mitgliedschaftsdienstanbieter” enthält die Mitgliedschaftsinformationen für Peers, die Registrierungsbescheinigung und den Schlüssel sowie die Zertifikatskette vom Zertifizierungsstellenserver.
Der Ordner „admin membership service provider” enthält die Anmeldedaten des Administrators.
Der Produktionsordner enthält Teile der Hauptbuchdaten, darunter:
- •Die Blockchain selbst
- •Installierte Chaincode- und Lebenszyklusdaten
- •Private Datenspeicher
- •Vorübergehende Speicher, die bei der Übermittlung von Transaktionen enthalten sind
Organisation der Bestelldienstdaten
Bestellservice-Knoten speichern die meisten Daten lokal an Standardorten. Mehrere Ordner sind denen in Peer-Knoten ähnlich, dienen jedoch zur Speicherung von:
- •Bestellinformationen zur Servicemitgliedschaft
- •Transport Layer Security-Zertifikat und Schlüsselpaare
- •Anmeldebescheinigung und Schlüsselpaare
Der Ledger-Ordner speichert die Ketten, zu denen dieser Bestelldienst gehört, sowie ausstehende Vorgänge.
Der Produktionsordner hat die Dateien, die für einen bestimmten Konsensalgorithmus und bestimmte Snapshots wichtig sind.
Organisation der Daten des Zertifizierungsstellen-Servers
Zertifizierungsstellen-Server speichern einige Daten lokal an Standardorten und den Rest in Zertifizierungsstellen-Server-Datenbanken.
Der Ordner „fabric certificate authority“ hat:
- •Serverzertifikate
- •Transport Layer Security-Zertifikate
- •Konfigurationsdateien, die beim Start des Dienstes verwendet werden
Bei der Wiederherstellung solltest du vielleicht die neuen Transport Layer Security-Zertifikate und die Serverkonfigurationsdatei für die Zertifizierungsstelle behalten und verwenden, da sie die neuesten Profiländerungen enthalten. Ersetze aber den restlichen Inhalt, wie z. B. Registrierungszertifikate, durch den Inhalt aus dem vorherigen Cluster.
Strategien zur Datenerhaltung
Stell zuerst sicher, dass du sichere Speicherobjekte und Konfigurationszuordnungen beibehältst. Es gibt mehrere Methoden zum Sichern von Daten, die in Volumes vorhanden sind.
Eine Möglichkeit besteht darin, Snapshots der von diesen Diensten verwendeten Volumes zu erstellen. Eine andere Möglichkeit ist die Verwendung spezieller Dienste oder Tools, die speziell für diesen Zweck entwickelt wurden und über unterschiedliche Funktionen und Fähigkeiten verfügen.
Such dir die richtige Strategie für die Aufbewahrung aus, je nachdem, was du brauchst und wo du stehst. Manche Ansätze machen es einfacher, Arbeitslasten zwischen Clustern zu verschieben, andere vielleicht nicht.
Verfahren zur Datenwiederherstellung
Die Wiederherstellungsstrategie hängt von der gewählten Aufbewahrungsstrategie ab. Schau dir die passende Dokumentation zur Wiederherstellung für deine Methode an.
Zuerst solltest du sichere Speicherobjekte und Konfigurationszuordnungen aus den gesicherten Daten neu erstellen. Dann musst du die Dienste in den Ruhezustand versetzen und die gesicherten Daten in den Pod kopieren.
Mach das für alle Dienste in allen Namespaces und achte darauf, dass die normal gemounteten Daten wiederhergestellt werden.
Starte zuerst unabhängige Dienste wie Ledger-Datenbanken und Zertifizierungsstellen-Serverdatenbanken und mach dann mit den anderen Diensten weiter. Dieser schrittweise Ansatz hilft dabei, sicherzustellen, dass Abhängigkeiten erfüllt sind, bevor abhängige Dienste gestartet werden.
Überprüfen, ob alles gleich geblieben ist
Blockchain-Netzwerke sind verteilte Systeme, daher bringen Backup- und Wiederherstellungsprozesse Herausforderungen hinsichtlich der Datenkonsistenz mit sich.
Die Höhe der Blockchain an Peer-Knoten kann zu jedem Zeitpunkt aus verschiedenen Gründen variieren, darunter:
- •Die Netzwerkgeschwindigkeit
- •Geografische Nähe
- •Die Art des Peer-Knotens
Leader-Peer-Knoten bekommen als Erste Blöcke vom Ordering-Service und können diese daher zuerst committen. Bei manchen Peer-Knoten kann es zu internen Abstürzen kommen, die sie durch Wiederholen von Schritten beheben, was natürlich dazu führt, dass sie Blöcke später als andere committen.
Dies kann auf zwei Arten gemildert werden. Erstelle zunächst ein Transaktionsfenster, in dem keine Transaktionen an das Netzwerk gesendet werden. Fragt anschließend den Status des Ledgers in der Blockchain mithilfe von Peer-Befehlszeilenbefehlen ab, um sicherzustellen, dass sich alle Peer-Knoten auf derselben Höhe befinden, bevor du den Aufbewahrungsprozess startest.
Wiederhol nach der Wiederherstellung der Daten den Überprüfungsprozess, um sicherzustellen, dass die Wiederherstellung ordnungsgemäß durchgeführt wurde. Sieh dir die Peer- und Bestelldienstprotokolle an, um sicherzustellen, dass alles ordnungsgemäß funktioniert.
Dieser Überprüfungsschritt ist wichtig, um sicherzustellen, dass das wiederhergestellte Netzwerk genauso funktioniert wie das ursprüngliche Netzwerk vor dem Zeitpunkt der Sicherung.
Abschließende Gedanken
Dieser Leitfaden hat sich damit beschäftigt, wie und wo Blockchain-Netzwerke auf Container-Orchestrierungsplattformen Daten speichern, welche Vorteile die Aufbewahrung von Daten hat und wie Netzwerke wiederhergestellt oder migriert werden können, zusammen mit Verifizierungstests, um den Erfolg sicherzustellen.
Dieser Prozess erfordert sorgfältige Planung und Ausführung. Das Verständnis der Datenorganisation verschiedener Knotentypen ist für eine erfolgreiche Sicherung und Wiederherstellung unerlässlich.
Jede Komponente speichert Daten auf unterschiedliche Weise, und ganzheitliche Ansätze zur Aufbewahrung müssen all diese Unterschiede berücksichtigen.
Bei der Wiederherstellung geht's nicht nur darum, Dateien an ihren ursprünglichen Speicherort zu kopieren. Es ist eine sorgfältige Reihenfolge nötig, die mit unabhängigen Diensten anfängt und dann zu abhängigen Diensten übergeht.
Die dezentrale Struktur von Blockchain-Netzwerken macht die Sache etwas komplizierter und erfordert zusätzliche Überprüfungsschritte, um sicherzustellen, dass alle Knoten nach der Wiederherstellung synchronisiert sind.
Die dezentrale Natur von Blockchain-Netzwerken macht die Sache komplizierter, und wir brauchen zuverlässige Verfahren zur Sicherung und Wiederherstellung, um die Geschäftskontinuität zu gewährleisten und wertvolle Blockchain-Daten zu schützen, falls:
- •Versehentliche Löschungen
- •Infrastruktur-Migrationen
- •Szenarien zur Notfallwiederherstellung
Es ist genauso wichtig, diese Verfahren regelmäßig zu testen, um sicherzustellen, dass sie bei Bedarf auch richtig funktionieren.


