Wpis zacznę od idealnie pasującego powiedzenia ? ?Diabeł tkwi w szczegółach?. Tym szczegółem okazała się zatrzymana usługa DHCP Server, dla sieci potrafi być dokuczliwa tym bardziej, że niedostępność jest dość mocno zauważalna dla userów. Taką sytuację przerabiałem na dniach, pierwsze, co przychodzi do głowy to rzucenie okiem na eventvwr.msc gdzie ukazują się nam błędy tego typu:

Zdarzenia 1003 jak i 1008 są komunikatami dość nieprecyzyjnymi, natomiast wpis o identyfikatorze 1061 jednoznacznie wskazuje na przyczynę problemów z podniesieniem usługi. Faktycznie określona ścieżka była w danym momencie niedostępna i jedynym rozwiązaniem było zmiana ścieżki. W takiej sytuacji musimy wspomóc się rejestrem.

Dostęp do parametru, w którym możemy zmienić ścieżkę znajduje się:

HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/DHCPServer/BackupDatabasePath

Po modyfikacji na „dostępną”  ścieżkę nasza usługa powinna bezproblemowo się uruchomić i u mnie tak było. Dodam, że poprzez rejestr mamy dostęp do parametrów naszego serwera DHCP, do których przystawka nie daje nam dostępu np. zmieniając parametr IntervalBackup jesteśmy wstanie zmienić interwał wykonywania kopii bazy danych naszego serwera DHCP.

Tak nie frasobliwy incydent jest idealnym pretekstem do zapoznania się z wysoką dostępnością usługi DHCP które daje nam Windows Server 2012. Do wyboru mamy 3 możliwości:

    • podział zakresów ? jest to metoda polegająca na podziale konkretnych zakresów pomiędzy dwa serwery DHCP, gdzie serwer główny zawiera 70% wszystkich adresów, a drugi 30%. Rozwiązanie to jest proponowane dla mniejszych środowisk, ponieważ w chwili, kiedy serwer główny jest niedostępny, a kolejni klienci próbują pobrać adresację, może okazać się, że dostępna pula adresów na drugim serwerze będzie niewystarczająca. Dodatkowy problem stanowi brak ciągłości w utrzymaniu adresacji,
    • DHCP over Failover Cluster ? funkcjonalność ta została wprowadzona we wcześniejszych wersjach systemu Windows Server. Aby z niej skorzystać, musimy posiadać środowisko domenowe, dwa serwery połączone w jeden klaster oraz udostępnioną przestrzeń dyskową, na której znajduje się konfiguracja DHCP. Metoda ta działa w trybie aktywno-pasywnym, gdzie jeden serwer oczekuje na awarię drugiego. Jeśli wymagane jest, aby węzły klastra były podzielone na dwie, rozdzielone geograficznie, lokalizacje (tzw. geocluster), można czasem natrafić na problemy konfiguracyjne. W takim wypadku należy zapewnić replikację udziału dyskowego pomiędzy lokalizacjami. Zaleca się także, aby serwery należały do tej samej podsieci ? przyśpiesza to proces przełączenia usługi na drugi węzeł po awarii pierwszego,
    • DHCP Failover ? funkcjonalność ta umożliwia zaimplementowanie wysokiej dostępności usługi DHCP w łatwiejszy i bardziej efektywny sposób, w porównaniu do wyżej wymienionych metod. Dzięki niej, klienci wysyłający zapytania do serwera mogą stale otrzymywać adresację i niezbędne do pracy opcje z tych samych zakresów, a przy tym ciągłość adresacji jest utrzymana. Do implementacji wymagane są dwa serwery wraz z oprogramowaniem Windows Server 2012 w wersji standard lub datacenter. Rozwiązanie to nie wymaga użycia kosztownych systemów dyskowych, czy też dodatkowego oprogramowania. Nie są również wymagane wydzielone podsieci dla komunikacji klastrowej. Całość możemy skonfigurować w dwóch trybach: Hot Standby, gdzie jeden serwer jest aktywny i komunikuje się z klientami, a drugi jest pasywny i oczekuje na awarię pierwszego. Drugi tryb Load Sharing  pozwala na równomierne obciążenie obu serwerów zapytaniami od klientów. Rozwiązanie DHCP Failover jest szczególnie ciekawe, jeśli chcemy umieścić dwie maszyny w odrębnych lokalizacjach. Dotychczas, najlepszym rozwiązaniem dla dużej firmy było uruchomienie skomplikowanej i kosztownej konfiguracji geoklastra, obecnie, praktycznie każdy administrator jest w stanie zapewnić obsługiwanej przez siebie firmie wysoką dostępność bez dodatkowych kosztów.

Cytat pozwoliłem zaczerpnąć z TechNet autora Witold Miszkiewicz, gdzie opisane jest konfiguracja  krok po kroku – http://technet.microsoft.com/pl-pl/library/jj906439.aspx

DHCP Failover jest optymalnym rozwiązaniem, tylko na tyle ile sprawdziłem jedynym mankamentem tego rozwiązania chyba, że się mylę  (w takiej sytuacji wyprowadzicie mnie z błędu) jest potrzeba ręcznego wymuszania replikacji zakresu, dzięki której replikują się rezerwacje. Rozwiązania są dwa, pamiętanie o wymuszaniu replikacji po dodaniu kolejnej rezerwacji bądź skorzystanie z polecenia PowerShell.

Inovke-DhcpServerv4FailoverReplication -Scope [nasz zakres] -Force

W połączeniu z harmonogramem rozwiązuje to problem.

Mateusz Nadobnik

Z pasją poświęcam czas na zdobywanie wiedzy w zakresie szeroko rozumianej Data Platform. Zachwycony językiem skryptowym Windows PowerShell. Swoją wiedzę, doświadczenia i spostrzeżenia opisuję na blogu.

read more