Wyszukiwanie w witrynie

Wprowadzenie do GlusterFS (system plików) i instalacja na RHEL/CentOS i Fedorze


Żyjemy w świecie, w którym ilość danych rośnie w nieprzewidywalny sposób, dlatego konieczne jest ich efektywne przechowywanie, niezależnie od tego, czy są one ustrukturyzowane, czy nie. Rozproszone systemy komputerowe oferują szeroką gamę zalet w porównaniu ze scentralizowanymi systemami komputerowymi. Tutaj dane są przechowywane w sposób rozproszony z kilkoma węzłami jako serwerami.

Koncepcja serwera metadanych nie jest już potrzebna w rozproszonym systemie plików. W rozproszonych systemach plików oferuje wspólny punkt widzenia wszystkich plików rozdzielonych pomiędzy różnymi serwerami. Dostęp do plików/katalogów na tych serwerach magazynu odbywa się w normalny sposób.

Na przykład uprawnienia do plików/katalogów można ustawić tak, jak w zwykłym modelu uprawnień systemowych, tj. Właściciel, grupa i inne. Dostęp do systemu plików zasadniczo zależy od tego, jak dany protokół jest zaprojektowany do pracy z nim.

Co to jest GlusterFS?

GlusterFS to rozproszony system plików zdefiniowany do użycia w przestrzeni użytkownika, tj. System plików w przestrzeni użytkownika (FUSE). Jest to system plików oparty na oprogramowaniu, który ma własną elastyczność.

Spójrz na poniższy rysunek, który schematycznie przedstawia pozycję GlusterFS w modelu hierarchicznym. Domyślnie protokół TCP będzie używany przez GlusterFS.

Zalety GlusterFS

  1. Innowacja – eliminuje metadane i może radykalnie poprawić wydajność, co pomoże nam ujednolicić dane i obiekty.
  2. Elastyczność – dostosowana do wzrostu i zmniejszania rozmiaru danych.
  3. Skaluj liniowo – dostępność wynosi petabajty i więcej.
  4. Prostota – jest łatwy w zarządzaniu i niezależny od jądra podczas działania w przestrzeni użytkownika.

Co wyróżnia Gluster spośród innych rozproszonych systemów plików?

  1. Możliwość sprzedaży – brak serwera metadanych zapewnia szybszy system plików.
  2. Niedrogi – można go wdrożyć na standardowym sprzęcie.
  3. Elastyczny – jak powiedziałem wcześniej, GlusterFS to system plików składający się wyłącznie z oprogramowania. Tutaj dane są przechowywane w natywnych systemach plików, takich jak ext4, xfs itp.
  4. Open Source – obecnie GlusterFS jest obsługiwany przez Red Hat Inc, wartą miliard dolarów firmę open source, w ramach Red Hat Storage.

Koncepcje przechowywania w GlusterFS

  1. Cegła – Cegła to w zasadzie dowolny katalog, który ma być współdzielony w zaufanej puli pamięci.
  2. Trusted Storage Pool – to zbiór tych udostępnionych plików/katalogów, które opierają się na zaprojektowanym protokole.
  3. Przechowywanie blokowe – są to urządzenia, przez które dane przesyłane są pomiędzy systemami w formie bloków.
  4. Klaster – w Red Hat Storage zarówno klaster, jak i zaufana pula pamięci masowej niosą ze sobą to samo znaczenie współpracy serwerów pamięci masowej w oparciu o zdefiniowany protokół.
  5. Rozproszony system plików – system plików, w którym dane są rozproszone w różnych węzłach, gdzie użytkownicy mogą uzyskać dostęp do pliku bez znajomości jego rzeczywistej lokalizacji. Użytkownik nie odczuwa wrażenia zdalnego dostępu.
  6. FUSE – jest to ładowalny moduł jądra, który umożliwia użytkownikom tworzenie systemów plików powyżej jądra bez angażowania jakiegokolwiek kodu jądra.
  7. glusterd – glusterd to demon zarządzający GlusterFS będący szkieletem systemu plików, który będzie działał przez cały czas, gdy serwery będą w stanie aktywnym.
  8. POSIX – przenośny interfejs systemu operacyjnego (POSIX) to rodzina standardów zdefiniowanych przez IEEE jako rozwiązanie zapewniające kompatybilność pomiędzy wariantami Uniksa w postaci interfejsu programowalnego aplikacji (API).
  9. RAID – Redundant Array of Independent Disks (RAID) to technologia zapewniająca zwiększoną niezawodność pamięci masowej dzięki redundancji.
  10. Subvolume – Cegła po przetworzeniu przez co najmniej jednego tłumacza.
  11. Tłumacz – Tłumacz to fragment kodu, który wykonuje podstawowe czynności inicjowane przez użytkownika z punktu podłączenia. Łączy jeden lub więcej tomów podrzędnych.
  12. Objętość – tom to logiczny zbiór cegieł. Wszystkie operacje opierają się na różnych typach woluminów tworzonych przez użytkownika.
Różne typy woluminów

Dozwolone są także reprezentacje różnych typów woluminów i kombinacji tych podstawowych typów woluminów, jak pokazano poniżej.

Rozproszony wolumin replikowany

Reprezentacja woluminu rozproszonego i replikowanego.

Instalacja GlusterFS w RHEL/CentOS i Fedorze

W tym artykule po raz pierwszy zainstalujemy i skonfigurujemy GlusterFS w celu zapewnienia wysokiej dostępności pamięci masowej. W tym celu bierzemy dwa serwery do tworzenia woluminów i replikowania danych między nimi.

Krok: 1 Miej co najmniej dwa węzły

  1. Zainstaluj CentOS 6.5 (lub dowolny inny system operacyjny) na dwóch węzłach.
  2. Ustaw nazwy hostów o nazwach „serwer1” i „serwer2”.
  3. Działające połączenie sieciowe.
  4. Dysk magazynujący w obu węzłach o nazwie „/data/brick”.

Krok 2: Włącz repozytorium EPEL i GlusterFS

Przed zainstalowaniem GlusterFS na obu serwerach musimy włączyć repozytoria EPEL i GlusterFS, aby spełnić zależności zewnętrzne. Użyj poniższego łącza, aby zainstalować i włączyć repozytorium epel w obu systemach.

  1. Jak włączyć repozytorium EPEL w RHEL/CentOS

Następnie musimy włączyć repozytorium GlusterFs na obu serwerach.

wget -P /etc/yum.repos.d http://download.gluster.org/pub/gluster/glusterfs/LATEST/EPEL.repo/glusterfs-epel.repo

Krok 3: Instalacja GlusterFS

Zainstaluj oprogramowanie na obu serwerach.

yum install glusterfs-server

Uruchom demona zarządzania GlusterFS.

service glusterd start

Teraz sprawdź status demona.

service glusterd status
Przykładowe wyjście
service glusterd start
  service glusterd status
  glusterd.service - LSB: glusterfs server
   	  Loaded: loaded (/etc/rc.d/init.d/glusterd)
  	  Active: active (running) since Mon, 13 Aug 2012 13:02:11 -0700; 2s ago
  	 Process: 19254 ExecStart=/etc/rc.d/init.d/glusterd start (code=exited, status=0/SUCCESS)
  	  CGroup: name=systemd:/system/glusterd.service
  		  ├ 19260 /usr/sbin/glusterd -p /run/glusterd.pid
  		  ├ 19304 /usr/sbin/glusterfsd --xlator-option georep-server.listen-port=24009 -s localhost...
  		  └ 19309 /usr/sbin/glusterfs -f /var/lib/glusterd/nfs/nfs-server.vol -p /var/lib/glusterd/...

Krok 4: Skonfiguruj SELinux i iptables

Otwórz „/etc/sysconfig/selinux” i zmień SELinux na tryb „permissive” lub „disabled” na obu serwerach. Zapisz i zamknij plik.

This file controls the state of SELinux on the system.
SELINUX= can take one of these three values:
    enforcing - SELinux security policy is enforced.
    permissive - SELinux prints warnings instead of enforcing.
    disabled - No SELinux policy is loaded.
SELINUX=disabled
SELINUXTYPE= can take one of these two values:
    targeted - Targeted processes are protected,
    mls - Multi Level Security protection.
SELINUXTYPE=targeted

Następnie opróżnij iptables w obu węzłach lub zezwól na dostęp do drugiego węzła za pośrednictwem iptables.

iptables -F

Krok 5: Skonfiguruj pulę zaufaną

Uruchom następujące polecenie na „Serwerze 1”.

gluster peer probe server2

Uruchom następujące polecenie na „Serwer2”.

gluster peer probe server1

Uwaga: po podłączeniu tej puli tylko zaufani użytkownicy będą mogli sondować nowe serwery w tej puli.

Krok 6: Skonfiguruj wolumin GlusterFS

Zarówno na serwerze1, jak i serwerze2.

mkdir /data/brick/gv0

Utwórz wolumen Na dowolnym pojedynczym serwerze i uruchom wolumen. Tutaj wziąłem „Serwer1”.

gluster volume create gv0 replica 2 server1:/data/brick1/gv0 server2:/data/brick1/gv0
gluster volume start gv0

Następnie potwierdź status woluminu.

gluster volume info

Uwaga: jeśli wolumen in-case nie zostanie uruchomiony, komunikaty o błędach będą rejestrowane w obszarze „/var/log/glusterfs” na jednym lub oba serwery.

Krok 7: Sprawdź wolumin GlusterFS

Zamontuj wolumin w katalogu „/mnt”.

mount -t glusterfs server1:/gv0 /mnt

Teraz możesz tworzyć i edytować pliki w punkcie podłączenia jako pojedynczy widok systemu plików.

Funkcje GlusterFS

  1. Samonaprawa – jeśli którakolwiek z cegieł w zreplikowanym woluminie nie działa, a użytkownicy zmodyfikują pliki w drugiej cegle, demon automatycznej samonaprawy zacznie działać, gdy tylko cegła zostanie ponownie podniesiona czas, a transakcje, które miały miejsce w czasie przestoju, są odpowiednio synchronizowane.
  2. Rebalans – jeśli dodamy nową cegłę do istniejącego woluminu, w którym wcześniej znajdowała się duża ilość danych, możemy wykonać operację ponownego zrównoważenia, aby rozdzielić dane pomiędzy wszystkie cegły, łącznie z nowo dodaną cegłą.
  3. Replikacja geograficzna – zapewnia kopie zapasowe danych na potrzeby odzyskiwania po awarii. Tutaj pojawia się koncepcja woluminów głównych i podrzędnych. Tak więc, jeśli master nie działa, dostęp do wszystkich danych można uzyskać poprzez urządzenie slave. Ta funkcja służy do synchronizowania danych pomiędzy serwerami oddzielonymi geograficznie. Inicjowanie sesji replikacji geograficznej wymaga szeregu poleceń gluster.

Oto poniższy zrzut ekranu przedstawiający moduł replikacji geograficznej.

Linki referencyjne

Strona główna GlusterFS

To wszystko na teraz!. Bądź na bieżąco, aby poznać szczegółowy opis funkcji takich jak samoleczenie i przywracanie równowagi, replikacja geograficzna itp. w moich nadchodzących artykułach.