Przemyślenia
październik 14th, 2007Ostatni tydzień uczestniczyłem w STS-277 Szkolenie bardzo fajne i ciekawe, chociaż trener postanowił przekonać nas o wyższości SunOS nad HP UX ;]
Trener odniósł częściowy sukces. Reaktywowałem Ultra10 i osadziłem Solarisa 10. Jak zapewne większość wie Sun postawił na pkg jako system zarządzania pakietami. Skutkuje to brakiem rozwiązywania zależności i bardzo utrudnia customizacje instalacji z CD-ROM / DVD-ROM. Instalacja systemu “core” i dodatkowe oprogramowanie zajęło około 1GB. Twórcy systemu wyszli z założenia, że administrator wie co robi, więc pakiety dadzą zainstalować się nawet jeśli w systemie nie ma wymaganych komponentów. Pkgadd lojalnie uprzedza o brakach i można spotkać się z brakiem pewnych bibliotek
Generalnie zarządca pakietów archaiczny i uciążliwy i potrafi zapchać /var.
Kolejnym krokiem po instalacji była konfiguracja właściwa systemu. Solaris pozwala na bardzo wiele, począwszy od parametryzacji modułów kernela poprzez opcje bootowania aż do ciut uciążliwego “pamiętania” poprzednich konfiguracji hardware’owych. Najlepsze jednak jest odchodzenie od rc-scripts na rzecz równoległego (wraz z rozwiązywaniem zależności) uruchamiania usług. Oczywiście konfiguracja usług w pliku xlm (w końcu Sun to twórca Java
), następnie Solaris automagicznie buduje binarna bazę danych packages.db i już. Bardzo fajna sprawa, co lepsze działa :).
Każdy będący na czasie system operacyjny nie może obejść się bez mechanizmów wirtualizacji. Sun opracował system zon. Nie testowałem jeszcze uruchamiania natywnego systemu linux w zonie, ale Sol10_u4 owszem. Dość dobrze (po zaaplikowaniu patch’a 4) rozwiązane odseparowanie OS gości na poziomie zasobów, implementacja własnego stosu IP (nie testowałem) oraz współpraca z Sun Cluster 3.2 (także nie testowałem). Postaram się jeszcze przetestować instalacje zony ale wykorzystując obraz flar lub jumpstart. Instalacja jako gościa kopii (jeśli chodzi o pakiety) systemu hosta nie jest najlepszym pomysłem
Skoro już poruszyłem temat separacja i limitowania zasobów, to w Solarisie wykorzystuje się mechanizm RBAC i projektów. Analizując pliki konfiguracyjne widać, że twórcy systemu poważnie podeszli do sprawy, ale w pewnym momencie albo zabrakło zapału albo terminy wygrały, ponieważ jest jeszcze kilka pól zarezerwowanych do użycia w przyszłości. Generalnie mechanizm działa sprawnie (limity na poziomie plików binarnych oraz zasobów sprzętowych).
Obsługa filesystemów. No tutaj bardzo ubogo
Standardowe wsparcie dla UFS, ZFS. Jeśli ktoś(tm) potrzebuje obsługi reiser, ext czy xfs, powinien poszukać modułów na stronie projektu OpenSolaris.org Mechanizmy soft-raid owszem są i działają bez zarzutu (meta), boot z takich pseudo-urządzeń dzięki komendzie metaroot nie sprawia żadnych problemów. Niestety zarówno UFS jak i ZFS nie umożliwiają zmniejszenia rozmiaru partycji, ze zwiększeniem nie ma najmniejszych problemów (do tego stopnia dopracowane, iż można powiększyć zamontowaną partycje / na działającym systemie). ZFS natomiast to już bajka
nieco niezrozumiała zmiana nazewnictwa RAID-5, ale multum opcji konfiguracyjnych, import oraz eksport wolumenów, snapshot’y i banalne odzyskiwanie danych … ten system polubiłem. Gdyby jeszcze umożliwiał mechanizmy jak drdb
Być może następne wersje … Jedno jest pewne, posiedzę jeszcze nad ZFS
Pominąłem niechcący bardzo istotny element hardware od Sun’a, mianowicie OpenBoot. Cudowne narzędzie, specyficzne ale cudowne. Nie ma biosu gdzie można (jak w x86) modyfikować RAM, CPU i inne parametry ale otrzymujemy mikro OS opisujący sprzęt poprzez nieco długie ścieżki odwołań, które można skrócić za pomocą aliasów. Multum opcji, dość wspomnieć, że dokumentacja do OB (edycja 3.xx) liczy 204 strony
Na początku napisałem, że instalacja do najłatwiejszych nie należy. Kiedyś przygotowywałem, platformie linuksowej, środowisko do bootwania z sieci stacji roboczych Ultra i pamiętam, że było to uciążliwe. Przygotowanie plików konfiguracyjnych, serwera tftp (zamiana adresu IP na postać szesnastkową), serwer rarpd, udziały NFS, wszystko to wymagało ręcznej konfiguracji. W Solarisie natomiast otrzymujemy na płycie instalacyjnej komplet skryptów niezbędnych do przygotowania środowiska JumpStart. JumpStart jest mechanizmem który umożliwia zbootwanie z sieci instalacji na maszynie SUNa i osadzenie prekonfigurowanego systemu Solaris. Można dokładnie określić “przepis” dla konkretnej maszyny ze względu na jej architekturę, nazwę ilość ram itp. Gdy już uda się określić działanie dla konkretnego serwera/stacji jesteśmy w stanie nakazać wykonanie dowolnych skryptów przed instalacja (np. backup) oraz po instalacji (np. skopiowanie /etc/hosts). Podczas samego procesu instalacji można wskazać “zestaw” pakietów (np. core), określić jakie dodatkowe pakiety mają zostać usunięte / dodane, jak ma rozstać podzielony dysk …
Wszystko to można opisać w plikach tekstowych i osadzić nawet na linuksie, jednak dzięki skryptom od SUNa można wszystko wykonać jedna komendą, od weryfikacji poprawności profilu do końcowego zlikowania obrazu jądra.
Aktualizacja systemu
Zmora jeśli nie posiadamy numeru umowy. Nieco pomaga narzędzie pca, lecz podstawą ciągle jest patch i smpatch. Uciążliwe i często wymagające restartu systemu. Na osłodę jest mechanizm LiveUpdate. Umożliwia wykonanie “kopii” aktualnego systemu, potraktowanie jej zestawem łatek i uaktualnień a następnie można testowo uruchomić system z “kopii”, jeśli wszystko działa to super, gdy nie zawsze mamy system podstawowy i wystarczy reboot. Proste i genialne.
Reasumując SUN doskonale wykorzystał fakt, iż będąc dostawcą hardware i software ma pełniejszą kontrolę nad systemem. Jednak za cenę wsparcia technicznego dostajemy system pozbawiony obsługi konkurencyjnych filesystemow, zamknięta listę drogiego sprzętu, oraz często nie najnowsze wersje oprogramowania. W zamian natomiast zestaw skryptów i narzędzi (np. smc), które na pewno działają
oraz nie popsują systemu operacyjnego po update. Sun dostarcza wiele narzędzi GUI do administrowania systemem i usługami, jednak zdecydowana większość wymaga JAVA ;].
Chłodno oceniają wady i zalety doszedłem do wniosku, że jest to dorosły i dopracowany UNIX, który w połączeniu z hardware SUN’a oraz ZFS deklasuje linuksy w profesjonalnych zastosowaniach. Nic odkrywczego
Ale czas na kolejne sun’y pod biurko
październik 14th, 2007 at 4:39 pm
Nie rozumiem — z jednej strony piszesz o wielu poważnych wadach, system z opisu zdaje się być strasznie toporny. Jedyne plusy to automatyzacja *niektórych* skryptów.
A jednak we wniosku widnieje jak byk, że deklasuje linuksy. Jestem w kropce…
październik 14th, 2007 at 4:59 pm
Hmmm nie da się łatwo i cacy postawić na tym serwera poczty (domyślnie tylko sendmail, brak SpamAssassin itp.) “samotna” instalacja z płyty jest koszmarem.
System pomyślany i zaprojektowany jako “sieciowy” (nawet reklamy SUNa twierdzą że dopiero sieć czyni komputer). Jeśli już jednak posiadamy środowisko JumpStart (do banalnej instalacji), serwer do zdalnej administracji (z smc zdalnym np.) oraz chcemy uruchomić usługi typu serwery aplikacyjne (www oparte na java), bazy danych (szczególnie oracle) i chcemy zapewnić skalowalność i niezawodność (zony, zfs, cluster) to Solaris jest wprost idealnie dopasowany.
Nie wyobrażam sobie np w PLD zarządzanie klastrem (nie usług, a serwerów) w konsoli dedykowanej maszyny. Trudno mi wyobrazić sobie także (bez szczególnej ekwilibrystyki) testowego update systemu i “rozprowadzenie” nowej wersji bezpośrednio na wszystkie węzły.
listopad 1st, 2007 at 12:18 am
ale zawsze w ten sposób łatwie o odzyskiwanie danych