Strona rootnodestatus.net w całości znajduje się poza infrastrukturą Rootnode. Nawet w przypadku totalnej katastrofy ta strona powinna być dostępna z informacją co się dzieje i kiedy wrócimy do żywych. Polecam zapamiętać adres, zasubskrybować RSS lub dodać stronę do zakładek.
Prace w serwerowni trwały tydzień. W hałasie, ze zmieszanym zimnym i ciepłym powietrzem o wilgotności 15% walczyłem dzielnie niczym lwica o swoje potomstwo.
Jak widać z prawej strony udało się przywrócić do życia stallmana1, torvaldsa i drapera. W innych maszynach zostały wymienione uszkodzone dyski. Zrobiony został porządek w kablach, dołożony drugi switch, usunięte uszkodzone urządzenia (APC i KVM) oraz przepięte zasilanie na pozostałe APCki.
Włożony też został czerwony. Oczywiście zgodnie z prawem Murphyego nie obyło się bez czasochłonnego debugowania problemów sprzętowych.
Awaria zasilania
Awaria zasilania, która miała miejsce to błąd ludzki. Serwerownia posiada przemysłowe UPSy, które są w stanie podtrzymać napięcie w całej serwerowni przez kilka minut. Po pięciu sekundach od zaniku zasilania włącza się agregat prądotwórczy, który samodzielnie jest w stanie zasilić całą serwerownie przez długi czas. Wszystkie urządzenia są nowe, a agregat jest włączany co miesiąc na 15 minut w ramach testów. Dodatkowo wczoraj przy udziale panów z elektrowni został przeprowadzony Black Building Test.
Na czym polegała awaria?
Panel kontrolny generatora posiada wyświetlacz LCD, który zazwyczaj pokazuje STATUS OK, który oznajmia gotowość generatora do pracy. Aby włączyć generator do wykonania testów należy wejść do MENU i wybrać opcję włączenia generatora. I teraz największa ciekawostka. Jeśli w panelu kontrolnym po wyłączeniu generatora pozostaniemy w pozycji MENU to w czasie awarii zasilania generator się nie włączy w ogóle. Panel musi pokaywać STATUS OK i nie może być w żadnej pozycji MENU.
W pechowym dniu wyłączono prąd w całym mieście. UPSy przejęły podtrzymywanie napięcia w serwerowni, ale generator nie włączył się po 5-ciu sekundach. W kilka minut wyczerpały się baterie z UPSów i wszystkie szafy straciły dopływ prądu. Generator jest nowy i nikt się nie spodziewał, że trzeba zwrócić uwagę na wyjście z MENU. Podejrzewam, że podobny problem już się nie powtórzy.
Redneck
Do szczęśliwego grona maszynowego dołączył brzydki, czerwony i wieśniacki serwer o 16-stu głowach. Zanim maszyna zacznie pracować jako shellownia zostanie porządnie zestresowana i wygrzana.
Pomimo wagi 100kg szafa się nie urwała i szyny też mają się dobrze. Maszyna jest podłączona do nowego switcha, który jest wpięty osobnym światłowodem do infrastruktury sieciowej.
W najbliższych dwóch miesiącach będzie sporo pracy nad kontenerami. Najpierw pojawią się testowe kontenery, które tak jak w przypadku maszyny Javowej będą przystosowywane do waszych potrzeb, aby stworzyć główny kontner rodzicielski, z którego będą dziedziczyć kontenery użytkowników.
Na zakończenie
Rozmawiałem z właścicielami serwerowni i wyraziłem swoje niezadowolenie z jakości usług. Serwerownia jest bardzo świeża, ale widzę duży postęp w pracach od ostatniego czasu. Miejmy nadzieję, że awarie zasilania już nie będą miały miejsca.
Moim celem jest podnoszenie jakości usług Rootnode, aby z domorosłego nic nie gwarantujemy przekształcić się we wszystko działającą ostoję spokoju.
Za wszystkie problemy związane z przerwami w działaniu usług serdecznie przepraszam.
Aby przełamać złą passę i stagnację odpalamy Javę na Rootnode. Na razie w wersji dev dla osób, które znają się na rzeczy, a w szczególności wiedzą jak skompilować tomcata i apache2 i mają ochotę pomóc.
Zgłoszenie o nowe konto
Należy na adres marcin w domenie rootnode.net napisać e-mail podając uid i login. W wiadomości zwrotnej zostaną wysłane dane do twojego własnego kontenera. Kontener proszę traktować testowo i nie przyzwyczajać się do niego – wiele rzeczy ulegnie zmianie.
Domyślnie na publicznym adresie IP otwarty będzie dla ciebie jeden port równy twojemu numerowi UID do logowania ssh oraz 10 portów do wykorzystania. Prywatny adres IP kontenera to 10.43.xx.yy, gdzie xxyy to twój uid. Do niego powinny bindować się aplikacje uruchamiane w kontenerze. Na razie nie ma nazw domenowych w *.rootnode.net.
Katalog domowy ma pojemność ograniczoną do 5GB. Pamięć jest ograniczona do 512MB dla każdego kontenera (niezależnieod tego co pokazuje htop).
wmp, ty nie.
Pakiety
Instalacja jest bardzo podstawowa i brakuje masy pakietów. Listę pakietów do doinstalowania proszę mi wrzucać na e-mail i na bieżąco będę uzupełniać braki. Zainstalowana jest Java JRE od Suna w wersji z Debiana Squeeze.
Tomcat i Apache
Tomcata i Apache2 instalujemy ze źródeł w swoich kontenerach. W przyszłości będzie dostępna już skompilowana wersja, ale potrzebuję zebrać listę ficzerów, które są niezbędne do aplikacji. Pamiętajcie, że im więcej modułów dodanych w czasie kompilacji i później włączonych tym cięższe będą procesy od strony pamięciowej. Proponuję następującą strukturę katalogów:
katalog ~/src do wrzucenia źródeł. W środku podkatalogi: apache2 i tomcat
w katalogach apache2 i tomcat wrzucone i rozpakowane źródła. Źródła domyślnie rozpakowywują się o własnych katalogów opatrzonych numerem wersji. Tak powinno zostać.
w katalogach apache2 i tomcat tworzymy skrypt bashowy run.sh, w którym umieszczasz polecenia potrzebne do skompilowania pakietu – w szczególności powinno się tam znaleźć polecenie ./configure z parametrami odpowiedzialnymi za włączenie i wyłączenie modułów.
W ./configure konieczne jest ustawienie odpowiedniego prefiksu np. --prefix=/home/$USER/apache2. Wtedy po wykonaniu make install wszystkie pliki trafią do tego katalogu. W przyszłości w katalogu użytkownika będą tylko pliki konfiguracyjne (które znajdują się zwyczajowo w /etc). Binarki, biblioteki, manuale i inne rzeczy będą w /usr/local, aby nie zaśmiecać katalogu domowego.
Wyniki testów
Wyniki testów powinny zawierać:
nazwy potrzebnych pakietów i uwagi w sprawie brakującej konfiguracji
idealny (domyślny), użyteczne dla większości argumenty kompilacji tomcata i apache (ewentualnie nginx).
Lyon nie wytrzymał przerwy w zasilaniu. W tej chwili przywracane są dane oraz bazy danych z nocnego backupu.
Stallman2 zostanie przywrócony dopiero w poniedziałek, ponieważ nie reaguje na bootowanie po DHCP (nie widzę żadnych pakietów DHCP), a normalne bootowanie zawiesza się na GRUBie (ten problem występował już wcześniej – prawdopodobnie ze względu na wadliwy sprzęt). Ciężko ten problem zdebugować zdalnie.
Po utracie napięcia awarii uległ także powerswitch APC oraz jeden z KVMów. Serwerów torrentowych nie uda się przywrócić zdalnie. Zostaną podniesione w poniedziałek lub we wtorek.
Zmiana serwerowni jest teraz rozpatrywana bardzo poważnie.
Przepraszam za utrudnienia.
UPDATE (13.01.2012 9:26)
Ostatni backup odzyskany. Partycje na lyonie zaorane i trwa wgrywanie danych w odpowiednie miejsce oraz przywracanie baz danych z dumpów. Do dwóch godzin powinno wszystko działać.
UPDATE (13.01.2012 12:35)
Lyon w całości przywrócony z backupu. Gdyby któreś vhosty nie działały lub miały niepoprawne uprawnienia proszę o informację na ircu lub mailiście.
UPDATE: Wygląda na to, że zasilanie zostało odcięte na moment w szafie. Awarii uległ jeden powerswitch APC. Brak mi słów. Próbuję dojść co się stało.
UPDATE: Maszyny są podnoszone po kolei. Wall już działa (uwaga XFS wstał bez zająknięcia), Lyon sprawdza partycje home (Ext4 tutaj). Teraz czas na stallmana2.
W poniedziałek 16 stycznia 2012 rozpocznie się duży maintenance w serwerowni. Wstawienie nowego sprzętu (redneck), wymiana uszkodzonych dysków przywrócenie uszkodzonych maszyn. Maintenance potrwa ok 3 dni. Przerwy w działaniu maszyn będą zapowiadane w tym wątku z wyprzedzeniem.
Nowa maszyna posłuży za środowisko shellowe. Po powrocie z Amsterdamu zostaną zestawione testowe kontenery dla użytkowników aktywnych na kanale IRC oraz mailiście. Każdy użytkownik docelowo otrzyma swój własny kontener będący odpowiednikiem zaawansowanego chroota. Możliwości konfiguracyjne zostaną opisane w odpowiednim czasie na stronie www po okresie testowym.
Wymiana dysków
Wymiana dysków będzie polegała na wyłączeniu serwera i ponownym włączeniu już z wymienionymi wadliwymi dyskami – taka operacja nie powinna zająć dłużej niż 5 minut per maszyna.
Wymiana dysków nie dotyczy maszyn fastweb1, fastweb2 oraz venema, więc nie będzie przerw w działaniu stron www.
Rekonfiguracja sieci
We wtorek po południu (~14:00) nastąpi rekonfiguracja sieci. Wszystkie zasoby Rootnode mogą być niedostępne do 15 minut.
Status prac
17.01.2012 (00:25) – dotarłem do serwerowni, rzuciłem okiem na sytuację – na szybko nic się nie da zrobić. Jutrzejszy poranek rozpoczynam od przywrócenia stallmana.
17.01.2012 (12:00) – stallman2 podniesiony, ale potrzebny mi na IRCu cisco master, który wytłumaczy mi dlaczego switch Cisco przestał puszczać requesty DHCP. Druga opcja jest taka, że rozwiążemy problem zwieszania się Gruba na GRUB Loading. – partycja GPT na kontrolerze 3ware.
17.01.2012 (18:52) – dzisiaj, bliżej północy, zostaną jeszcze zrestartowane niektóre maszyny. Ze względu na awarię jednego APC, konieczne jest przepięcie zasilania. Stallman jeszcze nie jest w trybie produkcyjnym – pracuję nad problemem z DHCP i PXE – w momencie, gdy rozwiążę problem stallman zostanie zrebootowany (przy okazji wstaną maszyny torrentowe).
17.01.2012 (19:37) – jednak poszło szybciej niż przewidywałem. Za 5 minut reboot stallmana w celu sprawdzenia, czy się bootuje prawidłowo.
17.01.2012 (21:42) – za moment zostaną wyłączone maszyny venema, korn, cox, farmer i esr. Przepinam zasilanie na listwę APC. Przerwa nie powinna potrwać dłużej niż 5 minut.
17.01.2012 (23:00) – wróciliśmy do stanu sprzed awarii. Jutro zaczynam właściwy maintenance. Proszę oszczędzić stallmana, ponieważ macierz jest w trybie odbudowy. Aby dostać się na maszyny torrentowe należy z korna wykonać polecenie dowhatyouwantcauseapirateisfree
19.01.2012 (12:30) – Redneck wygrzewa się w szafie (temperatura 38 stopni). Sprawę kont torrentowych zostawiam na później. Teraz zajmuję się instalacją software’u na uruchomionych maszynach. Jutro koniec prac serwerowych.
Poszukujemy osób do pracy w Krakowie na stanowisku Młodszy Administrator Systemów przy projekcie Rootnode oraz innych projektach.
Wymagania
Poszukujemy osób potrafiących czytać dokumentację, logicznie myśleć i wyciągać zasadne wnioski. Wymagana:
bardzo dobra znajomość Debian GNU/Linux wraz z konfiguracją podstawowych usług
dobra znajomość podstawowych narzędzi do monitorowania pracy systemu (np. ps, sysstat, htop, dstat)
umiejętność czytania logów
umiejętność pisania skryptów w Bashu
znajomość Perla – w przypadku nieznajomości będzie miesiąc na ogarnięcie tematu
znajomość Apache2, Ngnix, PHP po FastCGI oraz pochodnych technologii webhostingowych
znajomość bazy MySQL od strony administracyjnej, umiejętność pisania zapytań SQL
znajomość podstawowych protokołów oraz zasad działania systemów operacyjnych
język angielski – bardzo dobry w piśmie i pozwalający na swobodną konwersację przez telefon
Mile widziana:
kultura osobista i poważne podejście do powierzonych zadań
znajomość PHP lub Pythona lub C
znajomość Postfiksa i usług pocztowych
znajomość PostgreSQL
znajomość gita
umiejętność optymalizacji systemów i usług
doświadczenie w pracy w środowiskach wieloserwerowych lub przy usługach hostingowych
Praca
Oferowana praca nie jest nudna i nie dotyczy Biura Obsługi Klientów. Pracownik w miesiącu wykonuje jedno główne zadanie/funkcjonalność, kilka mniejszych oraz zajmuje się bieżący doglądaniem systemów. Oferta nie dotyczy pracy zdalnej.
Praca zadaniowa i możliwa o dowolnych porach bez narzuconej liczby godzin pracy. Wynagrodzenie zależne od umiejętności, przepracowanych godzin oraz jakości wykonania zadań.
Rootnode oferuje usługi hostingowe w dosyć niekonwencjonalnej formie. W projekcie bardzo dużą rolę odgrywa społeczność, którą tworzą wszelkiej maści specjaliści IT. Projekt jest projektem Open Source – oznacza to, że kod źródłowy wszystkich rzeczy nad którymi pracujemy jest (lub będzie) dostępny w ramach publicznego repozytorium na githubie.
Lokalizacja
Biuro przy ulicy Karmelickiej w Krakowie – 10 minut piechotą od AGH, 10 minut piechotą od Rynku Głównego.
Niestety brak parkingu biurowego. Dostępny parking płatny w strefie B z małą ilością wolnych miejsc. Istnieje możliwość darmowego parkowania przy Alejach lub na ul. Rejmonta.
Jak aplikować?
Prosimy o wysłanie swojego CV ze zdjęciem. Prosimy nie trzymać się kanonu pisania życiorysów i ograniczać dokument do jednej lub dwóch stron. Im więcej informacji dostaniemy tym lepiej. Wskazane jest dołączyć informacje o zadaniach w poprzednich firmach, sukcesach i porażkach, stworzonych projektach/inicjatywach lub interesujące informacje o pracy przy projektach. Mile widziane adresy URL.
Jeśli jesteś studentem, proszę dołączyć plan zajęć wraz z informacją, w których godzinach możesz pojawić się w biurze w ciągu tygodnia. Nie narzucamy ograniczeń czasowych – możesz nawet przykładowo zaczynać pracę o 5:00 rano. W tej branży największa aktywność ma miejsce w okolicy godziny 20:00. Wskazana dostępność lub dyżur telefoniczny o tej porze.
Aplikację należy składać na adres praca at rootnode dot net do dnia 16.02.2012. Odpowiadamy na wybrane zgłoszenia. Rekrutacja składa się z rozmowy telefonicznej, prostego testu praktycznego oraz rozmowy w biurze. Część rekrutacji w języku angielskim.
W treści maila proszę wskazać:
Sumaryczną liczbę godzin w ciągu miesiąca.
Oczekiwania finansowe w postaci kwoty netto za godzinę.
Dołączony plik powinien być w formacie rootnode_mas_imienazwisko.pdf. Temat wiadomości MAS: Imię Nazwisko.
Serwery to w większości jednostki dwuprocesorowe quad-core, więc load na poziomie 10 nie jest niczym strasznym.
Zgłoś problem SMSem
Zgłoś problem via SMS
Poniższy formularz nie służy do zgłaszania problemów z konfiguracją, problemów lokalnych i wysyłania pytań jak skonfigurować serwer gier. Każda wiadomość oznacza wysłanie wiadomości SMS na telefon administratora, więc proszę stosować z rozwagą i nie robić sobie jaj. W przypadku problemów z serwerami www podaj adres, którego problem dotyczy.