
Wprowadzenie
W świecie systemów rozproszonych zdarzają się katastrofalne błędy. Wyobraź sobie, że przypadkowo usunąłeś całą grupę klastrów z infrastruktury blockchain. Takie zdarzenia mogą mieć katastrofalne konsekwencje.
Najlepszym sposobem uniknięcia takich katastrof jest utrzymywanie odpowiednich rezerw danych. W przypadku pracy z frameworkami blockchain dla przedsiębiorstw w frameworkach orkiestracji kontenerów posiadanie rezerw danych ma absolutnie kluczowe znaczenie, zwłaszcza podczas wdrażania strategii tworzenia kopii zapasowych blockchain w Kubernetes i niezawodnej strategii tworzenia kopii zapasowych orkiestracji kontenerów.
Połączenie tych technologii zapewnia potężną i wysoce bezpieczną platformę do przetwarzania transakcji blockchain. Sama struktura jest rozwiązaniem open source zarządzanym przez społeczność, które oferuje platformę dla wszystkich implementacji związanych z rozproszonym rejestrem.
Ta struktura ma wiele zalet, takich jak wysoka wydajność i skalowalność. Zapewnia wysoki poziom zaufania między uczestnikami o znanej tożsamości oraz bogate możliwości wyszukiwania w niezmiennym rejestrze.
Niniejszy przewodnik zawiera kompleksowe informacje na temat tworzenia kopii zapasowych i odzyskiwania danych w łańcuchu bloków, ochrony i odzyskiwania danych w sieciach łańcucha bloków działających w środowiskach kontenerowych bez żadnych problemów, w tym scenariuszy odzyskiwania danych po awarii w środowisku Hyperledger Fabric.
Zrozumienie, dlaczego rezerwy danych są konieczne, stanowi podstawę tego procesu.
Dlaczego rezerwy danych są niezbędne
Tworzenie rezerw danych nie jest opcjonalne, ale obowiązkowe z kilku ważnych powodów.
Niezawodność systemu
Posiadanie rezerw danych pozwala zespołom działać z większą pewnością. Korzystając z pamięci masowej opartej na chmurze do tworzenia kopii zapasowych, dodatkowy poziom bezpieczeństwa zapobiega różnym formom utraty danych spowodowanym przez:
- •Klęski żywiołowe
- •Błąd ludzki
- •Złośliwe ataki
Na przykład, jeśli podczas ponownego uruchamiania podu lub awarii wystąpią błędy w prawidłowej konfiguracji ścieżki montowania dla aplikacji w specyfikacji wdrożenia, utrata danych będzie nieunikniona bez odpowiednich kopii zapasowych.
Solidność systemu
Rezerwy danych pomagają zwiększyć niezawodność aplikacji w przypadku nieoczekiwanych awarii i błędów. Członkowie zespołu mogą przypadkowo skasować woluminy podczas normalnej pracy. Posiadanie rezerw pozwala przywrócić aplikacje do najbardziej aktualnego stanu, zmniejszając czas przestoju i utratę danych.
Ochrona i przestrzeganie standardów
Posiadanie rezerw pomaga poprawić ogólne bezpieczeństwo aplikacji i zapewnia zgodność z normami branżowymi, chroniąc przed nieoczekiwanymi zdarzeniami związanymi z uszkodzeniem danych i złośliwymi atakami. Jest to szczególnie ważne w branżach regulowanych, w których standardy integralności danych są wysokie.
Modyfikacje infrastruktury
Rezerwy danych ułatwiają poruszanie się po modyfikacjach infrastruktury. Podczas migracji sieci blockchain do różnych dostawców usług w chmurze konieczne może być zastosowanie różnych mechanizmów przechowywania danych w celu obniżenia kosztów. Posiadanie kompleksowych kopii zapasowych sprawia, że takie przejścia przebiegają płynnie i bez ryzyka.
Wdrożenie sieciowe
W niniejszym przewodniku założono istnienie istniejącej sieci blockchain skonfigurowanej na platformie do koordynacji kontenerów z dedykowanymi przestrzeniami nazw dla każdej organizacji, w której działają wszystkie jej usługi.
Konfiguracja sieci powinna zawierać przestrzeń nazw dla każdej organizacji, a w ramach każdej przestrzeni nazw powinny znajdować się określone typy wdrożeń.
Każda przestrzeń nazw organizacyjnych zazwyczaj zawiera:
- •Niektóre węzły równorzędne
- •Bazy danych księgowych
- •Serwery certyfikatów dla organizacji, które muszą zarejestrować nowe tożsamości
- •Bazy danych serwerów certyfikatów
- •Węzły usług zamawiania dla organizacji, które uczestniczą w usłudze zamawiania
Trwałość danych w środowiskach kontenerowych
Aplikacje stanowe muszą przechowywać i pobierać dane, aby działać poprawnie. Aplikacja może sama zarządzać tym zadaniem lub przekazać je całkowicie lub częściowo innej aplikacji stanowej, takiej jak baza danych.
Ostatecznie wszystko jest przechowywane w postaci plików lub folderów. Aplikacje te są zazwyczaj skonfigurowane tak, aby korzystać z określonych ścieżek plików, w których przechowują trwałe dane.
Wdrożenia kontenerowe są wykorzystywane do osiągnięcia trwałości danych blockchain przy użyciu kombinacji:
- •Trwałe montowanie woluminów z woluminami trwałymi
- •Mapy konfiguracyjne
- •Zabezpiecz obiekty pamięci masowej
Dane wrażliwe, takie jak klucze kryptograficzne i certyfikaty, są montowane jako bezpieczne obiekty pamięci masowej. Dane konfiguracyjne, takie jak pliki specyfikacji, są montowane jako mapy konfiguracyjne.
Oznacza to, że pliki i foldery znajdujące się we wszystkich ścieżkach montowania trwałych woluminów, bezpiecznych obiektach pamięci masowej i mapach konfiguracyjnych tworzą pełen zestaw danych dla tego wdrożenia.
Chroń swoją infrastrukturę blockchain już dziś
Wdrażaj kompleksowe strategie tworzenia kopii zapasowych, aby zabezpieczyć dane blockchain i zapewnić ciągłość działania firmy.
Organizacja danych węzłów równych
Węzły równorzędne przechowują niektóre dane lokalnie w domyślnych lokalizacjach, a pozostałe dane przekazują do baz danych rejestru.
Folder zabezpieczeń warstwy transportowej zawiera certyfikat i parę kluczy dla węzła równorzędnego.
Folder konfiguracji struktury zawiera pliki specyfikacji z konfiguracją używaną podczas uruchamiania peer.
Folder dostawcy usług członkowskich zawiera informacje o członkostwie dla rówieśników, certyfikat rejestracji i klucz, łańcuch certyfikatów z serwera urzędu certyfikacji.
Folder dostawcy usług członkostwa administratora zawiera poświadczenia administratora.
Folder produkcyjny zawiera części danych księgi, które obejmują:
- •Sam łańcuch bloków
- •Zainstalowany kod łańcucha i dane dotyczące cyklu życia
- •Prywatne magazyny danych
- •Tymczasowe sklepy uwzględnione podczas przesyłania transakcji
Organizacja danych dotyczących usług zamawiania
Węzły usług zamawiania przechowują większość danych lokalnie w domyślnych lokalizacjach. Kilka folderów jest podobnych do tych w węzłach równorzędnych, ale służą one do przechowywania:
- •Informacje dotyczące członkostwa w serwisie
- •Certyfikat bezpieczeństwa warstwy transportowej i pary kluczy
- •Certyfikat rejestracji i pary kluczy
Folder ledger przechowuje łańcuchy, których częścią jest ta usługa porządkowania, oraz operacje oczekujące.
Folder produkcyjny zawiera pliki specyficzne dla danego algorytmu konsensusu i migawek.
Organizacja danych serwera urzędu certyfikacji
Serwery urzędów certyfikacji przechowują część danych lokalnie w domyślnych lokalizacjach, a pozostałą część w bazach danych serwerów urzędów certyfikacji.
Folder certyfikatów autoryzacyjnych tkaniny zawiera:
- •Certyfikaty serwerów
- •Certyfikaty bezpieczeństwa warstwy transportowej
- •Pliki konfiguracyjne używane podczas uruchamiania usługi
Podczas przywracania warto zachować i użyć nowych certyfikatów bezpieczeństwa warstwy transportowej oraz pliku konfiguracyjnego serwera dla urzędu certyfikacji, ponieważ reprezentują one najnowsze zmiany profilu, ale pozostałą zawartość, taką jak certyfikaty rejestracji, należy zastąpić zawartością z poprzedniego klastra.
Strategie ochrony danych
Najpierw upewnij się, że zachowujesz bezpieczne obiekty pamięci masowej i mapy konfiguracji. Istnieje kilka metod tworzenia kopii zapasowych danych znajdujących się w woluminach.
Jednym ze sposobów jest wykonanie migawek woluminów używanych przez te usługi. Innym sposobem jest skorzystanie ze specjalistycznych usług lub narzędzi zaprojektowanych specjalnie do tego celu, posiadających różne funkcje i możliwości.
Wybierz odpowiednią strategię zachowania danych w oparciu o swoje potrzeby i kontekst. Niektóre podejścia mogą ułatwić migrację obciążeń między klastrami, a inne nie.
Procedury odzyskiwania danych
Strategia odzyskiwania danych zależy od zastosowanej strategii przechowywania. Zapoznaj się z odpowiednią dokumentacją dotyczącą przywracania danych dla wybranej metody.
Zacznij od odtworzenia bezpiecznych obiektów pamięci masowej i map konfiguracyjnych na podstawie zachowanych danych. Następnie przejdź do trybu uśpienia usług i skopiuj zachowane dane do kontenera.
Powtórz ten proces dla wszystkich usług we wszystkich przestrzeniach nazw, dbając o przywrócenie normalnie zamontowanych danych.
Najpierw uruchom niezależne usługi, takie jak bazy danych rejestrów i bazy danych serwerów certyfikatów, a następnie przejdź do pozostałych usług. Takie stopniowe podejście pomaga zapewnić spełnienie zależności przed uruchomieniem usług zależnych.
Weryfikacja spójności zachowania
Sieci blockchain są systemami rozproszonymi, więc procesy tworzenia kopii zapasowych i przywracania danych stanowią wyzwanie pod względem spójności danych.
W dowolnym momencie wysokość łańcucha bloków w węzłach równorzędnych może się różnić z różnych powodów, w tym:
- •Szybkość sieci
- •Bliskość geograficzna
- •Typ węzła równorzędnego
Węzły peer typu leader jako pierwsze otrzymują bloki z usługi porządkującej, więc mogą je jako pierwsze zatwierdzać. Niektóre węzły peer mogą ulegać awariom wewnętrznym, z których wychodzą poprzez powtarzanie kroków, co w naturalny sposób powoduje, że zatwierdzają bloki później niż inne.
Można temu zapobiec na dwa sposoby. Po pierwsze, utwórz okno bez transakcji, w którym żadne transakcje nie są wysyłane do sieci. Następnie sprawdź stan rejestru w łańcuchu bloków za pomocą poleceń interfejsu wiersza poleceń peer, aby upewnić się, że wszystkie węzły peer mają tę samą wysokość przed rozpoczęciem procesu zachowania.
Po przywróceniu danych powtórz proces weryfikacji, aby upewnić się, że przywrócenie zostało wykonane prawidłowo. Przejrzyj logi usług peer i ordering, aby upewnić się, że wszystko działa prawidłowo.
Ten etap weryfikacji ma kluczowe znaczenie dla zapewnienia, że przywrócona sieć działa identycznie jak sieć oryginalna przed momentem utrwalenia.
Końcowe przemyślenia
W niniejszym przewodniku omówiono sposób i miejsce przechowywania danych przez sieci blockchain na platformach do koordynacji kontenerów, korzyści płynące z zachowania danych oraz sposób przywracania lub migracji sieci wraz z testami weryfikacyjnymi zapewniającymi powodzenie operacji.
Proces ten wymaga starannego planowania i wykonania. Zrozumienie organizacji danych różnych typów węzłów ma zasadnicze znaczenie dla pomyślnej konserwacji i odzyskiwania danych.
Każdy komponent przechowuje dane w inny sposób, a holistyczne podejście do konserwacji musi uwzględniać wszystkie te różnice.
Odzyskiwanie danych nie polega na kopiowaniu plików do ich pierwotnych lokalizacji. Wymaga ono starannego sekwencjonowania, które rozpoczyna się od usług niezależnych, a następnie przechodzi do usług zależnych.
Rozproszony charakter sieci blockchain zwiększa nieco złożoność i oznacza, że konieczne jest podjęcie dodatkowych kroków weryfikacyjnych, aby zapewnić synchronizację wszystkich węzłów po przywróceniu.
Rozproszony charakter sieci Blockchain oznacza większą złożoność, dlatego też musimy dysponować solidnymi procedurami przechowywania i odzyskiwania danych, aby zapewnić ciągłość działania i chronić cenne dane blockchain w przypadku:
- •Przypadkowe usunięcia
- •Migracje infrastruktury
- •Scenariusze odzyskiwania danych po awarii
Równie ważne jest regularne testowanie tych procedur, aby upewnić się, że działają one poprawnie, gdy są naprawdę potrzebne.


