Forum Linux.pl
System => Administracja => Wątek zaczęty przez: pld w 2018-03-17, 17:38:04
-
Witam serdecznie,
poszukuje usługi w Linux'ie która zapewnia (HA)
-taką samą zawartość obu serwerów
-podczas awarii jednego automatycznie przełączenie
Która usługa jest odpowiednia, której usługi konfiguracji warto się uczyć?
-
Co do pkt #1: Na jakim poziome ma być taka sama zawartość serwerów? Co to za serwery - w sensie jakiej usługi? Czy trzeba synchronizować na poziomie sektorów dysku? Na poziomie filesystemów? Na poziomie zawartości baz danych? Im "wyżej" synchronizujesz, tym łatwiej...
Co do pkt #2: Na jakim poziomie miałoby być przełączenie? Przejęcie IP?
Tutaj trzeba zrobić dłuższą checklistę:
* Profil danych: czy dane głównie czytanie, rzadko zmieniane (serwer WWW) czy głównie pisane, rzadko czytane (serwer logów) czy po pół (serwer pocztowy)?
* Szacowana ilość danych
* Koszt utraty danych podczas przełączenia węzłów
* Ilość i typ dostępnych serwerów sprzętowych
* Ilość i typ uruchomionych serwerów progoramowych/usług
* Czy serwery koło siebie czy rozrzucone po świecie
* Jakie systemy? Zabawy z automatycznym przełączaniem adresów IP łatwiej robi się na BSD-kach (natywny protokół CARP we FreeBSD i OpenBSD)
-
1. Mam do zapewnienia HA kilku serwerów
a. Firebird
b. Samba
c. DHCP,DNS,Firewall
d. Apache
2. Przejęcie IP (chyba że się nie da to bez tego)
Serwery koło siebie
-
Jak tak, to:
Raczej poleciłbym, choć na część serwerów (DHCP, DNS, FW) - FreeBSD.
* FW - pfsync zapewni spójność reguł i stanu firewalla między węzłami.
* DNS - tylko synchronizacja baz (np rsync) i niech będzie świadczone przez 2 niezależne serwery. Sama konfiguracja dwóch serwerów w kliencie zapewni failover.
* DHCP - nie wiem, jaki serwer. Niektóre używają bazy danych jako backendu i wtedy bezpieczeństwo backendu zapewni replikacja bazy a bezpieczeństwo frontendu np CARP albo - tak jak z DNS - praca 2 serwerów jednocześnie.
* Firebird ma "zewnętrzne" narzędzia do replikacji baz między wieloma serwerami.
* Samba i pliki statyczne do Apache'a - wzdeh... To trudniej - na przykład glusterfs, sieciowy system plików z replikacją. Stawiasz kilka serwerów przechowujących i synchronizujących dane, a na serwerach "konsumujących" je (czyli właśnie katalogi udostępniane przez Sambę czy Apache) podmontowujesz je. Trochę jak NFS, tylko z dodatkową replikacją danych. System działa jak długo działa wystarczająco dużo serwerów glustera, aby zapewnić komplet danych (przy mirrorze - co najmniej jeden) i co najmniej jeden serwer Samba/Apache.
* Niech ręka linusowa broni stawiać Firebirda z plikami baz na glusterfs.
Czyli podsumowując:
1/ Najbardziej "na dnie"
- serwery zapewniające przestrzeń danych dla GlusterFS
- serwery FireBird z replikacją między serwerami
- serwery użytkowników dla Samby (nie wiem, jaki backend planujesz - LDAP?)
Nic nie stoi na przeszkodzie, żeby każdy serwer backendowy był współdzielony przez poszczególne serwisy, jako osobne usługi nie korzystające z siebie nawzajem. Czyli np 3-4 serwery, na każdym replika glusterfs, firebirda i LDAPa
2/ Middleware
- Serwer Apache (pliki serwowane z udziału glusterfs, dane serwowane z klastra FireBird)
- Serwer Samba (pliki serwowane z udziału glusterfs, użytkownicy z klastra LDAP)
- DNS - konfiguracja synchronizowana z Rsync, serwowana z glusterfs albo serwowana z bazy danych (zależnie od użytego serwera)
- DHCP - konfiguracja serowowana z bazy danych, tam też baza przydziałów. Ostatecznie Dnsmasq, tylko niech każdy serwer serwuje IPki z rozłączych zakresów, bo ten serwer nie ma synchronizacji baz przydziałów.
3/ Frontend
- Firewall synchronizowany przez pfsync
Wersja bida-bida: 4 serwery, 2 na BE i 2 na połączone FE+MW. Backend - dużo dysku, średniomocne kompy, frontend z MW: mało dysku, mocniejsze kompy.