Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.



26.08.2021

Firma Fortinet rozszerzyła...

Firma Fortinet rozszerzyła ofertę o usługę FortiTrust, która dołączyła do innych usług...
26.08.2021

Aplikacje biznesowe

Ready_™ AppStore
26.08.2021

Automatyzacja chmur...

Integracja z Red Hat Ansible
26.08.2021

Backup kodu źródłowego

GitProtect.io dostępny na Github
26.08.2021

Wsparcie pracy hybrydowej

Zdalny SD WAN
26.08.2021

Nowy monitor Philips 498P9Z

Nowy monitor Philips 498P9Z to model wyposażony w 49-calowy, zakrzywiony panel VA o...
26.08.2021

Wytrzymały punkt dostępowy

D-Link DIS-2650AP
26.08.2021

Ekonomiczne dyski

SSD bez DRAM
26.08.2021

Petabajty pojemności

Serwery QNAP

Kemp LoadMaster – zaawansowany load balancing

Data publikacji: 26-08-2021 Autor: Marcin Jurczyk

Dostępność i skalowalność aplikacji to podstawowe aspekty, które należy wziąć pod uwagę podczas projektowania systemu IT. Temat równoważenia obciążeń i rozkładania ruchu zyskał na popularności głównie za sprawą tego typu usług dostępnych na platformach chmurowych, choć tradycyjne rozwiązania mają się równie dobrze.

 

Idea zarządzania ruchem sieciowym w kontekście rozkładania obciążenia na większą liczbę urządzeń końcowych świadczących różnego rodzaju usługi nie jest nowa. W dobie IT-as-a-Service, wszechobecnej automatyzacji, orkiestracji i inteligentnego reagowania na zmiany obciążenia, a także przejścia z modelu zakupowego CAPEX na model OPEX i dalej pay-per-use optymalizacja wykorzystania zasobów obliczeniowych stanowi najważniejszy czynnik dla osób planujących budżet działu IT. Przetwarzanie w chmurze publicznej oraz koszty z tym związane tylko potęgują potrzebę automatycznego reagowania na wszelkiego rodzaju zmiany w zapotrzebowaniu na moc obliczeniową. Jednym z elementów układanki pozwalającej na dynamiczne zmiany w infrastrukturze IT są load balancery. Funkcjonowanie rozwiązań tego typu opiera się po części na idei działania odwróconego proxy, które jest w stanie przekazać żądania przychodzące od użytkowników końcowych do więcej niż jednego serwera hostującego wybrane aplikacje w sposób dla nich niewidoczny. Głównym zadaniem takiego pośrednika jest zatem: zapewnienie niemal nieograniczonej skalowalności, elastyczności podczas dynamicznego zwiększania lub zmniejszania puli zasobów, automatyczne reagowanie na przerwy w działaniu i awarie pojedynczych serwerów w puli świadczącej usługi oraz ułatwione zarządzanie dostępem do aplikacji, certyfikatami szyfrowania itp. Współczesne rozwiązania tego typu dysponują znacznie szerszą listą funkcji, oferując także dodatkowe aspekty bezpieczeństwa oraz uwierzytelniania użytkowników. Możliwości tego typu rozwiązań spowodowały, iż określa się je współcześnie nazwą Application Delivery Controller (ADC). Reprezentantem tej grupy jest testowany w tym numerze LoadMaster firmy Kemp. Ostatnim ich produktem analizowanym na łamach „IT Professional” był kolektor informacji o ruchu sieciowym działający na podstawie protokołu Netflow i IPFIX – Flowmon („IT Professional” 01/2015, s. 50). Pora zatem sprawdzić możliwości load balancera.

 

> FUNKCJONALNOŚĆ

Balansowanie ruchu w podstawowym scenariuszu opiera się na dość prostej koncepcji – w zależności od tego, dla jakich usług chcemy rozrzucać obciążenie, konieczne jest odpowiednie rozdystrybuowanie pakietów pomiędzy urządzenia „schowane” za load balancerem. Operacja zazwyczaj opiera się na warstwie 4. modelu OSI lub w przypadku aplikacji webowych – warstwie 7. W najprostszym scenariuszu wystarczy w zasadzie dowolna dystrybucja Linuksa oraz aplikacja iptables popularnego pakietu jądra netfilter. W przypadku rozwiązań takich jak LoadMaster mamy do czynienia ze znacznie bardziej rozbudowanymi możliwościami, nie tylko w prostym balansowaniu ruchem. Lista możliwości LoadMastera jest długa i w zależności od tego, jakie aplikacje mają być obsługiwane, do dyspozycji administratora jest cała paleta opcji wymagających niekiedy eksperckiej wiedzy z zakresu działania wybranych aplikacji sieciowych. Na szczęście producent robi wszystko, aby maksymalnie ułatwić wdrożenie LoadMastera.

Najistotniejszym z ułatwień jest rozbudowana biblioteka gotowych szablonów do pobrania ze strony producenta. Każdy z szablonów zawiera predefiniowany zestaw ustawień balancera dobrany pod kątem wybranej aplikacji. Lista dostępnych rozwiązań jest pokaźna i znajdziemy tu między innymi marki takie jak: Microsoft, VMware, Citrix, Oracle, IBM czy Apache. Dla każdego producenta znaleźć można szablony przeznaczone dla różnych aplikacji, jak chociażby różne wersje serwera poczty MS Exchange czy VMware Horizon. Poza podziałem na twórców dostępne są też szablony charakteryzujące produkty branżowe, jak chociażby Moodle, popularny w szeroko rozumianej edukacji. Wśród innych gotowców znajdziemy szablon dla Splunka, SAP Business Suite czy chociażby BMC Remedy. Jeśli wśród szablonów nie znajdziemy własnej aplikacji, a ręczna konfiguracja wszystkich dostępnych parametrów sprawia problemy, zawsze można poprosić o pomoc dział wsparcia producenta. O ile w przypadku redakcyjnych testów nie mieliśmy okazji sprawdzić działania supportu, o tyle podczas analizy dokumentacji i materiałów na temat LoadMastera w oczy rzucają się wysokie oceny w rankingach zadowolenia klientów, a także nagrody, którymi chwali się Kemp. Nacisk na łatwość obsługi widać także w innych obszarach – ogólnodostępna i wyczerpująca dokumentacja, a także repozytorium zarejestrowanych webinarów i filmów instruktażowych to ten rodzaj wsparcia, który lubimy najbardziej, a z którym nie zawsze mamy do czynienia, testując zróżnicowane produkty zarówno z obszaru oprogramowania, jak i sprzętu. Nawet pierwsze kroki w webowej konsoli administracyjnej okraszone są interaktywnymi podpowiedziami prowadzącymi krok po kroku przez podstawową konfigurację pierwszej wirtualnej usługi sieciowej.

W ramach podstawowego zestawu funkcji LoadMaster dysponuje aż 10 algorytmami balansowania ruchu sieciowego, począwszy od najprostszego i zarazem najpopularniejszego round robin, poprzez weighted round robin, least connection, weighted least connection, agent-based adaptive balancing, resource-based (SDN adaptive), fixed weighted, weighted response time, source IP hash, na url hash kończąc. Większość algorytmów jest dobrze znana, chociażby z zastosowania w sieciach komputerowych przy agregacji linków czy routingu tras o tym samym koszcie. Proste algorytmy sprawdzą się w środowiskach, w których serwery świadczące usługi dysponują identyczną mocą obliczeniową. Algorytmy umożliwiające przypisanie wagi do konkretnego serwera pozwalają z kolei na przydzielenie wyższego priorytetu bardziej wydajnym zasobom sprzętowym. Na uwagę zasługują agent-based adaptive balancing oraz SDN adaptive. Pierwszy z nich dostosowuje sposób rozrzucania połączeń na podstawie informacji zwrotnej pobieranej z serwerów obsługujących ruch, dzięki czemu realne obciążenie każdego z nich jest czynnikiem decydującym podczas przydzielania konkretnego ruchu sieciowego. W przypadku drugiego algorytmu wśród przesłanek decydujących o przydzielenie nowych połączeń znajdują się również informacje z warstwy 2. i 3. pochodzące z poziomu kontrolera SDN, który ma pełny wgląd w obciążenie infrastruktury sieciowej.

Poza standardowym, lokalnym balansowaniem połączeń opcjonalnie dostępna jest też funkcja Global Server Load Balancing umożliwiająca równoważenie obciążenia pomiędzy rozproszonymi geograficznie lokalizacjami, jak chociażby grupa centrów przetwarzania danych czy stref dostępności w ramach regionu dla wybranego dostawcy chmurowego. Działanie GSLB bazuje na dynamicznym zarządzaniu na poziomie nazw domenowych i rekordów DNS, dla których LoadMaster jest autorytatywnym serwerem DNS. Odpowiedź na zapytanie DNS z poziomu GSLB, a więc adres IP konkretnego serwera (lub kolejne warstwy load balancerów), zależy w tym przypadku od użytego algorytmu i wyniku sprawdzenia statusu dostępności usługi. W przypadku GSLB dostępnych jest sześć algorytmów: round robin, weighted round robin, fixed weighting, real server load, location based oraz proximity. Algorytm bazujący na lokalizacji umożliwia kierowanie ruchem w zależności od kraju i kontynentu z którego przychodzi ruch. Z kolei ostatni algorytm, zgodnie z nazwą, pozwala na podejmowanie decyzji zgodnych ze zdefiniowaną długością oraz szerokością geograficzną. GSLB dostępny jest jako rozszerzenie dla tradycyjnego LoadMastera, jak również w formie osobno licencjonowanego produktu.

Kolejnym kryterium, na podstawie którego możliwe jest definiowanie sposobu routingu połączeń, jest tak zwany content switching, a więc kierowanie połączeń do odpowiedniej grupy serwerów na podstawie informacji z warstwy aplikacyjnej. W praktyce zgodnie z żądaniem konkretnego adresu URL LoadMaster może przekierować zapytania o treści statyczne, jak chociażby pliki graficzne czy materiały wideo, do dedykowanej grupy serwerów. Z kolei inny rodzaj zapytań, np. skrypty wykonywalne w wybranym języku programowania, do zupełnie innej grupy. Sprawdzenie treści pod kątem tego typu routingu może opierać się na URL, nagłówku „http”, źródłowym adresie IP oraz treści zapytania (body).

Ponadto LoadMaster pozwala na trwałe przypisanie sesji do serwera, na którym została ona zainicjowana (persistance), dzięki czemu możliwa jest obsługa aplikacji dynamicznych, których działanie opiera się na danych przetwarzanych w obrębie ciągłej sesji serwera. Ewentualne przełączenie sesji na inną maszynę zgodnie z wybranym algorytmem dystrybucji ruchu spowodowałoby utratę ciągłości sesji, a w efekcie utratę informacji ważnych z punktu widzenia aplikacji. Taką informacją może być chociażby zawartość koszyka w sklepie internetowym. Przypisywanie sesji do wybranego serwera może odbywać się zarówno na warstwie 4., jak też z wykorzystaniem ciasteczek warstwy 7. W tym celu obsługiwane są zarówno ciasteczka generowane na poziomie serwera aplikacji, jak i poprzez LoadMastera. Dostępne są również inne mechanizmy trwałego przypisywania połączeń, np. super http, URL hash, SSL session ID.

 

[...]

 

Autor jest architektem w międzynarodowej firmie z branży IT. Zajmuje się infrastrukturą sieciowo-serwerową, wirtualizacją infrastruktury i pamięcią masową.

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2019 Presscom / Miesięcznik "IT Professional"