Round Robin w DNS

Niedawno na łamach naszego Bloga opisałem konsolę DNS w Windows i podstawowe operacje w DNS, czyli szukanie, tworzenie rekordów typu „A” i kasowanie. Znając podstawy, możemy przejść do innych, ciekawszych zagadnień i dlatego dzisiaj przedstawię mechanizm Round Robin w DNS w Windows.

Co to jest i jak działa Round Robin w DNS?

Round Robin służy do balansowania obciążenia i zwiększenia odporności na awarie serwerów. Jak? Otóż, mając farmę serwerów – na przykład RDS (przed Windows 2012 nazywaliśmy Serwerami Terminali) – możemy sprawić, że kilka hostów z różnymi adresami IP udostępnimy pod jedną nazwą, tak aby klienci losowo łączyli się do któregoś z nich, bez konieczności decydowania do którego.

rr

Oto podstawowe cechy (Wy sobie dopiszcie „wada” i „zaleta” 🙂 ):

  • Round Robin balansuje, ale nie zapewnia dokładnego zrównoważenia ilości połączeń do hostów. Hosty mogą być obciążone połączeniami nierównomiernie.
  • Round Robin nie przekierowuje połączeń na podstawie innych kryteriów (ilość aktualnych sesji, obciążenie).
  • Round Robin nie wymaga żadnego oprogramowania – to klient „wybiera” sobie host docelowy.
  • W razie awarii jednego z hostów klienci mogą ciągle być przekierowani na zepsuty serwer. Ponowne „losowanie” hosta odbywa się po restarcie klienta albo po wyczyszczeniu lokalnego DNS na kliencie:

    ipconfig /flushdns

  • Usunięcie hosta z puli lub dodanie nowego wymaga po prostu dodania lub usunięcia rekordu w DNS.
  • Awaria któregoś z hostów w puli nie wpływa na pozostałe hosty.

    Tworzymy prostą farmę Round Robin

    Jak wiecie, aby skonfigurować Round Robin w DNS, wystarczy stworsyć kilka rekordów „A” z taką samą nazwą i innymi adresami IP. Jak pamiętacie z artykułu o konsoli DNS, dla odpowiedniej zony klikamy PPM i tworzmy nowy rekord:
    DNS round robin 1
    Podajemy nazwę hosta (ta sama dla wszystkich serwerów w puli) i adres IP.
    DNS round robin 2
    Dwa powyższe kroki powtarzamy tyle razy ile mamy serwerów w puli.
    DNS round robin 3

    Działanie Round Robin możemy sprawdzić PINGiem czyszcząc lokalnie zapisany DNS pomiędzy kolejnymi próbami:

    ping nazwa

    Jak adres zwrócił Wam PING?

    ipconfig /flushdns

    ping nazwa

    A teraz, jaki adres zwraca PING?

    Listę wszystkich adresów IP w puli Round Robin sprawdzimy poleceniem:

    ping nazwa

    nslookup nazwa

    To wszystko, co chciałem Wam przekazać. Niebawem kolejne DNSowe zagadnienie.

  • Łukasz Skalikow

    Obecnie Manager IT. Przez lata byłem Inżynierem systemów. Jestem entuzjastą i specem od vSphere, Windows serwer, GPO. Od zawsze byłem zwolennikiem wiersza poleceń i automatyzacji. Obecnie, ze względu na pracę, rodzinę i wyjazdy służbowe, dużo mniej udzielam się na blogu, ale mam nadzieję, że pośród kilkuset porad opublikowanych na spece.it, wiele osób znajdzie dla siebie coś przydatnego :)

    Przeczytaj także...

    2 komentarze

    1. Tomasz pisze:

      Czy przypadku kiedy jeden z serwerów padnie, klient dalej będzie próbował się podłączyć się do niedziałającego serwera, którego ma zapisanego w cache DNS ?

      • Jest tak jak mówisz. „W razie awarii jednego z hostów klienci mogą ciągle być przekierowani
        na zepsuty serwer. Ponowne „losowanie” hosta odbywa się po restarcie
        klienta albo po wyczyszczeniu lokalnego DNS na kliencie:

        ipconfig /flushdns”

    Dodaj komentarz