Jak skonfigurować DRBD do powtórzenia pamięci na dwóch serwerach Centos 7

Jak skonfigurować DRBD do powtórzenia pamięci na dwóch serwerach Centos 7

DRBD (oznacza Rozproszone replikowane urządzenie blokowe) to rozproszone, elastyczne i wszechstronne replikowane rozwiązanie do przechowywania dla Linux. Odzwierciedla zawartość urządzeń blokowych, takich jak dyski twarde, partycje, objętości logiczne itp. między serwerami. Obejmuje kopię danych na dwóch urządzeniach pamięci, tak że jeśli jedno zawiedzie, można użyć danych na drugim.

Możesz pomyśleć o tym, jak konfiguracja sieciowa RAID 1 z dyskami odzwierciedlonymi na serwerach. Działa jednak w zupełnie inny sposób od RAID, a nawet sieciowy RAID.

Pierwotnie, DRBD był używany głównie w klastrach komputerowych o wysokiej dostępności (HA), poczynając od wersji 9, może być używany do wdrażania rozwiązań do przechowywania w chmurze.

W tym artykule pokażemy, jak zainstalować DRBD w Centos i krótko pokazamy, jak go używać do replikacji pamięci (partycji) na dwóch serwerach. To jest idealny artykuł, aby zacząć od korzystania z DRBD w Linux.

Środowisko testowe

Do celów tego artykułu używamy dwóch klastrów węzłów do tej konfiguracji.

  • Node1: 192.168.56.101 - Tecmint.Tecmint.Lan
  • Node2: 192.168.56.102 - Serwer1.Tecmint.Lan

Krok 1: Instalowanie pakietów DRBD

DRBD jest zaimplementowany jako moduł jądra Linux. Dokładnie stanowi sterownik dla wirtualnego urządzenia blokowego, więc jest on ustalony tuż u dołu stosu we/wy systemu.

DRBD można zainstalować z Elrepo Lub Epel Repozytoria. Zacznijmy od zaimportowania klawisza podpisania pakietu Elrepo i włączmy repozytorium, jak pokazano w obu węzłach.

# rpm -Import https: // www.Elrepo.org/rpm-gpg-key-elrepo.org # rpm -uvh http: // www.Elrepo.Org/Elrepo-Relase-7.0-3.El7.Elrepo.Noarch.RPM 

Następnie możemy zainstalować moduł i narzędzia jądra DRBD na obu węzłach, działając:

# Yum Instaluj -y Kmod-Drbd84 Drbd84-Utils 

Jeśli masz Selinux Włączone, musisz zmodyfikować zasady w celu zwolnienia procesów DRBD z Selinux Control.

# Semanage Permissive -a Drbd_t 

Ponadto, jeśli Twój system ma włączoną zaporę ogniową (zapora ogniowa), musisz dodać DRBD Port 7789 w zaporze ogniowej, aby umożliwić synchronizację danych między dwoma węzłami.

Uruchom te polecenia w pierwszym węźle:

# Firewall-CMD --PerManent --add-Rich-Rule = 'reguła rodzina = "ipv4".168.56.102 "port port =" 7789 "protokół =" tcp "akceptuj ' # firewall-cmd--relad 

Następnie uruchom te polecenia w drugim węźle:

# Firewall-CMD --PerManent --add-Rich-Rule = 'reguła rodzina = "ipv4".168.56.101 "port port =" 7789 "protokół =" tcp "akceptuj ' # firewall-cmd-eloproad 

Krok 2: Przygotowanie przechowywania niższego poziomu

Teraz, kiedy mamy DRBD Zainstalowani w dwóch węzłach klastrów, musimy przygotować obszar pamięci masowej na obu węzłach. Może to być partycja dysku twardego (lub pełny fizyczny dysk twardy), urządzenie RAID oprogramowania, wolumin logiczny LVM lub dowolny inny typ urządzenia blokowego znaleziony w systemie.

Do celów tego artykułu utworzymy manekinowe urządzenie blokowe wielkości 2 GB używając polecenie dd.

 # dd if =/dev/zero o =/dev/sdb1 bs = 2024K liczba = 1024 

Zakładamy, że jest to nieużywana partycja (/dev/sdb1) na drugim urządzeniu blokowym (/dev/sdb) dołączone do obu węzłów.

Krok 3: Konfigurowanie DRBD

Główny plik konfiguracyjny DRBD znajduje się pod adresem /etc/drbd.conf a dodatkowe pliki konfiguracyjne można znaleźć w /etc/drbd.D informator.

Aby powtórzyć pamięć, musimy dodać niezbędne konfiguracje w /etc/drbd.D/global_common.conf plik zawierający globalne i wspólne sekcje konfiguracji DRBD i możemy zdefiniować zasoby .res akta.

Zróbmy kopię zapasową oryginalnego pliku na obu węzłach, a następnie otwórz nowy plik do edycji (użyj edytora tekstu swoich upodobań).

# mv /etc /drbd.D/global_common.conf /etc /drbd.D/global_common.conf.orig # vim /etc /drbd.D/global_common.conf 

Dodaj następujące wiersze w obu plikach:

global użycie-count tak;  common net protocol c;  

Zapisz plik, a następnie zamknij edytor.

Krótko zacieńmy więcej światła na linii protokół c. DRBD obsługuje trzy różne tryby replikacji (zatem trzy stopnie synchronizacji replikacji), które są:

  • protokół a: Protokół replikacji asynchronicznej; Najczęściej jest używany w scenariuszach replikacji na duże odległości.
  • Protokół b: Półsynchroniczny protokół replikacji AKA Protokół synchroniczny pamięci.
  • protokół c: powszechnie używane do węzłów w sieciach z krótkimi dystansowymi; To zdecydowanie najczęściej stosowany protokół replikacji w konfiguracjach DRBD.

Ważny: Wybór protokołu replikacji wpływa na dwa czynniki wdrożenia: ochrona I czas oczekiwania. I wydajność, Natomiast jest w dużej mierze niezależny od wybranego protokołu replikacji.

Krok 4: Dodanie zasobu

A ratunek jest zbiorowym terminem, który odnosi się do wszystkich aspektów określonego replikowanego zestawu danych. Zdefiniujemy nasz zasób w pliku o nazwie /etc/drbd.D/Test.res.

Dodaj następującą zawartość do pliku, na obu węzłach (pamiętaj, aby zastąpić zmienne w zawartości rzeczywistych wartości dla twojego środowiska).

Zwróć uwagę na Nazwy hosta, Musimy określić nazwę hosta sieciowego, którą można uzyskać, uruchamiając polecenie niezamazja -n.

Test zasobów na Tecmint.Tecmint.LAN device /dev /drbd0; dysk /dev /sdb1; Meta-disk wewnętrzny; Adres 192.168.56.101: 7789;  na serwerze1.Tecmint.LAN device /dev /drbd0; dysk /dev /sdb1; Meta-disk wewnętrzny; Adres 192.168.56.102: 7789;  

Gdzie:

  • na nazwie hosta: w sekcji stwierdza, że ​​dotyczą ciąży załączonej konfiguracji.
  • test: to nazwa nowego zasobu.
  • urządzenie /dev /drbd0: Określa nowe wirtualne urządzenie blokowe zarządzane przez DRBD.
  • dysk /dev /sdb1: to partycja urządzenia blokowego, która jest urządzeniem podkładowym dla urządzenia DRBD.
  • Meta-Disk: Określa, gdzie DRBD przechowuje swoje metadane. Korzystanie z wewnętrznych środków, że DRBD przechowuje swoje meta danych na tym samym fizycznym urządzeniu niższym poziomie, co rzeczywiste dane produkcyjne.
  • adres: Określa adres IP i numer portu odpowiedniego węzła.

Należy również zauważyć, że jeśli opcje mają równe wartości na obu hostach, możesz je określić bezpośrednio w sekcji zasobów.

Na przykład powyższa konfiguracja może zostać zrestrukturyzowana do:

test zasobów device /dev /drbd0; dysk /dev /sdb1; Meta-disk wewnętrzny; na Tecmint.Tecmint.LAN adres 192.168.56.101: 7789;  na serwerze1.Tecmint.LAN adres 192.168.56.102: 7789;  

Krok 5: Inicjowanie i włączanie zasobów

Do interakcji z DRBD, Użyjemy następujących narzędzi administracyjnych, które komunikują się z modułem jądra w celu skonfigurowania i administrowania zasobami DRBD:

  • Drbdadm: narzędzie administracyjne wysokiego szczebla DRBD.
  • drbdsetup: Narzędzie administracyjne niższego poziomu do dołączania urządzeń DRBD do urządzeń blokowych, aby skonfigurować pary urządzeń DRBD w celu odzwierciedlenia ich urządzeń blokowych i sprawdzenia konfiguracji uruchamiania urządzeń DRBD.
  • Drbdmeta: to narzędzie do zarządzania danymi metali.

Po dodaniu wszystkich początkowych konfiguracji zasobów musimy wyświetlić zasób na obu węzłach.

# DrbDadm Test Test MD 
Zainicjuj masę danych meta

Następnie powinniśmy włączyć ratunek, który dołączy zasób do urządzenia podkładowego, a następnie ustawia parametry replikacji i łączy zasób z jego rówieśnikiem:

# Drbdadm Up Test 

Teraz, jeśli uruchomisz polecenie LSBLK, zauważysz, że urządzenie DRBD/wolumin DRBD0 jest związany z urządzeniem podkładowym /dev/sdb1:

# lsblk 
Wypisz urządzenia blokowe

Aby wyłączyć zasób, uruchom:

# test Down Down 

Aby sprawdzić status zasobu, uruchom następujące polecenie (pamiętaj, że Niespójne/niespójne W tym momencie oczekuje się stanu dysku):

# test statusu drbdadm lub # test statusu DRBDSETUP -serwis --statistics # dla bardziej szczegółowego statusu 
Sprawdź status zasobów na węzłach

Krok 6: Ustaw podstawowy zasób/źródło początkowej synchronizacji urządzeń

Na tym etapie, DRBD jest teraz gotowy do działania. Musimy teraz powiedzieć, który węzeł powinien być używany jako źródło początkowej synchronizacji urządzenia.

Uruchom następujące polecenie tylko w jednym węźle, aby rozpocząć początkową pełną synchronizację:

# DrbDadm Primary -Force Test # DrbDadm Test statusu 
Ustaw główny węzeł dla urządzenia początkowego

Po zakończeniu synchronizacji status obu dysków powinien być Aktualny.

Krok 7: Testowanie konfiguracji DRBD

Wreszcie, musimy sprawdzić, czy urządzenie DRBD będzie działać dobrze w przypadku replikowanych przechowywania danych. Pamiętaj, że użyliśmy pustego woluminu dysku, dlatego musimy utworzyć system plików na urządzeniu i zamontować go, aby przetestować, czy możemy go użyć do replikowanego przechowywania danych.

Możemy utworzyć system plików na urządzeniu za pomocą następującego polecenia, w węźle, w którym rozpoczęliśmy początkową pełną synchronizację (która ma zasób z podstawową rolą):

# mkfs -t ext4 /dev /drbd0 
Zrób system plików na woluminach DRBD

Następnie zamontuj go tak, jak pokazano (możesz nadać punkt mocowania odpowiednią nazwę):

# mkdir -p/mnt/drdb_pri/ # mount/dev/drbd0/mnt/drdb_pri/ 

Teraz skopiuj lub utwórz niektóre pliki w powyższym punkcie mocowania i wykonaj długą listę za pomocą polecenia LS:

# cd/mnt/drdb_pri/ # ls -l 
Lista zawartości woluminu pierwotnego DRBD

Następny, Unmount Urządzenie (upewnij się, że mocowanie nie jest otwarte, zmień katalog po jego zdaniu, aby zapobiec błędom) i zmień rolę węzła z podstawowy Do wtórny:

# Umount/mnt/drdb_pri/ # cd # DrbDadm test wtórny 

W drugim węźle (który ma zasób z rolą wtórną), uczyń go podstawową, a następnie zamontować na nim urządzenie i wykonaj długą listę punktu montażowego. Jeśli konfiguracja działa dobrze, wszystkie pliki przechowywane w tomie powinny być tam:

# DRBDADM Test podstawowy # mkdir -p/mnt/drdb_sec/ # Mount/dev/drbd0/mnt/ddb_sec/ # cd/mnt/drdb_sec/ # ls -l 
Testuj konfigurację DRBD pracującą nad węzłem wtórnym

Aby uzyskać więcej informacji, zobacz strony narzędzi administracji przestrzeni użytkowników:

# man drbdadm # man drbdsetup # man drbdmeta 

Odniesienie: Podręcznik użytkownika DRBD.

Streszczenie

DRBD jest niezwykle elastyczny i wszechstronny, co czyni go rozwiązaniem replikacji przechowywania odpowiedniego do dodania HA do dowolnej aplikacji. W tym artykule pokazaliśmy, jak zainstalować DRBD W Centos 7 i krótko pokazałem, jak go używać do replikacji przechowywania. Podziel się z nami swoimi przemyśleniami za pośrednictwem poniższego formularza opinii.