Systemy zarządania serwerami - LOM (Light Out Management)
Systemy zarządzania serwerami, tak zwane LOM-y ułatwiają administratorm pracę z odległymi maszynami. Przy użyciu takich rozwiązań operator serwera może na przykład zainstalować system operacyjny, bez wkładania pamięci USB, płyt czy rozruchu z sieci. Wiekszość LOM-ów posiada interfejs WWW, przez który możemy załadować obraz płyty .iso i wymusić na serwerze rozruch z tego obrazu. Dzięki dostępowi przez przeglądarkę, takie systemy często pełnią funkcję inwentaryzacyjną oraz sterującą za ich pomocą możemy wyłączyć lub włączyć nasz serwer czy podejrzeć to co wyświetla na ekranie a nawet kontrolować go za pomocą konsoli. Zakres możliwości jest w dużej mierze zależny od tego ile lat ma nasz sprzęt. Sprzęt na którym ja pracuje będzie mieć 20 lat w przyszłym roku także jego możliwości w obecnych czasash mogą być mocno ograniczone. Ze względu na to, że mam styczność z każdym wiekszym graczem na rynku serwerowym poza Supermicro, krótko scharakteryzujemy sobie jakie możliwości dają różni producentci.
Swoje wnioski będę opierać o sprzęt prawie 20-letni. Dlatego nie należy tego artykułu traktować jako głos decydujący o wyborze producenta naszych przyszłych serwerów. Ten materiał można wykorzystać jeśli takowy sprzęt wpadnie nam w ręce i nie będzie wiedzieli jak się zabrać za sprawę konfiguracji zarządzania maszyną lub też chcieli byśmy się dowiedzieć funkcjonalności LOM-ów poszczególnych producentów. Porównamy sobie rozwiązania LOM takich producentów jak Hewlett-Packard (HP), Dell, IBM czy Fujitsu-Siemens.
Obecność systemów LOM w serwera różnych producentów.
Charakterystykę rozpoczniemy od tego czy w ogóle nasz LOM znajduje się w standardzie wysposażenia i czy można go zdemontować z serwera. W pod tym względem prym wiodą takie firmy jak HP oraz Fujits-Siemens, Ponieważ w ich serwerach systemy LOM są układami na płycie głównej podobnie do rozwiązań BMC posiadających dedytkowaną kartę sieciową, port RJ-45 odpowiednio oznaczony za pomocą nazwy systemu jaką jest iLO (ang. integrated Light Out) od HP lub symbolem klucza płaskiego iRMC (ang. integrated Remote Management Controller) od Fujitsu (będę używać zamiennie nazw Fujitsu oraz Fujitsu-Siemens, obecnie firma z Japonii sam produkuje sprzęt komputerowy). Trochę inaczej jest w przypadku IBM, ponieważ ich LOM RSA (ang. Remote Supervisor Adapter) w wersji 2 jest wpinany specjalne złącze na płycie głównej, serwery posiadają wyprowadzone na płycie gniazdo RJ-45, ale jeśli nie ma adaptera jest ono nieaktywne. Nie jest trudno zdemontować tę płytkę, więc jeśli zamierzamy kupić sprzęt sprzęt IBM to możemy się spodziewać, że tego adaptera tam nie będzie. Możemy go dokupić oddzielnie dla IBM System X3550 Type 7978 jest IBM RSA II Slimline 44T1412 - może być z adapterem dla innych maszyn. Podobnie jest jak w przypadku IBM jest serwerami Dell-a kompatybilnymi z modułami iDRAC (ang. intgrated Dell Remote Access Controller) od wersji 6 do 8. Wersja 9 jest już wbudowana w płytę główną. W przypadku wcześniejszy wersji oraz starszych serwerów Dell-a to wcześniej nazywały się one DRAC i były wyposażeniem opcjonalnym więc jeśli już decytdujemy się na serwery Dell-a to najlepiej z rodziny kompatybilnych z DRAC w wersji 5 i lepiej nie schodzić po niżej tej wersji - zawsze można wyżej. Karty DRAC to zwykłe karty rozszerzeń z dodatkowym okablowaniem łączącym je z płytą główną.
Konfiguracja LOM-u oraz związane z nią komplikacje.
W najprostrzy sposób konfiguruje się iLO od HP, dostajemy możliwość konfiguracji zaraz po uruchomieniu serwera przed uruchomieniem kontrolera RAID uruchamia się właśnie konfiguracja iLO, przy użyciu klawisza F8 przechodzimy do panelu konfiguracyjnego na górnym pasku znajdują się poszczególne opcje. Domyślnie iLO ustawia stos TCP/IP na konfigurację z DHCP i musimy to wyłączyć wówczas możemy zmienić address IP, następnie zmienić hasło Administratora i ustawić wyższą prędkość na konsoli o ile będziemy korzystać z SOL-u lub VSP. Po za tym warto w biosie ustawić, aby była możliwość kontroli BIOS-u z poziomu właśnie SOL-u lub VSP (o VSP będzie poźniej). To w zasadzie tyle, możemy podłączyć kabel i logować się przez przeglądarkę. Ja korzystałem z Firefox-a 52-esr do logowania się do panelu WWW. LOM od Fujitsu konfiguruje się w BIOS-ie - tutaj jednak mamy okrojone możliwości konfiguracyjne sprowadzające do ustawienia adresu IP, domyślne dane logowania do panelu WWW to admin/admin, jeśli on nie będą pasować to można całe iRMC zresetować do ustawień fabrycznych z poziomu BIOS-u. W moim przypadku z iRMC miałem już zapisaną nazwę systemową i nie mogłem znaleźć gdzie mogę to zmienić. W przypadku rozwiązania firmy IBM za pomocą aktywnej opcji w BIOS dotyczącej RSA dowiadujemy się, że jest obecny w systemie, Za pomocą tej opcji możemy zmienić ustawienia IP dla RSA lub przywrócić ustawienia domyślne. Ustawienia IP w tym przypadku są predefiniowane na stały adres 192.168.70.125/24. Dodatkowo dostępny jest domyślny użytkownik USERID z hasłem PASSW0RD - gdzie zamiast o jest zero (0). Dell w przypadku serwera z załadownym DRAC w wersji 5 informuje użytkownika przy rozruchu maszyny - wyświetla adresy IP oraz daje możliwość wejścia do narzędzia konfiguracyjnego, gdzie tak jak w przypadku HP definiujemy adresacje IP, użytkownika, ustawienia odnośnie IPMI czy przywracamy ustawienia fabryczne. Tutaj warto wspomnieć o wersji DRAC 4/P, która swoje zastosowanie ma maszynach takich jak PowerEdge 860 czy R200. Po za samą kartą potrzebna jest taśma do jej działania. W przeciwnym wypadku serwera zwraca błąd. Na samą taśmę wpadłem przypadkiem szukając zasilacza do PowerEdge 1800. Opcje konfiguracyjne dostępne przy rozruchu serwera pozwalają na zmianę adresacji IP oraz nazwy hosta i to tyle. Użytkownik jest predefiniowany o nazwie root oraz haśle calvin. Przy próbie logowania w moim przypadku dostaje informacje o tym, że niepoprawny jest login bądź hasło. Zatem ktoś je zmienił i teraz, żeby je zresetować potrzebny jest Windows Server 2003 lub starą wersję RHEL 4 lub 5. Dodatkowo potrzebne są sterowniki do tej karty, które kiedyś istniały oficjalnie i dziś są elementem oprogramowania oprogramowania pod nazwą Open Manage Server Administrator. Walczyłem z tym przez pół dnia, narazie bez rezultatów. Więc w tym przypadku duży minus dla Dell-a.
Możliwości konfiguracyjne poszczególnych LOM-ów.
Czy to materiał sponsorowany przez HP? Nie, ale ja znów zacznę od iLO. Na swoich serwera mam iLO w wersji 2. Po konfiguracji usługi jakie oferuje ten LOM to HTTP/S oraz jakaś inna nieznana przez NMAP usługa na wysokim portcie korzystająca z transmisji TCP - jest to zapewne wirtualne medium - najczęsiej jest pamięć flash która jest udostępniana administratorowi jako datastore, aby mogł on tam wrzucić obraz płyty, które zostanie uruchomiony serwer przy następnych rozruchu o ile dobrze to skonfigurujemy. Skorzystanie z tej usługi wymaga co najmniej licencji advanced - raczej jej już nie kupimy, ale klucz lata po internetach. Osobiście nie testowałem tego rozwiązania. Po pierwsze nie wiem ile tego miejsca tam jest, na ile mogę sobie pozwolić. Z HTTPS nie ma co się cieszyć korzysta on ze starego SSL lub TLS jak przystało na 2007 rok i certyfikat dawno wygasł. Nie ma możliwości odnowy certyfikatu, można załadować swój ale nie wiem jak by się to skończyło. Jeśli przeskanujemy iLO NMAP-em jeszcze raz (jakieś 10-15 min po skonfigurowaniu iLO) uruchomi się nam SSH. LOM-y to przeważnie mikrokomputerki i tyle czasu zajmuje wygenerowanie odpowiednich dla SSH kluczy przez CPU LOM-u. Oczywiście ma ono również swoje ogranicznia dotyczące kryptografii. Tak wygląda polecenie SSH, którego użyłem do zestawienia połaczenia z iLO.
$ ssh -o KexAlgorithms=diffie-hellman-group1-sha1 -o HostKeyAlgorithms=ssh-rsa -c aes128-cbc Administrator@192.168.0.118
Jesli jakiś LOM nie wspiera ssh-rsa,
jako algorytm kluczy hosta to znaczy, że współczesne wersje SSH się
z nim nie połączą więc możemy skreślić SSH z listy przydatnych, ale nie
w przypadku iLO. Po zalogowaniu się do SSH otrzymujemy powłokę iLO z
takim to oto promptem: </>hpiLO->
W tej powłoce nie możemy kasować wprowadzonych znaków, a i poleceń nie
ma zbyt wiele.
HP CLI Commands: POWER : Control server power. UID : Control Unit-ID light. NMI : Generate an NMI. VM : Virtual media commands. VSP : Invoke virtual serial port. TEXTCONS : Invoke Remote Text Console on supported platforms.
Oczywiście istnieje jeszcze inny tryb:
DMTF SMASH CLP Command, ale nie będę
się nim zajmował. Za pomocą tych podstawowych poleceń możemy,
włączyć/wyłączyć nasz serwer oraz podłączyć się pod konsole za pomocą
polecenia VSP. Jest to samo col SOL tylko uruchomione przez SSH.
Panel WWW daje świene możliwości inwentaryzacyjne takie np. zużycie
energii elektycznej jak również kontrolne
dzięki którym możemy włączyć czy wyłączyć nasz serwer.
Niestety wszystkie możliwości konsolowe zostały oparte na Javie i to
dość starej wersji 5. Jeśli się jednak postarać to można to uruchomić.
Nie mniej jednak za pomocą konsoli można kontrolować każdy aspekt
działania serwera (zmiana ustawień w BIOS, konfiguracja RAID czy
konfiguracja LOM) przed uruchomieniem systemu operacyjnego. Jest to
co prawda funkcja samego BIOS-u, a nie stricte LOM-u to i tak na plus
dla HP.
Drugim dość podobnym przypadkiem jest DRAC 5 od Dell-a zapewniający nieco lepsze doznania jeśli chodzi o powłokę tam dostajem coś na zasadzie BusyBox-a na dystrybucjach Linuksa. Poniżej znajduje się polecenie SSH zestawiające połączenie:
$ ssh -o KexAlgorithms=diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 \ -o HostKeyAlgorithms=ssh-rsa root@192.168.0.114 Dell Remote Access Controller 5 (DRAC 5) Firmware Version 1.40 (Build 08.08.22) $
W tym przypadku nie mamy żadnej pomocy, natomiast sam serwer możemy
kontrolować za pomocą polecenia racadm.
$ racadm =============================================================================== RACADM version 5.3.1.40 (Build 08.08.22) Copyright (c) 2003-2008 Dell, Inc. All Rights Reserved =============================================================================== RACADM usage syntax: racadm <subcommand> <options> Examples: racadm getsysinfo racadm getsysinfo -d racadm getniccfg racadm setniccfg -d racadm setniccfg -s 192.168.0.120 255.255.255.0 192.168.0.1 racadm getconfig -g cfgLanNetworking Display a list of available subcommands for the RAC: racadm help Display more detailed help for a specific subcommand: racadm help <subcommand> -------------------------------------------------------------------------------
Za pomocą poniższych poleceń możemy wyłączyć i włączyć nasz serwer. Te polecenia działają również w innych wersja DRAC takich jak iDRAC 6.
#Wyłączenie $ racadm serveraction powerdown #Włączenie $ racadm serveraction powerup #Sprawdzenie stanu $ racadm serveraction powerstatus Server power status: ON
Panel WWW, może w przypadku DRAC 5 pełnić role inwentaryzcyjną, niestety nie mogę tutaj powiedzieć o monitoringu temperatur ponieważ poza temperaturą otoczenia nie ma tam zbyt wiele informacji.
W przypadku iRMC nie mamy dostępu do SSH, ponieważ obecny klient openSSH nie wspiera metody ssh-dss. Natomiast tutaj możemy posilić się telnetem. Telnet jest domyślnie włączony na wysokim porcie 3172. Podczas obsługi konsoli telnetu nie otrzymamy echa podczas wpisywania tekstu. Panel WWW, pełni dobrą funkcję monitoringu temperatur czy napięć oraz zawiera dużo informacji na temat użytych w serwerze komponentów. Za pomocą panelu WWW iRMC, możemy sprawdzić ile napięcia pozostało na baterii CMOS.
Na koniec pozostał LOM od IBM, więc na początek może panel WWW. Pełni on dobrą funkcję inwentaryzacją ale słabą funkcję monitoringową. Nie jest wstanie odczytać żadnej z temperatur. RSA od IBM nie wspiera IPMI, więc należy się poważnie zastanowić czy jest to warte zachodu. Nie mamy dostępu do SSH, ponieważ przypadek jest taki sam jak u konkurencji brak implementacji ssh-rsa. Mamy za to dostęp przez telnet co trochę może rekompesować brak wsparcia dla IPMI. Jako zaletę tego rozwiązania warto dodać przekierowanie konsoli które działa w tym przypadku przez telnet znakomicie, czy konfiguracja RAID czy BIOS działają tak samo jak byśmy siedzieli przed konsolą bezpośrednio podłączoną do serwera. Tylko, żeby wejść do BIOS-u, któś musi wciśnąć nam klawisz F1. Oczywiście niezbędna jest zmiana ustawień, które niestety gryzą się konfiguracją BMC/IPMI opisaną na tej stronie dlatego serwera - więc sami musmy podjąć decyzję.
Podsumowanie
Chciałbym jeszcze zwrócić uwagę, na to że opisywane tutaj rozwiązania mają naście jak nie dwadzieścia lat. Jednak jak możemy zauważyć pewne role są jeszcze wstanie zapewnić, może nie jest to co potrafiły one w czasach swojej świetności, ale czy wówczas było by nas stać taki sprzęt - wtedy mogł on kosztować tyle co używany samochód średnej klasy. Oczywiście można próbować zaktualizować oprogramowanie układowe tych LOM-ów (firmware), aby być może trochę zminimalizować skutek wyparcia pewnych technologii, nie mniej jednak wsparcie producenta kiedyś się kończy i pewnych naleciałości z dawnych lat już nie przeskoczymy. Czasami możliwość głupiego zdalnego pstryczka, który wyłączy a następnie włączy maszynę jest dużo ważniejsza od nie wiadomo jakich komponentów - przeważnie wtedy gdy siedzisz sobie na urlopie i jedna z maszyn się zawiesiła lub nie wstała poprawnie po zaniku napięcia i trzeba wracać w trybie pilnym do biura.
Źródła:
- IBM Remote Supervisor Adapter II User Guide, Third Edition (November 2003)
- Eksperymentowanie na czuja
- Internet
~xf0r3m