Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Linux na poważnie – wdrażanie Red Hatów na skalę korporacyjną

Nakreślmy najpierw krajobraz: pracuję jako (młodszy) administrator na wyższej uczelni. Laboratoria komputerowe na wydziale są zdominowane przez Windows 7, stanowisk jest łącznie ponad 150. Mimo, że wiele osób twierdzi, że systemy są na nich instalowane ręcznie, z oczywistych powodów tak nie jest, to przecież szalenie czasochłonna i w dodatku małpia robota. Wdrażanie oprogramowania to nie jest nowe zagadnienie, rozwiązano ten problem lata temu. Obecność narzędzi instalacji nienadzorowanej jest dobrym kryterium odróżniania prawdziwych systemów operacyjnych od zabawek. Oznacza to zatem, że Windows zdecydowanie posiada takie narzędzia – w istocie, nawet dwa. Obecnie wszystkie scenariusze wykorzystują usługę Windows Deployment Services, na moim ukochanym Windows Server.

Niestety, nie możemy wstawić Windows Server. Istnieją całkiem niezłe powody, dlaczego nie możemy tego zrobić, jest to w planach (podobnie, jak Active Directory), ale na pewno nie na topie listy priorytetów. Nie czas i miejsce na wyjaśnienia tego stanu rzeczy, wspomnę jedynie, że w ultraheterogenicznym środowisku pełnym staroci oraz naprawdę dziwacznych maszyn, Microsoftowa implementacja DNS jest nieokiełznanym i nieprzewidywalnym żywiołem. W poprzedniej pracy wdrażałem WDS na podobną skalę, ale w środowisku jednolitym i działał on niezawodnie, jak na Windows Server przystało. Tutaj nie mam takiego luksusu, los rzuca mi straszne wyzwania i przyspiesza łysienie.

Nietypowe wyzwania

Anyway, ustaliliśmy, że nie da się w moim przypadku wdrażać Windows narzędziami do wdrażania Windows. To trochę niedobrze. Zwłaszcza, jeżeli chce się za wszelką cenę stosować do reguły KISS – nie można stworzyć jakiegoś nietypowego rękodzieła, brudnego wihajstra „na chwilę”, bo na pewno zostanie on „dożywotnim rozwiązaniem tymczasowym”, które każdy boi się ruszać, bo jak się posypie, to będzie totalny paraliż. Wiem, bo sam sobie już kiedyś zrobiłem taką krzywdę. Ponadto, podobne rozwiązanie zostawił mój poprzednik. Miał on zdecydowanie wyższy level, niż ja i miną lata, zanim nie będzie mi wstyd się do niego porównywać, ale jego narzędzie reinstalacji oprogramowania nosiło silne znamiona tymczasowości. Oj bardzo. Oczywiście przestało działać w drugim tygodniu mojej pracy – popsuł się dysk twardy. Podczas odzyskiwania kopii zapasowej popsuł się dysk z kopią zapasową, ten sam model. WD Green 2TB. Miałem kiedyś taki dysk w domowym desktopie. Popsuł się.
Ocalała dokumentacja całego rozwiązania, ale próby odtworzenia go na jej podstawie byłyby z góry skazane na klęskę – to nie był żaden przystępny podręcznik, tylko zbiór ściąg, zrozumiały tylko dla autora (czego on sam nie musiał być świadom). Przypominało to bardziej elfickie runy, łacińskiego alfabetu użyto prawdopodobnie tylko dla zmyłki. Nie pozostało mi nic innego, tylko zacząć od nowa. Ale na pewno nie mogłem zacząć od zera. Początkowo wiedziałem jedynie, że muszę użyć PXE i nie mogę spojrzeć w stronę Windows Server. Zakładając, że ktoś mądrzejszy ode mnie już dawno rozwiązał ten problem, sięgnąłem do manuala Fedory. Rzecz jasna, jest narzędzie do automatycznej instalacji systemu. W ten sposób, w sytuacji absolutnego kryzysu czasowego, zdecydowałem się wdrożyć na dużą skalę nieprzetestowane rozwiązanie oparte na systemie Fedora 21 w wersji beta. I w dodatku wykorzystać je do instalowania Windowsów. Nie mogłem się nikomu przyznać do tego, jak idiotycznego zadania mam zamiar się podjąć i postanowiłem zademonstrować je dopiero, gdy wszystko zadziała w 100% na wszystkich stanowiskach. Co w istocie nastąpiło, ku mojemu silnemu zdziwieniu. Ciekawe, kiedy dysk się popsuje.

Unattended

Nie mam tutaj na celu opisania, jak krok po kroku stworzyć środowisko instalacji – powstały już tuziny takich wpisów i w większości przypadków jedynie dublują wiedzę z dokumentacji, w oględny i nierzadko błędny sposób. Chodzi mi o podejście praktyczne: jak to działa, czy jest godne zaufania, czy nadaje się do firm, jakie problemy pojawiają się po drodze, no i jaka jest wydajność całego systemu.

Boot from LAN

Zanim o szczegółach, przypomnijmy sobie, jak działają narzędzia instalacji nienadzorowanej. Starsi czytelnicy na pewno pamiętają czasy popularyzacji „szerokopasmowego” internetu (osiedlówki rzędu 128 kbps wypierające połączenia komutowane), które wymagały wymiany wewnętrznego modemu PCI na kartę sieciową, oczywiście z chipem RTL8139. Owe karty sieciowe miały niezagospodarowane gniazdo na „BOOT ROM”. Nikt nigdy nie miał układu, który pasował do tego mitycznego złącza, plik README.DOC na dyskietce(!) ze sterownikami mętnie informował, że to służy do jakichś szemranych rozwiązań w wielkich firmach, w zgniłej Ameryce.
Z biegiem czasu, karty sieciowe zawitały na płytach głównych jako układy wbudowane, a BOOT ROM znajdował się w BIOSie, możliwy do uruchomienia po zmianie jednego parametru w „Advanced Peripherals”. Włączenie go pozwala wybrać kartę sieciową jako źródło uruchamiania komputera, na równi z dyskiem twardym, DVD, czy pendrivem. Boot from LAN poprosi wtedy serwer DHCP o adres IP, podsieć i bramę oraz adres „next server” – komputer, z którym należy negocjować otrzymanie obrazu ładowania. Następnie zostanie zestawione połączenie z owym komputerem, który zaoferuje obraz startowy systemu operacyjnego, wysyłając go przez protokół TFTP. T oznacza tutaj „Trivial” i jest to przedrostek w pełni zasłużony: w przeciwieństwie do FTP/SFTP, nie ma tu uwierzytelniania ani szyfrowania, a w dodatku całość działa przez UDP. Cóż, LAN BOOT ROM to głupi ROM, więcej nie umie. This is by design – głupie systemy rzadziej się psują.

PXE

Otrzymany obraz jest w całości, niemal żywcem, ładowany do pamięci i zachowuje się jak bootloader. Pozwala uruchomić system operacyjny, który też dostaniemy przez sieć. Będzie on działał z ramdysku, nie potrzebujemy żadnych twardych dysków, przynajmniej na tym etapie. Po wybraniu w bootloaderze systemu sieciowego (możemy wszak nakazać „chain loading” i kontynuować z systemem z HDD), uruchomi się środowisko PXE. Służy ono do uruchomienia instalatora systemu. Na tym etapie nie da się już odróżnić, czy uruchomiliśmy instalator z sieci, czy z płytki. O to właśnie nam chodzi. Windowsy mają od tego serwery RIS/WDS, Linuksy używają programu o niezwykle mylącej i mało twórczej nazwie „syslinux/pxelinux”.

Ponieważ jednak w dalszym ciągu musimy przeprowadzić instalacje, samo uruchomienie przez PXE nic nam nie daje. Pozwala jedynie zniwelować problem hałasującego napędu DVD – instalator bez zmian będzie nam zadawać miliony pytań, przez które musimy przebrnąć ręcznie. Musi zatem istnieć dalszy krok, a jest nim tzw. plik odpowiedzi. Instalator zajrzy do niego i wszystkie pytania, na które podaliśmy odpowiedź, wypełni sam. Optymalnym rozwiązaniem jest odpowiedzieć na wszystkie – ale to trudne. Zwłaszcza, jak komputery nie są identyczne. I ponownie: Windowsy mają od tego AIK/Sysprep, a Linuksy… miliony rozwiązań, z których działa pięć, a wykorzystuje się dwa. Ja użyłem redhatowego instalatora o nazwie Kickstart.

Tak w skrócie działają instalatory nienadzorowane. Osobiście uznaję wyłącznie dwa: Windows Deployment Services i właśnie Kickstart. Ten drugi to ciekawa bestia: sam w sobie jest jedynie warstwą obsługi plików odpowiedzi dla redhatowego instalatora Anaconda, co oznacza, że wcale nie musimy używać PXE ani nic z tych rzeczy: jeżeli dodamy plik Kickstart do płytki z systemem, instalator użyje go, co pozwala stworzyć nienadzorowane płyty instalacyjne DVD. Ale jednocześnie, Kickstart jest częścią znacznie większego rozwiązania instalacji nienadzorowanych, o nazwie Cobbler. Pozostałymi elementami Cobblera jest serwer PXE oraz repozytorium oprogramowania, pozwalające tworzyć lokalne mirrory całego systemu oraz własne zbiory lokalnych programów, np. w konkretnych, interesujących nas wersjach. Oczywiście, wszystko w formie paczek RPM. Cobbler służy jednak do instalacji Red Hata, Fedory i CentOSa. Jak go zmusić do instalacji Windowsów? Tutaj z pomocą przyszedł Kickstart, ale idźmy po kolei i najpierw wyjaśnijmy sobie, jak działa środowisko oferowane po skonfigurowaniu Cobblera.

Serwer

Na początku potrzebujemy serwera. Już tutaj miałem problem, bo przecież poprzedni serwer zdechł. Jak napiszę zapotrzebowanie na nowy, to dostanę go za trzy miesiące – przerabiałem ten motyw ze zszywaczem. Przepaloną żarówkę w ogóle wymieniłem sam, nawet nie próbowałem o nic prosić. Pozostało to samo zrobić z serwerem: skosiłem jeden z komputerów w laboratorium. Co za różnica, 29, czy 30 stanowisk. I tak coraz więcej osób przychodzi z własnymi laptopami (na których na pewno mają legalne wersje drogiego oprogramowania, używanego na zajęciach). Wziąłem sobie komputerek z Sandy Bridge, SSD na system i HDD 1TB na soft do wdrażania. Zawczasu upewniłem się, czy przypadkiem nie jest to WD Green. Na SSD zainstalowałem system Fedora Server 21, dorzuciłem cockpit, irssi i Cobblera, który pociągnął tuziny zależności, jak serwer WWW, FTP, TFTP, xinetd, górę modułów do perla i pythona i jakieś dziwne biblioteki, o których niekoniecznie wcześniej słyszałem. To był niedobry etap instalacji, bo robiłem to pierwszy raz w życiu. Zawsze wcześniej PXE już był i działał. Tutaj musiałem się dopiąć do już istniejącej infrastruktury, która w dodatku została zestawiona przez umysł dość wyraźnie odmienny od mojego.

Oprogramowanie: Cobbler

Po instalacji i konfiguracji, Cobbler zaczął odpowiadać na żądania BOOT ROM i oferował stacjom menu trochę podobne do GRUBa. Początkowo na liście była tylko opcja (LOCAL BOOT), która w dodatku nie działała. Tutaj poczułem, że nie widzę wyraźnej granicy tego, gdzie kończy się syslinux, a zaczyna Cobbler. Wiedziałem, że to niedopatrzenie okaże się w jakiś sposób zgubne, ale była już 22:00, a ja założyłem, że użytkownicy laboratoriów nie mają gąbki zamiast mózgu i nie będą naciskać losowych przycisków, jak zobaczą „menu wyboru instalacji nienadzorowanej” zamiast ekranu logowania Windows. Nie muszę chyba mówić, że był to poważny błąd z mojej strony. Więc poza menu uszkadzania stacji, trzeba było nakarmić Cobblera jakimś systemem, który mógłby oferować przez PXE. Nie mowa tu o systemie do instalacji, tylko o czymkolwiek, na czym da się najpierw odpalić instalator.
Tutaj sprawa działa podobnie, jak w Windows Deployment Services – dodaje się obraz płyty z systemem operacyjnym, a na jej podstawie definiuje się profile. Profil zawiera ustawienia takie, jak na jakich komputerach wolno z niego korzystać (poznaje po adresach MAC), jakie parametry jądra przesłać podczas uruchamiania oraz, przede wszystkim, jaki plik odpowiedzi dołączyć do uruchamianego instalatora. Zacząłem od laboratorium, gdzie stoją komputery z dwoma dyskami. Powód był prosty: na pierwszym dysku miał być Windows, na drugim Linux. Zdefiniowałem więc nowy profil, zastrzegłem jego użycie tylko w jednej sali i zabrałem się za pisanie pliku odpowiedzi. Tutaj poznałem magię Kickstarta. Podejrzewałem już wcześniej, że jest magiczny, ale teraz mogłem się o tym wreszcie przekonać.

Kickstart

Pliki odpowiedzi dla kickstarta składają się z trzech sekcji. Pierwsza to zbiór odpowiedzi na pytania Anacondy. Druga, o nazwie „pre”, jest ciekawsza: jest to zbiór czynności do wykonania przed instalacją. Najlepiej wykorzystać tę sekcję do przeprowadzenia podziału dysku na partycje. Moja ulubiona jest jednak sekcja trzecia, „post”, czyli zbiór czynności do wykonania po instalacji. Ponieważ obecnie instalatory, oraz w ogóle interfejsy, zmierzają do jak najsilniejszego „uidiocenia”, zadają coraz mniej pytań. Nie da się już na przykład ustawić domyślnego środowiska graficznego albo zmienić ustawień serwera SSH (kiedyś się dało, ale to było w 2001). Dlatego należy to zrobić później. Potęga sekcji trzeciej bierze się z tego, że jest ona zwykłym skryptem bash, uruchamianym w środowisku chroot. Mamy zatem nieograniczony dostęp do systemu i możemy korzystać ze wszystkich narzędzi, jakie w nim zainstalowaliśmy. Nadużyję tej potęgi na dalszych etapach pracy.
Aby móc przeprowadzić instalację Kickstart, plik odpowiedzi musi przejść walidację. Skoro instalacja ma być całkowicie nienadzorowana, wymusza to nie tylko odpowiedzenie na wszystkie pytania, ale i zrobienie tego w akceptowalnie rozsądny sposób. Szczegóły tworzenia pliku odpowiedzi są doskonale udokumentowane w Projekcie Fedora. Szkoda tylko, że wspomniana dokumentacja co chwilę zmienia adres z powodu niekończącej się reorganizacji struktury Wiki Fedoraproject. Obecnie, manual do Kickstarta znajduje się na githubie, ale już nie mogę się doczekać, aż wyląduje w jeszcze dziwniejszym miejscu, np. na Pastebinie. Wiem, że mogę to w każdej chwili „wygooglać”, ale chciałbym mieć poprawne zakładki. Można się jednak obyć bez dokumentacji: wystarczy użyć w Fedorze programu system-config-kickstart. Dzięki niemu odpowiemy na szereg pytań dotyczących systemu, a w odpowiedzi dostaniemy gotowy plik Kickstart. Jest jednak jeszcze lepszy pomysł. Świadczy on o tym, że twórcy instalatora Red Hata naprawdę wiedzą jak to się robi (i potrafią tego nie zepsuć po całkowitym przepisaniu instalatora od zera w wersji 18). Otóż po każdej instalacji Fedory, w katalogu domowym administratora znajduje się plik „anaconda-ks.cfg” zawierający odpowiedzi, jakich udzieliliśmy podczas instalacji. Wystarczy zatem przeprowadzić „wzorcową” instalację, a następnie zabrać z niej plik Kickstart. Powiązanie go z profilem Cobblera doda nam opcję gotowej instalacji nienadzorowanej. Jest to rozwiązaniem lepszym od system-config-kickstart również dlatego, że ten generuje niekompletne pliki. Dostaniemy na przykład język polski, ale polskich znaków już nie. Ewentualnie plik w ogóle nie przejdzie walidacji. Coś takiego przytrafiło mi się za pierwszym podejściem.

Walidacja

I tak trzeba jednak zaglądać do tych plików. Głównym powodem jest dokonanie podziału na partycje. Dokonuje się go w sekcji „pre”, by następnie Kickstartowi kazać użyć już przygotowanych partycji. Pozwoli to uniknąć powoływania się na wbudowany kreator podziału dysku, który moim zdaniem, po latach absolutnej niezawodności, został całkowicie zepsuty i obecnie nie da się go skłonić do pełnej współpracy. Trudno tu opisać, co mam na myśli, trzeba to przeżyć. Ale nikomu tego nie życzę. A już zwłaszcza nikomu ze zdiagnozowanym OCD: musiałby bowiem znosić marnowanie kilkunastu kilobajtów na końcu dysku, bo w instalatorze usunięto tick „wypełnij do końca”. Zatem partycje trzeba przygotować wcześniej - w sekcji „pre” w ruch idą parted oraz mke2fs (póki co).
Jakie odpowiedzi umieściłem w moim pliku? Przede wszystkim ustawiłem lokalne repozytorium. Pobieranie podczas każdej instalacji pakietów z mirrora we Wrocławiu jakoś mało mi się podobało. Stworzyłem więc własnego mirrora, znacznie zwiększając prędkość pobierania pakietów. Oczywiście najpierw zrobiłem to źle: żywcem skopiowałem całe drzewo katalogów ze zdalnego FTP, a następnie wyłączyłem weryfikowanie SSL, bo przecież nie miałem kluczy. Potem (gdy było już za późno) przyszło mi do głowy, że przecież Cobbler powinien mieć funkcję generowania lokalnego repozytorium. No i jak najbardziej tak jest. W dodatku magiczne polecenie „cobbler reposync” pozwala ustawić aktualizację, dzięki czemu w sieci zawsze będziemy mieć najnowsze pakiety. Poczułem się trochę jak dureń, ale na swoje usprawiedliwienie mam fakt, że repozytorium utworzone „na chama” również działało. If it’s stupid, but works, then it’s not stupid. Do tego stopnia boję się, że gdzieś jeszcze wykorzystuję to pierwsze, błędne repozytorium, że zdecydowałem go nie usuwać. Jest już kompletnie nieaktualne, ale na wszelki wypadek niech tam leży. Dodałem też RPM Fusion, wszak są tam też zajęcia z technik multimedialnych i obliczeń równoległych na GPGPU.

Repozytorium

Nieco frustrujący jest fakt, że podanie w pliku odpowiedzi adresu do repozytorium skutkuje wykorzystaniem go jedynie na czas instalacji. Zainstalowany system z powrotem korzysta z listy zdalnych repozytoriów RPM i mimo, że zawsze wybiera najbliższe, mam uzasadnione powody podejrzewać, że mojego http://dragonair.zip400.metaldomain/cobbler/repo_mirror/f21-updatesmirror/ jednak nie ma na liście. Własne repozytoria należy dodać do systemu „ręcznie” w sekcji „post”. Oczywiście, opcja zainstalowania repozytorium wykorzystywanego podczas instalacji jest opisana w dokumentacji: zostanie dodana jako nowa funkcja instalatora w kolejnym wydaniu Fedory.

Następnie podjąłem kilka niepopularnych decyzji, jak wyłączenie firewalla oraz SELinuksa i wyzerowanie hasła dla jednego z tworzonych użytkowników (pozostali mają się logować przez LDAP). Ta koszmarna decyzja jest w pełni uzasadniona. Studenci masowo „nie ogarniają”, że na laboratoriach z sieci Apache nie obsługuje ich żądań z powodu właśnie firewalla. Jest to mało zaskakujące, gdy weźmiemy pod uwagę to, że 90% z nich traktuje używanie Linuksa jak karę i nie widzi nic absurdalnego w wykorzystywaniu Perla, Apache’a i BSD Socketów pod Windowsem. Zatrzymanie systemów firewalld i selinux było zatem koniecznością. Ciekawsze jest jednak po co usuwać hasło dla użytkownika lokalnego. Odpowiedź jest krótka i brzmi „MPI”.

Nagle: MPI

Zanim przejdziemy do ciągu dalszego zmagań z Kickstartem, krótka dygresja praktyczna, aby unaocznić, że sama instalacja oprogramowania nie wystarczy i trzeba czasem naprawdę mocno się napracować, żeby jeden mały program działał poprawnie w „niewidzialny” sposób. Zatem, MPI. Jest to framework do obliczeń rozproszonych. Dostarcza własny kompilator C oraz środowisko uruchomieniowe. Nie czas teraz na wyjaśnianie, jak pisać programy w MPI, ważne jest co innego: jeżeli chcemy uruchomić nasz program (obliczenia) MPI na wielu komputerach (węzłach) jednocześnie, na każdym komputerze musi on być w tym samym miejscu (bezwzględna ścieżka). Dlatego też studenci mają swoje konta LDAP, ale jest też pozostawiony użytkownik lokalny, o ograniczonej powłoce i uprawnieniach, po to, by wszystkie stworzone binarki MPI były na każdym komputerze w tym samym miejscu i należały do takiego samego użytkownika. Ponadto, węzły komunikują się ze sobą przez… SSH. A jak działa nawiązywanie sesji SSH?

SSH...!

Taka sesja może być interaktywna (dostajemy powłokę) albo nie (posyłamy tylko polecenie i oczekujemy, że się wykona, nie zestawiamy pełnej sesji). Te dwa typy sesji otrzymują różne zmienne środowiskowe. Należy to zapamiętać, bo będą przez to problemy. Przede wszystkim jednak, sesja jest zestawiana na podstawie jakichś poświadczeń. Zazwyczaj rozumiemy przez to hasło. Ale nie musi tak być, jest inna metoda, lepsza. Opiera się na kluczu prywatnym i publicznym. Jeden komputer ma klucz publiczny, drugi przychodzi do niego z prywatnym, pasują do siebie, sesja zestawiana. Bez pytania o hasło. Warunkiem jest umieszczenie na kliencie i serwerze pary kluczy. Początkowo tego nie zrobiłem. Pomyślałem „studenci se zrobią na pierwszych zajęciach”. Niestety, to jest stuprocentowo pewny przepis na katastrofę. W praktyce oznacza on bowiem, że należy 30x30=900 razy umieścić parę kluczy na komputerach, w trzydziestoosobowym laboratorium. W dodatku, nie można się pomylić i np. nadpisać zbioru kluczy, albo (co gorsza) wygenerować nowych kluczy, usuwając stare. Przerwie się wtedy pierścień. Oczywiście, studenci próbowali robić to RĘCZNIE. Nikomu nie przyszło do głowy oskryptowanie tego narzędziem sshpass. A gdy sam wprowadziłem ten skrypt, wielu studentów, gdy ich kod MPI nie działał, uznawało, że totalnie dobrym pomysłem jest wygenerować sobie klucze na nowo, co przerywało pierścień i niszczyło pracę wszystkich innych. Moją decyzją było zatem stworzyć oddzielne konto do MPI, na którym nic nie wolno, ale można uruchamiać programy MPI. Bez hasła. Brak hasła działa jak używanie kluczy – SSH o nic nie pyta, więc MPI potrafi działać. Niestety, demon SSH nie pozwala na uwierzytelnianie bez hasła tak po prostu. Trzeba go mocno przekonać, żeby się na to zgodził. O tym później. Podobnie, jak o tych zmiennych środowiskowych, które się przewinęły przed chwilą.

Konfiguracja oprogramowania

Wracamy do Kickstarta. Czas na wybór, które pakiety instalować. Można podawać grupy, jak @gnome albo @office, konkretne pakiety, jak nmap, geany i openmpi-devel, a także wskazać wyraźnie, których pakietów NIE instalować. Po co? Na przykład po to, żeby uniknąć automatycznej instalacji programu Audacious, który połączony z MATE twierdzi, że nadaje się na menedżer plików, zastępując go sobą. Dwuklik na „Katalog domowy” skutkuje odpaleniem Biblioteki Multimediów. Once again – w dokumentacji o tym nie piszą, bug niezgłoszony, takie kwiatki wychodzą podczas testów. A każdy test można przeprowadzić dopiero po procesie instalacji: mała zmiana w pliku odpowiedzi i znowu czekamy na reinstalację, żeby przetestować efekt. Należy się więc zatem mało mylić. Ogólna życiowa sugestia.

Ponieważ grupy pakietów czasem nie zawierają wszystkiego, na przykład @engineering-and-scientific jakimś cudem nie zainstalowało gnuplota, dopisałem wiele pakietów do ręcznego doinstalowania. Między innymi pakiet gnome-classic-session. Studenci wpadają w panikę na czystym GNOME 3. Szkoda, że zainstalowanie tego pakietu nie ustawia domyślnej sesji na GNOME Classic. Ale od czego jest „post”?

Była już środa wieczór, w sobotę przychodzą zaoczniki, które płacą ciężkie pieniądze, żeby mieć zajęcia w sali, która jednak działa, a nie służy wyłącznie jako pomieszczenie do trzymania wózka z dzieckiem, przywożonego na zjazd (true story, w sali stały dwa wózki, od czasu do czasu płacz, przeplatany rozmowami studentek o macierzyństwie). Zbliżający się deadline jest zwyczajowym generatorem problemów w IT. Odkryłem dwa, niby małe, ale istotne.

Zawsze jest czas na problemy!

Po pierwsze, ustawienie „keyboard pl” i „lang pl” absolutnie nie wystarczyło do ustawienia polskiego układu klawiatury. Zgłoszone błędy na bugzilli wiodły na kompletne manowce, dokumentacja bezczelnie kłamała, że to przecież musi działać, a ja siedziałem i zamiast „ą” otrzymywałem brzęk PC Speakera. Okazało się, że należało ustawić język i klawiaturę w kosmiczny sposób „keyboard --vckeymap=pl --xlayouts='pl'” oraz „lang pl_PL”. Ukradłem to z pliku anaconda-ks.cfg na moim laptopie. Wtedy poszło. Znacznie gorszy problem był z boot loaderem. Co prawda władował się na właściwy dysk ale… najwyraźniej zaprojektowano go, by idealnie nie nadawał się do dokładnie takiego scenariusza, do jakiego go potrzebuję (i tylko do takiego). Otóż po pierwsze wykrywał „Windows 7” jako „Windows Vista”. Jeżeli ktoś twierdzi, że to nie problem, to przypominam, że targetem laboratorium są studenci. Większość nawet nie zauważy, ale zgodnie z maksymą, że 10% ludzi odpowiada za 90% problemów, zawsze znajdą się ciekawe osobistości, które pogrążą się w absolutnej bezradności, gdy zobaczą w menu wyboru systemu napis „Vista”. Nie wybiorą go, bo to przecież Vista. Coś jak Windows 8 + gender. Turboszatan na dopalaczach. Oni uznają tylko kradzionego Windows 7 Ultimate, aktywowanego przez setną wersję KMS Femto, ze skrótem do WinRARa na pulpicie. Nie wybiorą też Linuksa, bo przecież nie działa na nim Solidworks (rzetelny argument) i „strony nie chodzą” (brak Flasha w pewnych kręgach w dalszym ciągu czyni komputer bezużytecznym). Dlatego niezbędnym krokiem okazała się zmiana nazwy z „Vista” na „7”.

sed -i -- 's/Vista/7/g' /boot/grub2/grub.cfg

To jednak nie rozwiązało problemu. Większość zajęć prowadzi się jednak na Windowsach, więc przydałoby się, żeby to jednak Windows miał priorytet i uruchamiał się automatycznie po timeout’cie. Niestety, myśl inżynieryjna w projekcie Fedora na tym polu mocno zawiodła (gąbka zamiast mózgu) i pliki konfiguracyjne GRUB2 są rozrzucone po milionie miejsc. Główny plik grub.cfg zawiera zbiór systemów operacyjnych, i owszem. Drugi, zaszyty gdzieś w /etc, definiuje w jaki sposób odbudowywać do menu podczas detekcji systemów (na żądanie albo podczas instalacji nowego jądra). Jest jednak trzeci plik, w którym znajduje się JEDNO ustawienie (poważnie – nie ma tam nic innego). Mowa o pliku grubenv, znajduje się on na partycji /boot i – uwaga uwaga! jest ona NIEPODMONTOWANA podczas ładowania GRUB2! Montuje ją dopiero systemd, później. Dlatego boot loader nie może odczytać listy priorytetów i korzysta z domyślnej, pakietowej kolejności. W ten sposób ZAWSZE pierwszy będzie Linux, gdy wydzielimy oddzielną partycję /boot (a my potrzebujemy oddzielnej partycji /boot). Wspomniano o tym w przypisie do przypisu w starej wersji dokumentacji GRUB2 na Wiki Fedoraproject. Rozwiązanie? Ustawiłem timeout wyboru systemu operacyjnego na 300 sekund. Czas nie pozwalał mi na wymyślenie niczego mądrzejszego. Na wszelki wypadek do pliku odpowiedzi dodałem też dyrektywę „xconfig --startxonboot”. Na 3 komputerach z 30 – a przypominam, że teoretycznie są identyczne – domyślnie nie wstawały Xy. Po dodaniu tej linijki, problem zniknął. Dlaczego? Nie mam pojęcia, ale był już czwartek. Nie potrzebowałem już wyjaśnień, potrzebowałem cudów.

Automatyzacja to nie wszystko

Instalacja nienadzorowana nie oznacza, że całość jest procesem całkowicie automatycznym. Każdy komputer trzeba przecież uruchomić, wybrać boot przez LAN, a następnie wybrać, jaki obraz odzyskać. Dopiero wtedy zaczyna się ta automatyczna część. A jeszcze jak się trafi sala, gdzie są stare płyty Gigabyte’a, to LAN BOOT trzeba wyłączyć po każdej instalacji, bo ignoruje on kolejność bootowania i ZAWSZE pcha się jako pierwszy. Przy wyłączonym serwerze odzyskiwania, paraliżuje to stację roboczą. Przy włączonym – gwarantuję, że jakiś student w końcu odpali reinstalację systemu, bo „Reinstalacja kickstart dla Lab 411 + brudny obraz Windows” brzmiało najbliżej do „ uruchom Windows 7”.

Ponadto, uruchomienie każdej kolejnej instalacji trwa coraz wolniej. Nie mam serwera z prawdziwego zdarzenia, jest tam jeden dysk desktopowy. Przy więcej, niż 10 reinstalacjach, wszystko zaczyna niemiłosiernie zwalniać. W dodatku w jednej sali znajduje się się switch legendarnej firmy Pentagram: gdy zrobi mu się za gorąco, zrywa wszystkie połączenia, a następnie wznawia je w trybie 1 Mbit. W gigabitowej sieci. Część instalacji źle znosi utratę połączenia sieciowego i wyświetla ostrzeżenie, na które niestety trzeba kliknąć. Dopracowanie wszystkiego tak, żeby było całkowicie „unattended” jest trudne i pełne niuansów. Zdecydowanie zabrakło mi już na to czasu, a zbliżał się piątek.

Ile trwa taka reinstalacja? Około godziny. Cobbler/Kickstart stosują tutaj stare podejście do problemu. Jest to autentyczna instalacja pakiet po pakiecie, a następnie lokalna przebudowa obrazu jądra Linuksa. Znacznie wolniejsze, niż obraz dysku, ale lepiej się zrównolegla. Co by to było, jakbym pchał 10 obrazów przez tę sieć? Na pewno poza zapchaniem sieci, mocno zmniejszalbym MTBF dysku z mirrorem. A tak to każdy komputer prosi o pakiet po pakiecie… W dodatku synchronizacja repozytorium gwarantuje, że po reinstalacji oprogramowanie będzie w najnowszych dostępnych wersjach. Obciążenie sieciowe obserwowałem Cockpitem, nowym wynalazkiem Red Hata, dość mocno forsowanym. Jeszcze nie jest gotowy do zadań bojowych, ale jest obiecującym projektem, z którym polecam się zapoznać. Puszczałem po 10 reinstalacji, całość zajęła 3 godziny na jedno laboratorium (potrzebowałem 1,5 sali na sobotę). Przez ten czas wcale nie siedziałem bez ruchu. Może i obejrzałem dwa odcinki serialu na tablecie, ale jednak co chwilę musiałem coś robić. Im było później, tym leniwiej zwlekałem się z krzesła, zsuwając się z niego od niechcenia i przy okazji generując elektryczność statyczną, która kopała mnie, gdy siadałem na krzesło z powrotem.

Housekeeping

Po automatycznej instalacji przez Anacondę, Kickstart przechodził do mojej ukochanej dyrektywy „post”, która, jak wspomnieliśmy, pozwala wykonywać operacje na zainstalowanym obrazie systemu. Co takiego w niej ustawiałem? Otóż:
  • Zmienne środowiskowe do Open MPI. Program mpiexec leży w /usr/lib64/openmpi/bin. To wystarczyło, by połowa studentów nie miała pojęcia, jak go uruchomić. Należało więc dorzucić go do PATH. Zarówno lokalnego, jak i zdalnego. Przecież OpenMPI zestawia sesje SSH. One też potrzebują ścieżki do mpiexec.
  • Parametry dla SSH, włączające puste uwierzytelnianie i ogóle niepytanie nikogo o nic. Tak zwane „zero security”.
  • Domyślna sesja graficzna GNOME Classic, zamiast zwykłego GNOME3. Paski zadań wiecznie żywe.
  • Trzeba też rozpakować CUDĘ i NVidia SDK.
  • No i zmienić tę nieszczęsną Vistę na Siódemkę :)

Happy End

W ten sposób stworzyłem swój wzorcowy plik do automatycznego wdrażania Red Hata na względnie masową skalę. Kickstart tworzył gotowe do pracy staje robocze, ze wstępnie ustawionym oprogramowaniem, potrzebnymi paczkami oraz odpowiednim uwierzytelnianiem. Był piątek, godzina 13:00. W międzyczasie pracowałem nad dyrektywą „pre”. Po co? Przecież cała ta zabawa wyniknęła z tego, że miałem stworzyć system automatycznej instalacji Windowsów. Zrobiłem to – Kickstarty stawiały, wskutek cwanej sztuczki, również Windowsy. Jak? To temat na inną historię :)

Wszystkie moje laboratoria były gotowe na sobotę.

Nikt nie zauważył, że cokolwiek zrobiłem.
 

linux serwery

Komentarze

0 nowych
elzear   5 #1 20.05.2015 20:38

Tak... Powiem szczerze, zalogowalem się, a nawet przeszedł em reset hasła tylko po to aby napisać komentarz, art świetny. Bardzo fajnie opisane kroki :) Powiedz tylko czy instalacja zajmowała 1h na 10 PC na raz? Jak w tym siwtle wygląda sprawa z instalacja Windowsa?Ogólnie to szacunek za dobre podejście do sprawy z nożem na karku.

jarodebombel   7 #2 20.05.2015 20:48

Ale ześ się rozpisał. I bardzo dobrze - wszystko w miarę dokładnie opisane i wyjaśnione. Bardzo interesujące case study.

Więcej takich na Blogach!

Berion   14 #3 20.05.2015 20:55

Cenię sobie taki typ humoru. :)

A właśnie, ja też chciałem zapytać jak wyglądała instalacja Windowsa, bo jak mniemam miała być też nienadzorowana? Pytam z pozycji laika, nigdy z PXE i nienadzorowaną się nie bawiłem.

wielkipiec   13 #4 20.05.2015 21:00

elzear, w przypadku Windowsów i natwnego rozwiazania Microsoftu, reinstalacja trwa okolo dwudziestu minut, poniewaz tak naprawde to nie reinstalacja, tylko rozpakowanie obrazu WIM. Windowsy kiedys uzywaly "pelnej" instalacji z plikami z sieci, ale to rozwiazanie (RIS) zostalo zastapione obrazowym (WDS).
Rownolegla instalacja tez wtedy daje rade, chyba dziala multicast, ale musimy miec responsywna macierz dyskowa. Tutaj tak nie bylo :)
I tak, reinstalacja trwa godzine przy 10 stacjach jednoczesnie. Reinstalacja Fedory. Rozpakowanie Windowsow jednoczesnie w takiej ilosci zapycha siec :D Mowa o mojej metodzie, dosc pokretnej (acz jestem z niej dumny). WDS oewnie dzialalby lepiej.

  #5 20.05.2015 21:05

"Podczas odzyskiwania kopii zapasowej popsuł się dysk z kopią zapasową, ten sam model. WD Green" ... really WD Green w korpo na kopię zapasową??? such lame ....

Hatred   5 #6 20.05.2015 21:09

Czyta się to miejscami jak powieść sensacyjną :) Jak dla mnie blogowy wpis miesiąca.

elzear   5 #7 20.05.2015 21:14

Pytam, ponieważ w moim przypadku WDS wbudowany do SCCM nie działa aż tak pięknie, ok instalacja samego .wim nie jest wolna ale post instalacja przy użyciu task sequence nie jest tak wydajna. W przypadku gdy po patrzymy na twoja procedurę gdzie w 1h masz 10 PC gotowych do pracy ze wszystkimi najnowszymi aktualozacjami + programami, to w przypadku WDS'a musisz się z tym nabiedzic, bo albo integrujesz aktualizacje do obrazu albo wymuszasz ta czynność po instalacji.

rm7   5 #8 20.05.2015 21:17

Bardzo dobry wpis, natomiast chciałbym skomentować
"Znacznie wolniejsze, niż obraz dysku, ale lepiej się zrównolegla. Co by to było, jakbym pchał 10 obrazów przez tę sieć? Na pewno poza zapchaniem sieci, mocno zmniejszalbym MTBF dysku z mirrorem."
Clonezilla (darmowa) umożliwia przywracanie obrazu na dziesiątkach komputerów na raz dzięki multicast.

elzear   5 #9 20.05.2015 21:22

rm7 masz odpowiedz w moim poście, po tej procedurze masz zawsze świeży system z najnowszymi pakietami + aktualizacjami. Oczywiście wszystko zależy od tego, w jakim celu tego potrzebujesz, czy obrazu który zawsze będzie identyczny, czy może w pełni skonfigurowany system zaraz po.

Autor edytował komentarz.
elzear   5 #10 20.05.2015 21:36

A tak z innej beczki, moglbys pozbawić się jeszcze WOL'em, żeby wybudzac PC bootowax z PXE. Niektóre płyty przy ustaleniach WOL maja opcje, wyboru źródła bootowania. W takim scenariuszu, masz wszystko zautomatyzowane :p

Autor edytował komentarz.
wielkipiec   13 #11 20.05.2015 21:38

@rm7, clonezilla obsługuje obrazy. Takie obrazy trzeba aktualizować :) Kickstart instaluje system ze zaktualizowanych paczek i przeprowadza konfigurację poinstalacyjną dostosowaną do każdego komputera. Ponadto, przywracanie Windowsów (nie Fedory) z obrazu bez WDS i System Center generuje szereg problemów, których Clonezilla nie rozwiąże ;)
@elzear, to nie jest wina WDS, tylko łańcucha Task Chain. W przeciwieństwie do Group Policy, które działają natychmiast, System Center (zwłaszcza, jak wsprzęgnie Windows Update/TrustedInstallera/TiWorkera) strasznie powoli się dogaduje z workstacjami. Dlatego maintenance MSI/MSU zostawiałem na noc, a jak najwięcej ustawień wrzucałem do jednostek organizacyjnych i doklejałem do nich tasiemcowe GPO.

rm7   5 #12 20.05.2015 21:47

@wielkipiec: Na pewno nie rozwiąże? Clonezilla ma narzędzia, jest w końcu używana do przywracania obrazów z Windowsem na wielu komputerach. Co do aktualizacji, to rzeczywiście. Z drugiej strony, masz gwarancję działania, a jak po którejś aktualizacji przestanie się instalować, to jest problem :)
Choć jeżeli masz własną kopię repo, to pewnie nie jest duży problem.

Autor edytował komentarz.
wielkipiec   13 #13 20.05.2015 21:51

@rm7, na pewno nie rozwiąże :) Chodzi o aktywację (nie tylko Windowsa) oraz dziwne sterowniki. To historia na kiedy indziej, przez którą rozważamy WDS i SCCM, mimo, że środowisko kompletnie się do tego nie nadaje. Ach te licencje.

Jim1961   7 #14 20.05.2015 21:51

Potwierdzam co napisali przedmówcy; wpis miesiaca. Czyta się bardzo dobrze, jednocześnie zawiera odpowiednią ilość tzw. mięsa. Czekam na kolejne wpisy ... może być opisujący wymianę żarówki :D

oprych   13 #15 20.05.2015 22:08

Jak dla mnie czysta magia, ale czytało się dobrze i ode mnie głos na bloga miesiąca :P

DjLeo MODERATOR BLOGA  18 #16 20.05.2015 22:44

Niezły wpis ;)

  #17 20.05.2015 23:18

Najlepszy tekst jaki dziś czytałem
Uśmiałem się
Dzięki za wpis

Magnum 44   17 #18 20.05.2015 23:26

"Niestety, myśl inżynieryjna w projekcie Fedora na tym polu mocno zawiodła (gąbka zamiast mózgu) i pliki konfiguracyjne GRUB2 są rozrzucone po milionie miejsc. "

Ale na Fedorze jest grub-customizer, który wszystko robi w dwa kliknięcia i z automatu :)

Ale wpis świetny :D

wielkipiec   13 #19 20.05.2015 23:35

@Magnum 44, wiem, że mogę sobie to potem przestawić. Ale chyba nie na tym polega instalacja nienadzorowana, prawda? :)

Trebron   8 #20 21.05.2015 00:03

Wow, kawał porządnej pracy, wielki szacun! Gdybym był postawiony w takiej sytuacji, to dogadałbym się z jakimś prowadzącym, coby podesłał mi ze 30 studentów na "nieobowiązkowy" kurs pt. "Wdrażania Red Hata w środowisku korporacyjnym". Pożyczyłbym tyle Pendrivów ile się da, dla starszych kompów ponagrywałbym płytki. Wydrukować instrukcję i heja. Wprowadzić element współzawodnictwa dodatkowo (kto zainstaluje najwięcej dostanie zaliczenie\browary\jedzenie :P), coby gawiedź się nie ociągała i myszkami szybko klikała.

gowain   19 #21 21.05.2015 00:16

Wpis mistrzostwo. Masz mój głos! ;)

O4i   11 #22 21.05.2015 00:40

Czyli podsumowując, Windows Serwer jest super ekstra pierwsza klasa rozwiązaniem pro, jedyny drobny problem to to, że u was nie działał tak jak trzeba, więc trzeba było użyć Linuksowego rozwiązania do instalacji Windowsów. :D

Autor edytował komentarz.
  #23 21.05.2015 01:43

Dobrze opisałeś jaki syf jest na uczelniach :-)
Byle szybko i tanio.

  #24 21.05.2015 03:56

Za.. ten teges Genialny wpis.
Jest niemal czwarta nad ranem, a ja po lekturze zamiast iść spać (w końcu) dopiero się obudziłem. hehe PS. Kiedyś z grubem było znacznie prościej jak pamiętam, ale to dawne czasy

wielkipiec   13 #25 21.05.2015 07:17

@Trebron, to ja jestem takim prowadzącym ;) Poza tym, taką reinstalację, przez update obrazów i licencji, trzeba było tydzień później przeprowadzić jeszcze dwukrotnie. A co jak stacja siądzie? Znowu wzywać studentów? To jest antydydaktyczne (niczego nie uczy) i antypedagogiczne (wpaja błędne podejście do problemu).
@O4i, jak zaczniesz przeliczać czas pracy na złotówki, to szybko odkryjesz, że Windows Server jest najtańszy ;)

dr.boczek   8 #26 21.05.2015 07:36

@O4i: tak to niestety wygląda, dlatego mi wciąż trudno się przekonać do windows servera.

  #27 21.05.2015 08:19

Jeśli chodzi o gruba, to interesuje cię tylko plik /etc/default/grub, na jego podstawie generowany jest automatycznie (i jest nadpisywany zresztą) grub.cfg.

gaijin   5 #28 21.05.2015 08:22

Ja bym wspomniał o projekcie drbl + drbl-winroll który umożliwia szybkie odtworzenie wielu stacji z windows a do tego można prosto modyfikować menu, by ludzie sobie sami nie klikali odtwórz "przypadkowo".
Generalnie polega to na tym iż robisz wzorcowy obraz systemu z działającej stacji a potem wysyłasz go na inne maszyny (- takie same). PXE w użyciu.

marson1   13 #29 21.05.2015 09:12

Ja bootowałem kiedyś przez PXE poprzez serva nawet opisałem o tym na blogu http://www.dobreprogramy.pl/marson1/Serva-sposob-na-instalacje-Windows-poprzez-s... w razie potrzeby wystarczyłoby dorzucić plik odpowiedzi

P.S czemu Fedora a nie cenos czy RHEL? przecież Fedora to poligon doświadczalny

Autor edytował komentarz.
wielkipiec   13 #30 21.05.2015 09:47

@marson1, potrzebujemy najnowszych libek i kodeków.

piotrek18l   7 #31 21.05.2015 10:01

Wszystko fajnie, ładnie jak w firmie nie ma zabytkowych kompów a użytkownicy nie wwalają ważnych plików gdzie popadnie, firma mieści się w jednym budynku a sieć działa cudownie...

Autor edytował komentarz.
wielkipiec   13 #32 21.05.2015 10:16

@piotrek18l, czyli to niepotrzebne tak naprawdę wszystko, tak? Fanaberie? :D
A użytkownicy wrzucają pliki gdzie popadnie, i owszem. Wtedy je tracą, bo przy logowaniu na publiczne, nie-LDAPowe konto czyszczony jest katalog domowy ^^
Sieć zaś działa tu daleko od "cudownie". "Firma" zaś mieści się w trzech budynkach, których jedyną cechą wspólną jest chyba tylko maska podsieci :D

davidns   7 #33 21.05.2015 10:27

o ile prościej było by zmigrować wszystkie stacje robocze na Linuksa ...

Autor edytował komentarz.
saygon   2 #34 21.05.2015 11:20

Świetny wpis! Gratuluję cierpliwości i życzę niekończącego się polotu w rozwiązywaniu podobnych "zagadek" ;)

Jakiś czas temu również automatyzowałem instalację w firmie, tak więc wiem co przechodziłeś!

Areh   17 #35 21.05.2015 11:30

Chyba mam już pierwszy typ do wpisu miesiąca w maju.

patyk1231   4 #36 21.05.2015 11:52

Bardzo, bardzo dobry wpis! Nie dość, że konkret to jeszcze z niewysilonym humorem w odpowiedniej dawce no i sprawnie językowo!
Zapisane w ulubionych, dzięki!

Rower1985   6 #37 21.05.2015 12:04

Wpis super. U nas w firmie latają i instalują na kompach oprogramowanie z poziomu pendrive...

4lpha   10 #38 21.05.2015 12:14

Świetny wpis. Gratuluję rozwiązania problemu.

Samurai   16 #39 21.05.2015 12:16

@davidns: Naprawdę świetna rada....(żenua)

@wielkipiec Gratulacje, że udało Ci się problem rozwiązać. No i nie będę w tym już oryginalny mój głos też masz :)

PS. Czekam na tą część z Windowsem.

barylka1986   4 #40 21.05.2015 12:36

Trudno mi zrozumieć sytuacje, w której ma się serwery na Windows i nie wdrożone AD. Przecież to podstawowa usługa. Brak AD powoduje, że nie można uruchomić kolejnych usług np. tak jak tu opisanego WDS.

wielkipiec   13 #41 21.05.2015 12:38

@barylka1986, ciesz się, że masz sieć, w której może ci śmigać Microsoftowy DNS :D
Tutaj tak nie jest, trzebaby rozwiązać kilka blokujących problemów, na które notyrycznie nie ma czasu.

Jusko   13 #42 21.05.2015 13:55

@marson1 #29: Co Wy wszyscy macie z tym poligonem ;-P Ktoś tak kiedyś wymyślił jako złośliwy przytyk i zostało (zupełnie jak z Ubuntu, który jest "zakałą Linuksa" i dla "cieniasów"). Jak dla mnie to tylko dobrze o Fedorze świadczy, że jedno ze starszych wydań jest zawsze podstawą do stworzenia tak dobrego rozwiązania jak RHEL (bo gdyby Fedora była takim poligonem, to czemu jest to fizyczna baza dla RHEL).

A tak na serio - Fedora jest nie mniejszym "poligonem" niż Debian Testing / SID, półroczne wydania Ubuntu, distra rolling czy w ogóle distra z szybkim cyklem wydawniczym ;-)

Autor edytował komentarz.
bystryy   10 #43 21.05.2015 15:50

Fajny wpis, trzeba będzie przeczytać ponownie z większą uwagą, gdy będzie się miało więcej wolnego czasu :)

O4i   11 #44 21.05.2015 16:12

@wielkipiec: Myślę, że masz rację, przykładowo walczenie z konfiguracją RedHata/CentOSa w taki sposób by nie wyłączać SELinux, to droga przez mękę, a 3/4 poradników w sieci rozpoczyna się od "wyłącz SELinux" grrrr...

Natomiast mnie rozbawił ten kontrast pierwszego akapitu tekstu z resztą. Mój kochany, niezawodny, profesjonalny, wcale nie zabawka system. Następnie czytam:
"Nie czas i miejsce na wyjaśnienia tego stanu rzeczy, wspomnę jedynie, że w ultraheterogenicznym środowisku pełnym staroci oraz naprawdę dziwacznych maszyn, Microsoftowa implementacja DNS jest nieokiełznanym i nieprzewidywalnym żywiołem."

"ustaliliśmy, że nie da się w moim przypadku wdrażać Windows narzędziami do wdrażania Windows."

Powiem tak, dobrze, że istnieje Linux, bo Linux bardzo często ratuje dupę użytkownikom Windows, nawet na desktopie. Gdyby nie Linux, to Windowsa nie dałoby się używać. ;)

Autor edytował komentarz.
  #45 21.05.2015 16:29

@wielkipiec. Ciekawie opisany problem. Może pociągniesz temat deploymentu w środowisku powiedzmy RH/CentOS z SELinuxem? Upierdliwe, ale myślę że warto.
AC

command-dos   18 #46 21.05.2015 18:11

ląduje w ulubionych - majstersztyk :)

qw0000   6 #47 21.05.2015 18:13

Bardzo ciekawy wpis. Chyba pisałeś go tak długo jak wdrażałeś przedstawione zagadnienie ;)

wielkipiec   13 #48 21.05.2015 18:39

@@qw0000, pisałem łącznie ze dwie godziny. Pisać lubię i (mam nadzieję) nawet mi się udaje ;)

Kpc21   10 #49 21.05.2015 20:00

Super wpis. Masz mój głos.

lunareth   4 #50 21.05.2015 21:27

Całkiem ciekawy i dobry wpis. Dawno mi sie tak dobrze nie czytało na DP :)

lucas__   13 #51 21.05.2015 22:41

Dlaczego GNOME Classic a nie np. XFCE? Też "klasyczny" interfejs no i zużywane zasoby dużo mniejsze.

wielkipiec   13 #52 21.05.2015 23:13

@lucas__, ścieżka krytyczna pakietów gorzej przetestowana, konieczność doinstalowania większej liczby rzeczy ręcznie, domyślne ustawienia jeszcze dziwniejsze, niż GNOME 3, kiepska współpraca z GDM/Wayland no i Xscreensaver.
Generalnie mam regułę, że jak mam na coś mniej czasu, to wybieram rozwiązania, które dają najwięcej wyników w Googlach. W drugiej kolejności kieruję się aktywnścią GITa ;)

Jusko   13 #53 21.05.2015 23:45

@lucas__ #51: GNOME 3 / Classic jest domyślnym środowiskiem RHEL-owej rodziny (RHEL, Fedora, CentOS), zatem jest w tym przypadku wyborem oczywistym.

Jeśli szukasz poradników do owych systemów, to aktualne poruszają się właśnie po konsoli / GNOME 3. Właśnie to środowisko jest "namaszczone" przez Red Hata. Tak naprawdę to Fedora z GNOME 3, nie zajmuje domyślnie więcej jak ~450-470MB, także dość przyzwoicie na dzisiejsze standardy (zawsze można jeszcze odchudzić).

KDE i reszta środowisk w przypadku RHEL / Fedory są po macoszemu - ot, skompilowane i leżą w repo (lub jako spin), lecz nic więcej. Nie są nawet jakoś wstępnie skonfigurowane - taki default. W przypadku sytuacji jak opisana przez @wielkipiec, szkoda czasu na takie dodatkowe zabawy - szczególnie, że tutoriale w razie czego nie są pisane z perspektywy innych wariantów.

Autor edytował komentarz.
  #54 22.05.2015 09:09

wielkipiec: genialny wpis, bardzo obszerny i szczegółowy, ale świetnie napisany.

Co prawda tematyka mocno odbiega od moich zawodowych zainteresowań, ale artykuł tak mnie wciągnął, że przeczytałem go prawie od deski do deski. Gratuluję!

radek2212   1 #55 22.05.2015 12:17

@wielkipiec
Microsoftowa implementacja DNS - wersja 2003,2008R2 czy 2012 R2 ?

Color Mint   9 #56 22.05.2015 22:45

@lucas__: W Fedorze/RH/CentOS Gnome to po prostu środowisko graficzne. Porządna dokumentacja, ścieżki certyfikacyjne, egzaminy, wszystko na nim bazuje lub na konsoli jak słusznie mówi Wielkipiec.

Zmienić Gnome na inne owszem można ale się tego raczej nie robi, bo to tak jakby w Windows zmienić shell na jakiś alternatywny i na bazie tego uczyć się do egzaminu. Można ale jakoś tak dziwnie.

Plus tego taki że Fedora/RH/CentOS tworzą spójny standard. Jak rozmawia się z kimś kto pracuje na tych systemach to raczej nie będzie trzeba dopytywać się jakich środowisk używa. Tak samo programiści piszący soft mają bardzo ułatwione zadanie.

Autor edytował komentarz.
okokok   12 #57 23.05.2015 02:01

Świetne!

jata   2 #58 23.05.2015 13:00

@Wielkipiec:

Masz jeszcze te dyski na stanie?? Szukam płytki sterującej do 2TB EARX i możesz byś jedną udostępnił???

Autor edytował komentarz.
InstalacjaGazowa   3 #59 24.05.2015 17:07

Wszystko ładnie pięknie i świetnie tylko czemu poligon doświadczalny nsa zastąpiłeś poligonem doświadczalnym red hata? Nie można było użyć Debiana albo Ubuntu server?

wielkipiec   13 #60 24.05.2015 18:54

@InstalacjaGazowa: oho, mój ulubiony argument "poligon" :D
Nie mogę się do niego odnieść, bo jest pusty, więc poproszę przykłady, praktyczne, w jaki sposób Debian jest do tego celu lepszy ^^

nintyfan   11 #61 25.05.2015 10:24

Co do grub2 i domyślnego systemu, to w OpenSuSE jest katalog /etc/grub.d. Tam możesz dodać nowy plik, np. 01_default_entry, gdzie wpiszesz:
echo _ustawienie_zmiennej_
Moim zdaniem, powinno działać.

InstalacjaGazowa   3 #62 25.05.2015 14:46

@wielkipiec: Np. to że pchanie systemu plików (który ledwo przeszedł do wersji beta z alpha) jako domyślny system plików jest chyba wystarczającym udowodnieniem tego gdzie twórcy tego OS mają stabilność : )
(Jakby to nie było wystarczająco złe to można dorzucić systemd )

Viperoo   8 #63 25.05.2015 15:01

Jeden z najlepszych wpisów na DP

wielkipiec   13 #64 25.05.2015 15:46

@InstalacjaGazowa: nie zauważyłem żadnych problemów ze stabilnością, nigdzie. Instaluję na ext3, nadpisuję defaultowe ustawienia, wybieram to, co znam. Takie argumenty to teoria. Wiadomo, że przy poważnych zmianach należy być ostrożnym, ale ja przetestowałem i wdrożyłem to rozwiązanie i ono działa :D Widzę to codziennie. Ciężko mi zrozumieć narzekanie na Fedorę i systemd (na ten drugi to już w ogóle), bo po prostu siedzę obok góry sprzętu, na których są zainstalowane i nic się im nie dzieje. Czego więcej trzeba jako argument?

Autor edytował komentarz.
awangardowy   7 #65 27.05.2015 00:53

Na duzej liczbie komputerów moze rzeczywiscie Gnome jest najlepsze defaultowo, ale na swoim-najwazniejszym komputerze mam XFCE wydłubane od lat - i pod względem developerskiej produktywności scigam się z kumplami od najdroższych MacBooków. Bez żadnego problemu, niejeden raz się coś szybciej napisze, przetestuje, czy wyśle gdzies przez SSH od tych gości co mają MacBooka za X tys zł ;)

pocolog   12 #66 27.05.2015 00:54

@awangardowy: Co ma piernik do wiatraka?

jaras67   3 #67 04.06.2015 14:18

Ale wiocha na uczelniach jest windows, to szkoda marnować czas.

  #68 16.06.2015 16:13

@wielkipiec widzę, że masz doświadczenie jeżeli chodzi o systemy (głównie Windows) więc może pomożesz mi w jednej sprawie ? A mianowicie, jak instalować aktualizacje, aby jak najmniej odczuła na tym wydajność systemu. Zauważyłem, że jak instaluję system a później aktualizację to wydajność spada. Jest może na to jakiś sposób ??

maniek1310   1 #69 17.06.2015 18:19

@wielkipiec a da radę uruchomić instalację z pxe bez użycia winpe ?? Bo tylko taki poradnik znalazłem na internecie : http://www.tecmint.com/configure-pxe-server-to-install-windows-on-centos/
i
http://www.tecmint.com/installing-windows-7-over-pxe-network-boot-in-centos/

Emigrant Sebastian   9 #70 06.07.2015 00:13

Świetne pióro, nie męczy, przykuwa uwagę, lekko sensacyjnie, wyważony dowcip, moje gratulacje.
W tekście zwróciłem uwagę na pewne zdanie, po doczytaniu wszystkiego do końca postanowiłem zapytać mojego przyjaciela Googla co myśli o "KMS Femto". Zdębiałem gdyż jedynym miejscem w znanym Wszechświecie gdzie można natknąć się na interesujący mnie ciąg znaków są ..... DP a konkretnie ten blog!
@ktokolwiek_w_temacie może mi przybliżyć enigmatyczny temat "KMS Femto"?

  #71 06.07.2015 13:04
wielkipiec   13 #72 07.07.2015 01:27

@Emigrant Sebastian: KMS Femto nie istnieje. To moja wariacja na temat kolejnych wersji crackera dla serwera KMS. Najpierw byl KMSMini, potem KMSMicro, teraz chyba jest KMSNano. Zasada działania tego cracka jest fascynująca i nadaje się na nowy wpis blogowy.
Swoją drogą, crack KMS do tego stopnia zmienił skojarzenie z tym skrótem, ze słysząc "KMS" wiecej osob myśli właśnie o cracku, a nie o serwerze aktywacji :)

Emigrant Sebastian   9 #73 07.07.2015 15:37

@wielkipiec: Dziękuję za odpowiedź. Zdobyłeś we mnie wiernego czytelnika :-) Pozdrawiam.

csrpl   11 #74 04.08.2015 13:28

Także jestem adminem na wyższej uczelni i podeszliśmy tutaj do sprawy zupełnie inaczej. Koszt trochę wyższy (koszt licecji zdalynch pulpitów), ale wygoda nieporównywalna no i w w rozrachunku wieloletnim i tak taniej to wyjdzie. Mamy 2 centralne bardzo moce serwery, które stoją na XENie, na nich są różne maszyny wirtualne. Siedzi także tam Windows Server 2012. Klucz w tym, ze na stacjach roboczych nie ma Windowsów, bo po co? Stoją lekkie Fedorki z XFCE. Komputerów tych czyścić nie trzeba, prawa są nadane raz (w przyszłości planujemy wymienić wszystkie stacje robocze na coś pokroju rasberry pi, żeby podłączyć do tego tylko monitor, klawiaturę i mysz + jakieś jedno gniazdko USB wolne). Ile prądu będzie zaoszczędzone? Szybko się zwróci. I teraz cały klucz : Całe działanie opiera się o RDC, czyli po prostu zdalny pulpit. Potrzebne oprogramowanie dostępne jest na jednym serwerze, do którego logują się wszystkie stacje robocze, to same ze wszystkimi ustawieniami. Nawet nie zdajesz sobie sprawy jak przyjemna i prosta jest administracja takim czymś. W razie jak trzeba coś zmienić na stacjach roboczych, lecą skrypty po SSH (adresy IP i podsieci nadajemy według sal, każde stanowisko ma końcówkę adresu IP ze swoim numerem). DO łączenia się z linuxa na windowsowy zdalny pulpit używamy rdesktop (prosty program odpalany z commandline).
Na stacjach roboczych porobione są autotworzące się skróty (plik konfiguracyjny na zewnętrznym serwerze w razie zmiany czegoś), które odpalają po prostu rdesktopa z odpowiednimi parametrami.
Oczywiście nie ma problemu z pendrive, rdesktop forwarduje urządzenia pamięci masowej/drukarki itp do hosta. Z prędkością na gigabitowych łączach także nie ma problemu.

Autor edytował komentarz.
But_w_trawie   9 #75 09.09.2015 14:06

z tymi redhatami jest z deka kicha. przez ostatnie kilka lat redhat zdążył mnie skutecznie zrazić, i chodzi nie tylko o sam system, ale też o inne produkty, jak np. cała seria jboss. licencje są coraz droższe, a co gorsza rh nie daje czegoś takiego jak tanie licencje nieprodukcyjne. a jest to bardzo potrzebne, jeśli w firmie są serwery produkcyjne które służą do regularnej pracy firmy, oraz serwery nieprodukcyjne na których testuje się rozwiązania, przed wprowadzeniem ich na systemy produkcyjne. jakieś sztuczne ograniczanie do liczby cpu czy rdzeni, problemy z rozliczeniem tego przy wirtualizacji. generalnie jest to niesamowicie problematyczne.

podsumowując, mogę stwierdzić że komercyjna konkurencja na polu linuxa bardzo często oferuje znacznie bardziej przyjazną politykę licencyjną, gdzie wsparcie wcale nie jest gorsze. w dodatku można też używać pewnych dojrzałych lecz niekomercyjnych wersji linuxa, i uzyskać do takiej wersji profesjonalne wsparcie. co ciekawe sprawa dotyczy nie tylko samego systemu operacyjnego i tego co z nim jest standardowo dostarczane, ale takie niezależne wsparcie można uzyskać też na oprogramowanie dodatkowe z poza systemu.

edmun   12 #76 22.12.2015 11:14

Ok.. jak na razie doszedłem do etapu gdzie budujesz PXE i podpowiem tylko tak.
Pod moim biurkiem leży Raspberry Pi, na którym w raspbianie postawiłem serwer PXE, który odpala 100MB obraz Clonezilla do image deployment. na to wszystko jest hasło a PXElinux domyślnie ma "boot from HDD" jako menu wyboru z timerem. Obraz jest na dyskach NAS w RAID, bo wiem jak dyski WD potrafią być awaryjne :) Jak skończę pisać wpis na bloga o czymś innym, to zrobię może i wpis jak zrobić boot from LAN serwer używając własnie Raspberry i jakiś dysk sieciowy

wielkipiec   13 #77 22.12.2015 11:19

@edmun: biorąc pod uwagę, co ten instalator musi u mnie zrobić skryptami przed i po instalacji, to jestem przekonany,że Pi umarłby od takiego obciążenia :D Mam serwer, to wrzucę na serwer ;) Ale generalnie do mniejszych zastosowań, to Pi brzmi jak całkiem fajny pomysł! Z chęcią przeczytam.

edmun   12 #78 22.12.2015 11:48

@wielkipiec muszę przyznać że podsumowanie na końcu:
"Wszystkie moje laboratoria były gotowe na sobotę.

Nikt nie zauważył, że cokolwiek zrobiłem."
mnie dobiło kompletnie. Taka wisienka na torcie. Gratuluję ! i biorę się za "ciąg dalszy" bo stamtąd własnie tutaj trafiłem. I tak... też mam OCD, w szczególności w swoich skryptach, plikach wsadowych i innych ifach i goto, żeby czasami mi pracownik w firmie nie powiedział, że odpalił mój program i nie działał (a zdarzyło mi się kiedyś, że dostałem OPR od szefa za to, że pracownik wziął programik, pojechał do klienta, programik był opisany "For Win7 only", odpalił go na Windowsie XP i schrzanił produkt u klienta. OPR dostał się mi, że powinienem to przewidzieć pisząc programy.. co z tego że w katalogu obok był "For Windows XP".. osobna wersja)