Konfiguracja IPMP w systemie Oracle Solaris 11

By | 16 października 2013

IPMP (IP Network Multipathing) zapewnia nieprzerwany dostęp do sieci dla fizycznych hostów posiadających kilka kart sieciowych (NIC) poprzez automatyczne wykrywanie awarii interfejsu jak również load balancing w przypadku maszyn mocno obciążonych ruchem sieciowym. Z IPMP jeden lub więcej adresów IP może być łączonych w grupy IPMP. Taka grupa zachowuje się wtedy jak zwykły interfejs sieciowy – posiada ona swoją nazwę i adres IP. W przypadku obciążenia ruchu wychodzącym taka grupa IPMP może rozrzucać ruch na połączone fizyczne interfejsy sieciowe. IPMP działa na trzeciej warstwie sieciowej, zasada failoveru oparta jest na protokole ICMP – system odpytuje adresy IP zewn. decydując na który interfejs sieciowy przełączyć obsługę ruchu jeśli aktualny interfejs ulegnie uszkodzeniu bądź rozłączeniu. IPMP nie wymaga wsparcia ze strony sprzętu a więc możemy je uruchomić na dowolnym sprzęcie.

Przygotowanie do konfiguracji IPMP

Na wstępie do pliku /etc/hosts należy dopisać linię z naszym adresem IP oraz nazwą FQDN:

Następnie upewniamy się czy automatyczna konfiguracja sieci jest wyłączona:

Teraz wyświetlmy nasze interfejsy sieciowe:

W naszym przykładzie wykorzystamy interfejsy net0 oraz net1 i połączymy je w grupę IPMP.

Najpierw musimy usunąć z interfejsu adresy IP:

Konfigurowanie IPMP

Ponieważ interfejs net0 już istnieje, utworzymy teraz interfejs net1

Gdy posiadamy już dwa aktywne interfejsy, możemy zbudować z nich grupę IPMP:

Teraz czas na włączenie sondowania dla IPMP:

Teraz ustawimy interfejs net1 w tryb standby w naszej grupie IPMP:

Następnie przydzielamy adres IP na nasz interfejs ipmp0:

Poniższe polecenie wyświetli nam adres naszego interfejsu ipmp0:

Ostatnim krokiem jest utworzenie odpowiedniej tablicy routingu. W moim przypadku konfiguracja wygląda tak:

Testowanie konfiguracji

Teraz wykonujemy test konfiguracji poleceniem ipmpstat który pokaże nam aktualną konfigurację naszej grupy:

Nadszedł czas na przetestowanie naszego failovera. Wyłączymy interfejs net0 z ipmp:

Jak widać, głównym interfejsem jest w chwili obecnej net1. Jeśli konfigurujemy naszą grupę IPMP poprzez SSH, nasze połączenie nie powinno być zerwane.

Teraz włączymy z powrotem nasz interfejs net0 do grupy:

Dodawanie interfejsu do grupy IPMP

Następnym przykładem będzie dodanie interfejsu net2 do istniejącej grupy IPMP.

W pierwszym kroku utworzymy interfejs net2:

Teraz dodajemy interfejs do grupy:

Zobaczmy status:

Wygląda dobrze, jednak w chwili obecnej wyjściowym interfejsem jest net0 i net2. Skonfigurujmy teraz interfejs net2 jako standby:

Widzimy, że wyjściowym interfejsem jest tylko net0

Teraz dokonajmy testu nowego interfejsu, wyłączając interfejs net0 oraz net1:

Jeśli nie rozłączyło naszej sesji SSH to znaczy, że wszystko działa poprawnie a ipmpstat -a powinien pokazywać interfejs wyjściowy jako net2.

Wróćmy jednak do poprzednej konfiguracji.

Jak widać, wszystko wróciło do normy.

Praca na aktywnych interfejsach

Co zaś się stanie jeśli wszystkie interfejsy przełączymy na aktywne?

W tej chwili nasza konfiguracja IPMP przełącza się na tryb load spreading  – czyli rozrzucanie ruchu wychodzącego po interfejsach net0, net1 oraz net2.

Do dalszej części posta, powróćmy do pierwotnej konfiguracji:

Usuwanie interfejsu z grupy IPMP

Usuniecie interfejsu sieciowego sprowadza się do wykonania jednego polecenia:

Jak widać, polecenie ipmpstat -g pokazuje, że mamy dwa interfejsy w grupie – net0 jako active oraz net2 jako standby.

Dodawanie i usuwanie adresu IP z grupy IPMP

Aby dodać nowy adres IP do grupy należy wykonać:

Gdzie ipmp0/test1 to nazwa aliasu dla adresu IP. Teraz wyświetlmy informację jakie adresy IP grupa IPMP posiada:

Jak widać, adres 10.0.0.55 poprawnie został dodany do grupy. Aby przetestować, czy nowy adres IP poprawnie funkcjonuje, możemy go przetestować poleceniem ping z innej maszyny bądź spróbować się zalogować via SSH.

Aby usunąć adres IP z grupy IPMP należy wykonać polecenie:

Jak widać, adres został poprawnie usunięty.

Usuwanie grupy IPMP

Kiedy stwierdzimy, że nie potrzebujemy już IPMP bądź nie mamy możliwości aby nadal on działał, możemy usunąć taką grupę.
Usuwanie grupy IPMP składa się z usunięciu z grupy wszystkich interfejsów oraz usunięciem samej grupy:

Uwaga! Poniższe czynności należy wykonywać poprzez inny podniesiony adres IP na osobnym, nie dodanym do grupy interfejsie sieciowym bądź konsolę!

Jak widać, po naszej grupie nie ma śladu.

Zachęcam do testowania różnych konfiguracji. IPMP daje również możliwość przenoszenia interfejsów pomiędzy grupami jak również automatyczną konfigurację sieci via DHCP.

Szczegółowa dokumentacja znajduje się na stronach Oracle Technology Network

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *