Wysoka dostępność (ang. HA – High Availability) w trybie Active-Active jest rozwiązaniem polegającym na skonfigurowaniu dwóch urządzeń redundantnych (dublujących się) i połączeniu ich w klaster w taki sposób, aby:
Sposób #1 – urządzenia pracowały równorzędnie i w razie awarii któregokolwiek, urządzenie sprawne przejmuje obsługę całego ruchu sieciowego.
Sposób #2 – urządzenia pracowały aktywnie razem we wzajemnym monitoringu i jedno z nich (Master) ma wyższy priorytet, tzn. w przypadku działania bezawaryjnego, obsługuje ruch sieciowy w pierwszej kolejności.
0. Propozycja efektywnego i wygodnego zarządzania.
Przed właściwą konfiguracją klastra, warto najpierw skonfigurować interfejsy zarządzające, które docelowo mają być niezależne od synchronizacji HA.
Więcej tutaj: Wstęp/Zarządzanie.
1. Wytypowanie urządzeń do ról Master-Master (sposób #1) lub Master-Backup (sposób #2)
W niniejszym przykładzie przedstawimy sposób #2 oraz – wariantowo – sposób #1.
Przed przystąpieniem do konfiguracji klastra HA, decydujemy o tym, które urządzenie będzie pracowało jako główne (Master; tu, roboczo: „HILLSTONE A”), a które jako zapasowe (Backup; tu: „HILLSTONE B”). (*)
Załóżmy, że zamierzamy użyć dwóch urządzeń Hillstone jako klastra HA.
W tym celu łączymy i konfigurujemy sieć komputerową, jak na poniższym schemacie:
(*) – jeśli zdecydujemy się na sposób #1, oba urządzenia będą pracowały jako „Master”
2. Konfiguracja interfejsów i przypisanie ich do stref (HILLSTONE A)
Wybieramy zakładkę Network -> Interface (1), wskazujemy interfejs, który należy skonfigurować, naciskamy Edit (2), a następnie w oknie Ethernet Interface ustawiamy opcje (tu: odnośniki naniesione na okno główne):
– Binding Zone – strefa powiązana – (tu, dla wszystkich: “Layer 3 Zone”)
– Zone (3) – używamy stref predefiniowanych:
——“trust” (domyślna zaufana dla LAN; “ethernet0/2”, “ethernet0/3”)
——“untrust” (domyślna niezaufana dla WAN; “ethernet0/1” )
——“mgt” (domyślna zarządzająca; “ethernet0/0”)
——“HA” (domyślna dla interfejsów kontrolnych HA; “ethernet0/8”)
– Type (4) – typ adresacji – (tu, dla wszystkich: “Static IP”)
– IP Address (5) – adres IP – według powyższego schematu lub poniższego zrzutu ekranu
– Netmask (5) – maska sieciowa – (tu, dla wszystkich: “255.255.255.0”; 24-bitowa)
3. Zdefiniowanie obiektów do śledzenia (HILLSTONE A)
Obiekt służący do śledzenia poprawności działania to wskazany przez użytkownika element systemu, którego awaria lub niezadowalająca jakość pracy automatycznie odłączy urządzenie dotknięte awarią i przeniesie obsługę całego ruchu sieciowego na urządzenie sprawne.
Obiektem tym może być interfejs, protokół sieciowy lub jakość komunikacji. Hillstone pozwala również na zdefiniowanie wielu obiektów.
W poniższym przykładzie posłużymy się interfejsami “ethernet0/1” i „ethernet0/2”, które umieścimy w obiekcie o nazwie „grupa1” oraz “ethernet0/1” i „ethernet0/3”, które umieścimy w obiekcie o nazwie „grupa2”.
W celu zdefiniowania obiektów, wykonujemy następujące czynności:
Wybieramy zakładkę Object -> Track Object [1], a następnie w oknie Track Object Configuration ustawiamy pola:
– Name [2] – nazwa (obowiązkowa; tu:”grupa1″)
– Track Type [3] – typ śledzenia (tu: “Interface”)
– HA Sync [4] – włączamy synchronizację wysokiej dostępności
– Add Track Member – aby dodać obiekt, naciskamy Add [5], w oknie Add Interface Member dobieramy z listy [6] interfejsy (tu: “ethernet0/1” i „ethernet0/2”; waga: 255; domyślna) i zatwierdzamy OK.
Zdefiniowany obiekt zatwierdzamy naciskając OK.
Analogicznie definiujemy obiekt o nazwie „grupa2” dla interfejsów “ethernet0/1” i „ethernet0/3”.
4. Ustawienie parametrów i złączenie klastra HA (HILLSTONE A i B)
Przed włączeniem trybu HA, warto upewnić się, że interfejs kontroln (tu: “ethernet0/5” i “ethernet0/6”) na obu urządzeniach są podłączone, jak na schemacie (pkt .1)
Klaster Active-Active łączymy przy pomocy JEDNEGO interfejsu sieciowego.
Dla HA w trybie Active-Actiive, pracę urządzeń organizujemy w DWÓCH grupach.
Wybieramy zakładkę System -> HA [1], a następnie w oknie HA ustawiamy pola:
– Control link interface 1 [2] – interfejs komunikacyjny, użyty jako interfejs kontrolny dla klastra (tu: “ethernet0/8”).
– IP Address [3] – adres IP węzła (tu: “100.0.0.1”, na urządzeniu „Hillstone B”:”100.0.0.100″). Konieczne dopisanie maski sieciowej (tu: “255.255.255.0”; 24-bitowa)
– HA cluster ID [4] – identyfikator klastra HA (od 0 do 7; tu: “1”)
– Node ID [5] – identyfikator węzła (0 lub 1; tu: “0”, na urządzeniu „Hillstone B”:”1″) (*)
Pozostałe pola pozostawiamy przy ustawieniach domyślnych.
Sekcja Group 0
– Priority [6] – priorytet (im niższa liczba, tym wyższy; tu: „20”, na urządzeniu „Hillstone B”:”200″) (*)
– Preempt [7] – parametr wyprzedzenia wyrażony w sekundach (tu: „2”, na urządzeniu „Hillstone B”:”3″) (*)
– Track Object [8] – obiekt zdefiniowany w pkt. 3 (tu: “grupa1”) (**)
Naciskamy New, aby otworzyć kolejną grupę
Sekcja Group 1
– Priority [9] – priorytet (im niższa liczba, tym wyższy; tu: „200”, na urządzeniu „Hillstone B”:20) (*)
– Preempt [10] – parametr wyprzedzenia wyrażony w sekundach (tu: „3”, na urządzeniu „Hillstone B”:”2″) (*)
– Track Object [11] – obiekt zdefiniowany w pkt. 3 (tu: “grupa2”) (**)
Pozostałe pola modyfikujemy, jak na obrazku poniżej (jeśli nie są ustawione domyślnie) i zatwierdzamy naciskając OK [12].
(*) – jeśli zdecydowaliśmy się na sposób #1, wartości na obu urządzeniach pozostają takie same.
(**) – obiekty śledzone na urządzeniu „Hillstone B” widoczne będą dopiero po włączeniu klastra, dlatego za pierwszym razem zatwierdzamy ustawienia HA bez nich, aby po chwili wrócić do powyższych ustawień i je uzupełnić.
5. Sprawdzenie stanu urządzeń (HILLSTONE A i B) i interfejsów po połączeniu w klaster (HILLSTONE B)
Wybieramy zakładkę System – System and Signature Database, gdzie możemy sprawdzić stan HA („HA State”) w obu urządzeniach.
Dla obu grup, urządzenie „Hillstone A” ma przypisaną rolę „Master”, zaś urządzenie „Hillstone B” – „Backup”.
Na urządzeniu „Hillstone B” wybieramy zakładkę Network -> Interface i upewniamy się, że powielone zostały ustawienia wszystkich interfejsów oprócz zarządzającego („ethernet0/0″; adres IP:”192.168.1.12”):
6. Ustalenie polityki zezwalającej na ruch sieciowy [*]
Wybieramy zakładkę Policy -> Security Policy -> Policy, naciskamy New, a następnie w oknie Policy Configuration ustawiamy pola:
– Source Zone (1) – strefa źródłowa; wybieramy „trust” (domyślna zaufana)
– Destination Zone (2) – strefa docelowa; wybieramy „untrust” (domyślna niezaufana)
Pozostałe pola pozostawiamy przy ustawieniach domyślnych.
Ustaloną politykę zatwierdzamy, naciskając OK.
[*] – przypisanie interfejsów to domyślnych stref predefiniowanych i złączenie ich polityką przepuszczającą cały ruch sieciowy, jest z punktu widzenia bezpieczeństwa konfiguracją niezalecaną i stanowi tu wyłącznie instruktarz – jeden z kroków do uruchomienia klastra HA.
7. Symulacja awarii
Aby sprawdzić niezawodność trybu wysokiej dostępności, na komputerze PC, oznaczonym na schemacie jako „stacja lokalna”, włączamy wiersz poleceń i uruchamiamy polecenie:
ping 192.168.83.1 - t
w celu przetestowania stabilności połączenia przy pomocy protokołu ICMP.
Załóżmy, że połączenie pomiędzy interfejsem „ethernet0/2” a switchem zostaje przerwane:
Wybieramy zakładkę System – System and Signature Database, gdzie możemy sprawdzić stan HA („HA State”) w obu urządzeniach.
Dla „group0” urządzenia „Hillstone A” przestał działać obiekt śledzony, zatem zmieniła ona status na „Monitor Failed” (1). Obsługę ruchu przejmuje urządzenie „Hillstone B” po zmianie wspomnianego statusu z „Backup” na „Master” (2).
Podgląd konsoli pokazuje szczegółowe komunikaty odnośnie utraty połączenia na interfejsie „ethernet0/2”, jak również zmianę nazw skrótowych („Master0-Master1” – M0M1 (1) na „Failed0-Master1” – F0M1 (2))
Konsola wiersza poleceń na stacji roboczej wysyłającej testowe pakiety PING pokazuje, że po odłączeniu „HILLSTONE A”, w międzyczasie, po utracie zaledwie dwóch pakietów – urządzenie „HILLSTONE B” pozwoliło odzyskać łączność.