Wydanie rozproszonego, replikowanego urządzenia blokowego DRBD 9.2.0

Opublikowano wydanie rozproszonego, replikowanego urządzenia blokowego DRBD 9.2.0, które pozwala na implementację czegoś w rodzaju macierzy RAID-1 utworzonej z kilku dysków różnych maszyn połączonych siecią (dublowanie sieci). System zaprojektowany jest jako moduł dla jądra Linuksa i rozpowszechniany jest na licencji GPLv2. Gałąź drbd 9.2.0 może w przejrzysty sposób zastąpić drbd 9.xx i jest w pełni kompatybilna na poziomie protokołu, plików konfiguracyjnych i narzędzi.

DRBD umożliwia łączenie dysków węzłów klastra w jedną, odporną na awarie pamięć masową. Dla aplikacji i systemu taka pamięć wygląda jak urządzenie blokowe, które jest takie samo dla wszystkich systemów. Podczas korzystania z DRBD wszystkie operacje na dyskach lokalnych są wysyłane do innych węzłów i synchronizowane z dyskami innych komputerów. Jeśli jeden węzeł ulegnie awarii, pamięć będzie automatycznie kontynuować pracę, wykorzystując pozostałe węzły. Po przywróceniu dostępności uszkodzonego węzła jego stan zostanie automatycznie zaktualizowany.

Klaster tworzący magazyn może składać się z kilkudziesięciu węzłów zlokalizowanych zarówno w sieci lokalnej, jak i rozproszonych geograficznie w różnych centrach danych. Synchronizacja w takich rozgałęzionych magazynach odbywa się z wykorzystaniem technologii sieci mesh (dane przepływają łańcuchem od węzła do węzła). Replikacja węzłów może odbywać się zarówno w trybie synchronicznym, jak i asynchronicznym. Na przykład węzły hostowane lokalnie mogą korzystać z replikacji synchronicznej, a do przesyłania do zdalnych lokalizacji można używać replikacji asynchronicznej z dodatkową kompresją i szyfrowaniem ruchu.

Wydanie rozproszonego, replikowanego urządzenia blokowego DRBD 9.2.0

W nowym wydaniu:

  • Zmniejszone opóźnienia w przypadku żądań zapisu lustrzanego. Ściślejsza integracja ze stosem sieciowym zmniejszyła liczbę przełączników kontekstu programu planującego.
  • Zmniejszona rywalizacja między we/wy aplikacji a we/wy resynchronizacji poprzez optymalizację blokowania podczas ponownej synchronizacji zakresów.
  • Znacząco poprawiona wydajność resynchronizacji na backendach korzystających z dynamicznej alokacji pamięci („thinprovisioning”). Wydajność została poprawiona poprzez połączenie operacji przycinania/odrzucania, które trwają znacznie dłużej niż zwykłe operacje zapisu.
  • Dodano obsługę sieciowych przestrzeni nazw, co umożliwiło integrację z Kubernetesem w celu przesyłania ruchu sieciowego replikacji przez wydzieloną sieć powiązaną z kontenerami, zamiast sieci środowiska hosta.
  • Dodano moduł transport_rdma do użytku jako transport Infiniband/RoCE zamiast protokołu TCP/IP przez Ethernet. Zastosowanie nowego transportu pozwala zredukować opóźnienia, zmniejszyć obciążenie procesora i zapewnić odbiór danych bez zbędnych operacji kopiowania (kopia zerowa).

Źródło: opennet.ru

Dodaj komentarz