Automatyczne przełączanie awaryjne NFS, równoważenie obciążenia czy klastrowanie?


11

Używam NFS (i tylko tego znam dobrze w plikach sieciowych) od kilku lat. Ale nadal nie mogę się dowiedzieć ...

  • Jak sprawić, by NFSserwery były projektowane w klastry (lub z równoważeniem obciążenia?)
  • A przynajmniej wdrożenie go na serwerze MORE-THEN-ONE i „Automatyczne przełączanie awaryjne”.

Głównym celem jest NIE dopuszczanie, aby mój pojedynczy serwer NFS działał jako pojedynczy punkt awarii.


Ponieważ nie wiem, jak to zrobić poprawnie, do tej pory samodzielnie wymyśliłem:

  1. NFS na 2 serwerach.
  2. RSYNC z 1. (zakładanego serwera głównego) na inny 2. serwer.
  3. Na serwerach aplikacji (WWW itp.) Umieść a, Shell Scriptaby sprawdzić prawidłowy stan punktu montowania serwera NSF-Master. A następnie w razie potrzeby automatycznie odmontuj go (pozostawiając), a następnie automatycznie podłącz od drugiego.
  4. Główną funkcją, której użyłem w moim automatycznym skrypcie powłoki, jest nfsstat -m.. sprawdzenie stanu punktu podłączenia.

(Używam Redhat )

Ale i tak nadal nie sądzę, że jest to bezpieczny i standardowy sposób.

Odpowiedzi:


8

W tym samouczku zatytułowanym: Wysoce dostępny klaster NFS: konfiguracja Corosync i Pacemaker pokazuje, jak skonfigurować NFS aktywny / aktywny za pomocą NFS, Corosync i Pacemaker. Alternatywnie możesz postępować zgodnie z tym przewodnikiem zatytułowanym: Wysoce dostępna pamięć NFS z DRBD i Pacemaker, która pokazuje konfigurację aktywną / aktywną za pomocą DRDB i Pacemaker.

Prawdopodobnie zechcesz także zapoznać się z innymi linkami, aby zapoznać się z różnymi technologiami i terminologiami.

Pytania i odpowiedzi dotyczące błędów ServerFault powinny również okazać się pomocnym systemem plików w klastrze linux .

Dodatkowe referencje


@AndrewSavinykh - ten link pokazuje aktywne / pasywne udostępnione, jeśli tego właśnie szukasz.
slm

5

To tylko jeden z wielu sposobów, w jaki NFS jest do bani.

Nie można tego zrobić tylko z NFS do wersji 3. Będziesz musiał ręcznie dodać tę funkcjonalność.

To prawdopodobnie oznacza:

  • replikacja danych lub część pamięci współdzielonej
  • Przejęcie IP
  • Jakiś rodzaj monitorowania pulsu
  • Zarządzanie klastrami

Istnieją pakiety, aby to wszystko zrobić, ale będziesz musiał zintegrować je dla swojej organizacji.

Projekt Linux HA powstał wiele lat temu, aby zaimplementować niektóre z tych rzeczy. http://www.linux-ha.org/

Większość tego, co zrobili, powinieneś znaleźć już w dowolnej popularnej dystrybucji, z której korzystasz.

Warto zauważyć ... Jedną z największych przyczyn awarii systemu (jak dotąd) jest błąd administracyjny, a klastry HA są z definicji systemem złożonym i bardziej podatnym na błędy administracyjne.

OK poza NFS v4, NFS v4 zaczyna wdrażać niektóre funkcje skalowalności, bezpieczeństwa i dostępności, które AFS ma od 20 lat, nie jest w żaden sposób w pełni lub szeroko wdrożony, a nawet całkowicie kompatybilny z różnymi klientami i serwerami, ale jeśli używasz NFS, zacznij od v4 i sprawdź, co zostało już zaimplementowane na twojej platformie.


AFS był niesamowity i jest w dużej mierze zapomniany ... +1 za wyróżnienie
glallen

2

O ile mi wiadomo, nie można mieć NFS jako klastra aktywno-aktywnego. Teraz dla Active-Passive są pewne narzędzia, które pomogą Ci to osiągnąć. Jestem bardziej zaznajomiony z systemem operacyjnym Solaris i klastrem Solaris, które zapewniają możliwość tworzenia udziału / udziałów NFS o wysokiej dostępności w zależności od celu.

Jedną rzeczą, której będziesz potrzebować, jest pamięć współdzielona, ​​którą można przenieść z serwera A na serwer B i odwrotnie w razie potrzeby. Najlepiej pamięć iSCSI lub SAN. I adres IP powiązany z udziałem NFS.

Klaster będzie działał w ten sposób. W przypadku awarii serwera A, serwer B włączy IP z serwerem NFS i przejmie współdzielony dysk, zamontuje go i uruchomi serwer NFS. To samo dzieje się w przypadku awarii serwera B i awarii serwera A.

Jeśli chcesz to zrobić ręcznie, musisz wykonać podstawowe kroki, monitorując skrypty i skrypty, aby automatycznie włączać i wyłączać usługi.

Spójrz tutaj na Redhat


Skonfigurowałem aktywny / aktywny klaster NFS za pomocą modułu równoważenia obciążenia, CentOS, DRBD, GFS2 i Pacemaker. Zobacz moją odpowiedź, aby uzyskać więcej informacji.
doublesharp


2

Produkt Red Hat RHSS / RHGS (Red Hat Storage / Gluster Server) robi to doskonale, używając klienta GlusterFS opartego na FUSE do proxy połączeń NFS z działającym serwerem zaplecza, przy jednoczesnym zachowaniu kopii lustrzanej pamięci wielu węzłów serwerów, wszystko przejrzyste po stronie klienta. To bardzo sprytne rozwiązanie, które będzie dla Ciebie działać. Możesz zainstalować rozwiązanie EPEL / Extra RPM lub kupić od Red Hat. Po stronie klienta po prostu używasz FUSE / glusterfs lub NFS jako typu montowania w fstab. Żadnych bałaganiarskich kwarum / szermierki.


Zgadzam się, działa dobrze, a konfiguracja jest prosta
elbarna

1

Jest to bardzo przyjemny i prosty poradnik, wypróbowany i działa dobrze.

https://www.howtoforge.com/high_availability_nfs_drbd_heartbeat

Osobiście wolę lvs, ponieważ łączę ha z równoważeniem obciążenia, ale próbowałem z nfs + gfs2 + drbd i działa naprawdę źle. Może potrzebuję trochę jak, ale nie mogę znaleźć nic o lvs + nfs ha


Ale jak mam Virtual IPtam wspomnieć, na serwerach? (Nie wiem)
期 劇場

Jestem skonfigurowany na serwerze lvs, aby utworzyć virtualip potrzebujesz lvs, a jeśli chcesz, jest ładny interfejs internetowy o nazwie pirahna gui do tworzenia virtualip. Przeczytaj ten plik pdf na przykład guug.de/lokal/hamburg/talks/Linux -Terminal-Cluster-UNIHH.pdf
elbarna

Próbuję teraz skonfigurować lvs, virtualip..jest prawie niemożliwe, kiedy nfs jest montowany ze zdalnego, a jeden serwer nie działa, nfs jest blokowany nawet na ostatnim serwerze i na zdalnym kliencie.
elbarna

Nie ma mowy, jest niemożliwe aktywny / aktywny klaster z nfs
elbarna

Ale na szczęście możemy mieć pnfs
elbarna
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.