Awaria…

Przed chwilą dzwoni serwisant, że nie działa system zarządzania siecią.
Główny serwer nie odpowiada na pingi. Loguję się na inną maszynę w serwerowni
i rzeczywiście, master nie odpowiada. Proszę serwisanta, żeby zajrzał
do serwerowni i przyjrzał się serwerowi z prawej strony pod monitorem…
… i dowiaduję się, że żadnego monitora tam teraz nie ma. Ale serwer jest
gdzie był, tyle że ciemny, wentylatory też nie chodzą. Przycisk power
nie działa… przepięcie kabla do drugiego zasilacza też nie pomaga. Zbadanie
drugiego końca kabla wyjaśniło sprawę: wtyczka była wyciągnięta z gniazdka.

Oczywiście to wyjaśnienie tylko częściowe. To kto, kiedy i dlaczego to
rozłączył i gdzie podział się monitor, pozostaje na razie tajemnicą…

Backup głupku!

Już jakiś czas stwierdziłem, że dysk w moim drewnianym
serwerku Tropku
jest stanowczo za wolny i trzebaby coś z tym zrobić.
Jednocześnie przyszedł czas, żeby wymienić 18GB dysk SCSI (Ultra160, 10000RPM)
w desktopie na coś większego. Na urodziny zebrało mi się trochę gotówki, to
zacząłem zakupy. Kupiłem nowy dysk do desktopu (praktycznie taki sam jak
stary, IBM z tej samej serii, ale 36GB i ze złączem SCA), ustrojstwo do
podłączenia tego dysku, kontroler SCSI do Tropka i pamięć do Tropka (wymiana
dysku, gdy pamięci było tylko 256MB, mogłaby być nie w pełni uzasadniona).
Pamięć kupiłem niewłaściwą, więc wstrzymałem się z dalszymi zakupami do czasu
rozwiązania tego problemu.

Mając dysk (wyciągnięty z desktopa po zamianie na 36GB) i kontroler nie
mogłem tego od razu zamontować w Tropku, bo Tropek ma tylko jedno złącze PCI,
w którym siedzi sieciówka, przez którą nam do domku spływa ten cały Internet…
Mój szatański plan był taki: sieciówkę wymienić na taką na USB, dodatkowo
zaopatrzyć się w adapter USB<->IDE i podłączyć ten powolny dysk IDE na zewnątrz
serwerka. Co się ma te 40GB marnować…

W zeszłym tygodniu udało mi się wreszcie dostać właściwą pamięć do tropka.
Zamontowałem, działa, więc postanowiłem powrócić do wymiany dysku. Zamówiłem na
Allegro kartę sieciową USB i ten adapter USB<->IDE. Przyszły w poniedziałek.
Kartę sieciową podłączyłem od razu — to nie wymagało specjalnych przygotowań.
Zadziałała całkiem ładnie. Zachęcony tym, postanowiłem jak najszybciej
zamontować i dysk. We wtorek przymocowałem do szafki eleganckie
mocowanie do dysku, a wczoraj miałem dokończyć robotę.

Nie była to banalna operacja. Pierwsza sprawa – trzeba było do
stanowiska pracy Tropka doprowadzić zasilanie dla zewnętrznego dysku. Do
tego musiałem korki wyłączyć (to trzebabyło zrobić w czasie, gdy żonka nie chce
nic w TV oglądać, ani na komputerze robić) i trochę przy kabelku podłubać (nie
chciałem tam pakować normalnej listwy zasilającej, to miałem za swoje). Potem
pozostało tylko zamontowac nowy dysk i przegrać istotne rzeczy ze
starego.

Do kopiowania dysku postanowiłem użyć PLD Rescue CD. Wciąż miałem jedno
przygotowane do bootowania przez sieć. Niestety z zabootowaniem tego miałem
sporo problemów. Winnym okazało się zmienione MTU na maszynie serwującej obraz
po TFTP. Po zabootowaniu załadowałem sterowniki kontrolera i dysków SCSI
i usb-storage i zacząłem kopiować partycje: cat /dev/sdb3
> /dev/sda2
. Marnie szło, to zamieniłem to na bardziej przyjazne:
pipemeter < /dev/sdb3 > /dev/sda2.

Okazało się, że w tym RescueCD chyba coś skopane były sterowniki
usb-storage i po przekopiowaniu kilkudziesięciu MB dysk znikał
z systemu. Podłączyłem więc dysk do desktopa i tam skopiowałem zawartość tej
jedynej „normalnej” partycji, czyli /boot. Potem przez SSH poszło
na Tropka. Bez problemu i się nawet zamontowało. Ale samo /boot
systemu nie czyni… Pozostałe systemy plików były w LVM, na partycji
/dev/sdb3. No więc robię lvscan i nie ma.
vgscan… nie ma. file -s /dev/sdb3
data. Zamiast phisical volume LVM są jakieś śmieci. Super…

W tym momencie przypomniałem sobie o backupie. Przecież do backupów sobie
kupiłem nagrywarkę DVD i skonfigurowałem Baculę. I nawet jakiś backup Tropka
miałem… ostatni z początku lutego. Zawsze lepiej niż nic. Ale czemu nie
wpadłem na to, żeby zrobić świeży backup przed eksperymentowaniem
z dyskami???

Z backupu najpierw odzyskałem metadane LVM. Przy pomocy
pvcreate i vgcfgrestore udało mi się je
odtworzyć. Znowu zobaczyłem wszystkie wolumeny, większość z nich dała się też
bez problemu zamontować. Poza jednym… root. No to e2fsck
kupa. e2fsck -B 8193… kupa… przypomniałem sobie, że tam miałem
akurat XFS, a nie EXT3… No to xfs_repair… przeszło. Montuję… i mam
jeden katalog lost+found z masą niezidentyfikowanych katalogów i plików.
Jeden z katalogów udało się zidentyfikować jako /etc, inny jako nasze obrazki
do Joggerów. No to najważniejsze są, reszta w miarę aktualna w backupie.

Skopiowałem to /lost+found gdzie indziej, założyłem filesystem od nowa (tym
razem EXT3), odzyskałem zawartość z tego lutowego backupu, pojedyncze pliki
uaktualniłem ręcznie, lub przekopiowałem z lost+found i właściwie serwerek
można było uruchomić. Było jeszcze parę drobnych komplikacji ale w końcu Tropek
ruszył na swoim miejscu. Mogliśmy iść spać…

…ale nie mogliśmy zasnąć. Nowy dysk okazał się stanowczo za
głośny. Żonka zdecydowała, że trzeba go na noc wyłączyć i rano nie włączać,
żeby nie stresować teściowej. Byłem więc dzisiaj do wieczora bez poczty. Może
i dobrze, bo w pracy też się nieźle pokaszaniło (tym razem nie moja sprawka),
więc mi roboty nie brakowało.

Po pracy ruszyłem do Praktikera poszukać jakiś materiałów do wyciszenia
maszyny. Kupiłem jakieś samoprzylepne filcowe ślizgi do mebli, jakieś
gumowe (tak myślałem, okazało się, że z twardego plastiku) nóżki, trochę
śrubek i podkładek. W domu zacząłem kombinować. Rozwierciłem dziury, sanki
przykręciłem do obudowy poprzez filc. Podobnie dysk do sanek. Do tego zrobiłem
dziurę w klapie, żeby się domykała, mimo odstającego złącza SCSI. Dziurę od
zewnątrz też obudowałem filcem. Chyba jest trochę lepiej. Przekonamy się jak
wyłączymy desktopa i pójdziemy spać…

Po postawieniu tropka na miejsce zabrałem się za naprawianie tego, co
jeszcze było zepsute. Okazało się, że praktycznie wszystkie nasze ostatnie
obrazki z Joggerów zostały zniszczone. To co znalazłem w lost+found to
śmiecie. Poza tym wielkich strat nie widzę… Dobrze że żona ostatnio w dobrym
humorze…

Update: Nie sugerujcie się zbytnio tym desktop… to tylko zastosowana tutaj nazwa kodowa dla naszej maszynki, która do postawienia na biurko się średnio nadaje ;-). Komputer ten znany jest także jako duży, albo nic.

Próba zasilania…

Część naszego sprzętu, a przede wszystkim zakończenia naszych głównych
łączy mamy w zapchanej szafie w budynku pewnej dużej firmy telekomunikacyjnej.
I w tym budynku w każdy trzeci wtorek miesiąca przeprowadzane są próby
zasilania awaryjnego. Podobno od zawsze. Myśmy się o tym dowiedzieli
w zeszłym miesiącu, gdy ni z tego, ni z owego, nasz UPS stwierdził, że jest
on battery. Potem, że on line, on battery… aż straciłem
z nim kontakt. Na miejscu okazało się, że wszystkie UPSy (nie tylko ten
w naszej szafie) migają diodkami, popiskują, a przede wszystkim robią:
pstryk… pstryk… pstryk… pstryk. Nasze serwery właśnie się
wyłączały. Sytuacja wróciła do normy dopiero o 11-tej w momencie zakończenia
próby. Oczywiście jeszcze trochę potrwało, zanim doprowadziłem swoje serwery do
porządku…

Gdy dzisiaj rano zauważyłem drobne przerwy w połączeniu z tamtą
serwerownią, od razu sprawdziłem stan UPSa. Potem spojrzałem na zegarek:
wtorek, godzina 10:00. Wszystko jasne. Od razu pobiegłem do tamtego budynku,
licząc na to, że uda mi się przestawić czułość UPSa i w ten sposób może
opanować sytuację. Nic z tego, nie dam rady się dostać do tylnej ścianki
urządzenia, a o ile pamiętam tam był odpowiedni przełącznik. Bateria już się
kończyła, serwery częściowo powyłączały, a ja po prostu ręcznie całkowicie
wyłączyłem tego UPSa. Nie wiadomo ile tego pstryk… pstryk… by
jeszcze wytrzymał. Przypomniałem sobie, że przecież w firmie mamy przenośny
agregat, więc zadzwoniłem, żeby ktoś mi go przyniósł.

Trochę trwało zanim udało nam się ten agregat uruchomić. Potem trzeba było
doprowadzić systemy do porządku. W między czasie raz nam agregat zgasł…
W końcu udało nam się wszystko uruchomić o godzinie 11:00, gdy już wróciło
główne zasilanie. Ale mimo to byliśmy trochę do przodu. Poczekaliśmy aż sie
bateria naładuje i wpięliśmy szafę do właściwego gniazdka. Dwie godziny
stracone, klienci wściekli…

A w tym wszystkim najbardziej podoba mi się ta cała idea tych prób.
Przychodzą goście o 10:00, wyłączają główne zasilanie, włączają agregat i sobie
tam siedzą i plotkują. Zupełnie nic ich nie obchodzi, że komuś coś nie działa
(a nie tylko my się skarżymy). Oni mają zlecenie zrobić taką próbę to robią.
U nich działa.

Pytałem się administratora budynku (właściwie zastępce), gdzie i w jakiej
formie mam skargę wysłać. Dowiedziałem się, że nie skargę, tylko
zawiadomienie o problemie, ale namiary dostałem. Pisemko poszło.
Zobaczymy co będzie za miesiąc…

Kupuję nową nagrywarkę

Podobno pieniążki z zachodu już do mnie idą, więc postanowiłem wreszcie
sobie kupić nagrywarkę DVD. Wypatrzyłem sobie NEC ND-4550A. Jeśli ktoś zna
powód dlaczego to jest zły wybór, niech powie teraz lub zamilknie na wieki.
Samsunga i LG już miałem, Sony odpada z powodów ideologicznych
(;-)).

Napsułem? Czy coś innego się spieprzyło?

Przenoszę pewne pliki z jednego serwera zleceniodawcy zza granicy, na drugi…

Na drugim:

root@server2:~# cd /katalog_docelowy/
root@server2:/katalog_docelowy# ls
jakies katalogi tu są

Czyli nic specjalnego. Pozostaję tam zalogowany. Tym czasem na pierwszym
zaczynam transfer:

server1 ~ # rsync -e 'ssh' -avr /katalog_zrodlowy/katalog_do_przeniesienia ip_drugiego:/katalog_docelowy/
katalog_do_przeniesienia/plik1
katalog_do_przeniesienia/podkatalog/plik2
....

Czyli rutynowa operacja. Lecą sobie tak te pliki, w pewnym momencie się
zatrzymują, raczej na czymś większym, więc wygląda na to, że wszystko ok.
Zaglądam więc na drugi serwer, jak to tam wygląda:

root@server2:/opt# ls
-bash: /bin/ls: No such file or directory

Ooops… Co się dzieje???

root@server2:/opt# cd
root@server2:~# ls
-bash: /bin/ls: No such file or directory
root@server2:~# echo *
*
root@server2:~# cd /opt
root@server2:/opt# echo *
*
root@server2:/opt# cd /
root@server2:/# echo *
*
root@server2:/# logout
Connection to server2 closed.
[jacek@nic jacek]$ ssh root@server2
ssh_exchange_identification: Connection closed by remote host

Czyli serwer jakby odparował, a ja nie wiem, czy to przypadkiem nie moja sprawka… 😦 Spociłem się.

Selwelek jaki jest niech każdy widzi

O to jak wygląda mój serwerek, o którym ostatnio kilka razy wspominałem:

skrzynka.jpg

Ładny, prawda? Niestety, dla jako-takiej funkcjonalności, trzeba było
trochę dziur w obudowie zrobić, więc z drugiej strony wygląda on tak:

dziury1.jpg
dziury2.jpg

Oto co jest w środku:

  • Płyta główna Mini-ITX: VIA EPIA-M
    • Procesor: VIA EDEN 600 MHz (Samuel 2)
    • Chipset: VIA CLE266 / VT8234
    • Grafika: CastleRock z dekoderem MPEG-2 i TV-Out (raczej
      się zmarnuje)
    • Audio: VT1616
    • LAN: VIA VT6103 (Rhine-II)
    • USB 2.0, Firewire
  • Zasilacz Mini-ITX: ACHME 200W (nie wiem po co mi tak dużo)
  • Dysk twardy: Seagate Barracuda 40GB
  • Dodatkowa karta sieciowa: coś na RTL-8139

A wygląda to tak:

w_srodku.jpg

Zdjęcie jest odrobine nieaktualne — przed wstawieniem serwerka na
miejsce dolutowałem do włącznika Power kondensatorek, co by nie trzeba
było serwerka odpalać ręcznie po każdym chwilowym zaniku zasilania.

A serwerek w pracy, na swoim miejscu, wygląda tak:

na_stanowisku.jpg

Selwelek ruszył

Rano moje dziewczyny wyjechały na wakacje, więc ja zostałem słomianym wdowcem. Wdowieństwo
zacząłem od sprzątania — skoro mam robić bajzel, to muszę mieć gdzie. Gdy mniej-więcej
posprzątałem mieszkanie, to zjadłem śniadanie i poszedłem po zakupy. Jeszcze mi paru drobiazgów
brakowało do dokończenia selwelka. Gorąco było
— w mieście byłem właściwie w samo południe. Kupiłem co chciałem, a nawet coś więcej
i wróciłem do domu, robić bajzel.

Bajzel był naprawdę niezły, ale po paru godzinach udało mi się złożyć serwerek do końca.
Podłączyłem i nawet ruszył. Pojawił się problem: jak zainstalować na tym system nie mając
ani stacji dyskietek ani CDROMu. Przekładać dysku mi się nie chciało. Właściwie, to nie chciało mi
się nawet przepinać (tymczasowo) monitora i klawiatury, ale jednak ta maszynka za kilkaset złotych
to nie Sun Fire za ponad dziesięć tysięcy i nie ma ułatwiaczy typu Sevice Processor, czy BIOS na
konsoli szeregowej. Postanowiłem przez sieć zabootować system z którego zainstaluje sobie PLD. Do
setupu BIOSu musiałem więc wejść chociażby po to, aby włączyć bootowanie z sieci. Niestety, musiałem
monitor podłączać jeszcze kilka razy potem, żeby zobaczyć co się dzieje, jak nie chciało się
bootować.

Pogooglałem za PXE PLD i dowiedziałem się, że RescueCD obsługuje PXE. I nic więcej,
żadnej informacji jak to RescueCD z tego PXE wystartować. Poszukałem trochę ogólniej i znalazłem
jakieś HOWTO do instalacji Debiana przez PXE. Zaczynając od tego artykułu, używając obrazów RescueCD
i LiveCD, metodą prób i błędów i z lekką pomocą autora RescueCD, w końcu udało mi się zabootować
system i rozpocząć instalację. Dalej było z górki, więc opiszę dokładniej (w kolejnym wpisie) tylko
jak wygląda bootowanie RescueCD przez sieć.

Paczka

Przyszła dzisiaj do mnie paczka. Czekałem na dwie przesyłki, ale gdy
zobaczyłem od kogo, to wiedziałem już która. Ucieszyłem się z paczki,
a że byłem w domu z Krysią, to dziecko się zainteresowało.

— Co jest w ślodku?
— Nasz serwerek.
— Mamy selwelek i taty selwelek?
— Twój właściwie też, będą tam twoje zdjęcia.

Trochę trwało zanim dostałem się do środka tej porządnie zapakowanej paczki,
zacząłem wyciągać zawartość…

— Co to jest?
— Płyta główna.
— A co to jest?
— Zasilacz.
— A co to jest?
— Dysk.
(na tym zawartość paczki się kończyła)
— A gdzie selwelek?
— To wszystko to będzie nasz serwerek.
— A będą na nim moje zdjęcia?

Ciekawe jak sobie Krysia wyobraża te swoje zdjęcia na naszym serwerku… boję się, że
może być rozczarowana. Ale jak to działa będzie się mogła przekonać pewnie dopiero po powrocie
z wczasów, a do tego czasu może zapomni czego się spodziewała.

Teraz pozostaje czekać na przesyłkę z pamięcią, zmontować wszystko do kupy i uruchomić.

Geek kontra zderzak

Dzisiaj znowu dwa razy (raz pod przychodnią, raz pod dworcem PKP)
zahaczyłem zderzakiem o krawężnik. Ten drugi raz to był akurat o ten jeden
raz za dużo i kawał zderzaka mi się odłamał. Nie mógł tak wisieć (to już
będzie zagadka dla mechanika — czy da się to jeszcze poskładać), więc
trzeba było coś z tym zrobić. Ale co to dla mnie? ;-) Wyciągnąłem
z torby zestaw naprawczy, czyli metrowy patchcord zakończony wtykami RJ-45
(chyba nie krosowany) i przywiązałem to jakoś tak, żeby się trzymało. Jutro
tak jeszcze pojadę do pracy, a po południu do mechanika, niech mi przynajmniej
powie czy i co będzie trzeba kupić.

Nowa zabawka w pracy

Gdzieś w okolicach marca/kwietnia stwierdziliśmy, że jedna z naszych maszyn
przestaje się wyrabiać i jak najszybciej trzebaby ją wymienić na mocniejszą.
Stara maszyna ma 2 Athlony MP 1800+, więc było wiadomo, że żadna
jednoprocesorowa maszyna nie starczy. Dodatkowo potrzebne było coś, co nam się
do szafy zmieści. Czyli maksimum 4U i 68cm głębokości. Drugi warunek okazał się
praktycznie nie do spełnienia dla nowoczesnych maszyn dwuprocesorowych, więc
szafa została powiększona o dupkę, a poszukiwania były kontynuowane po
złagodzeniu wymagań. Od początku chciałem coś z procesorami AMD, ale nic
ciekawego (o odpowiedniej mocy i nie za drogiego) u typowych producentów
serwerowych PeCetów (a więc: IBM, HP (dawniej Compaq) i Dell) nie znalazłem.
W końcu mi wyszło, że chcę IBM x336.

Wybór ten został wstępnie zaakceptowany przez szefostwo, bo cena
podstawowego zestawu, mimo że duża, była jeszcze znośna. Jednak gdy tylko
szef dowiedział ile kosztować to będzie po dokupieniu kolejnego procka i RAMu,
to propozycja upadła. Już miałem się zastanawiać nad jakimś składakiem, lub
po prostu dużo słabszą maszyną, gdy na newsach przeczytałem o Sun Fire v20z
z Opteronami. Że ja wcześniej nie wpadłem na to, żeby na strony Suna zajrzeć.
Udało się nawet jakoś znaleźć dystrybutora w Polsce (strony WWW Suna nie
ułatwiają znalezienia większości potrzebnych informacji). Dystrybutor za serwer
z wszystkim co potrzebujemy (2 procki, 2GB ram, dysk SCSI) zaproponował cenę
mniejszą niż ten wyjściowy IBM z jednym prockiem i 1GB ram (i dwoma
dyskami, których nie potrzebujemy). Niestety, okazało się, że akurat pieniędzy
nie ma… przez jakiś czas słyszałem może w przyszłym tygodniu, aż
w końcu zamówienie poszło i w ostatni piątek serwer do nas dotarł.

Już po przejrzeniu instrukcji (właściwie tylko ulotki, bo instukcje były na
płytce) dowiedziałem się, że ten serwer oprócz platformy z dwoma
Opteronami itd. ma jeszcze Service Processor, czyli Embeded PowerPC
z Embeded Linuksem, który kontroluje pracę całej maszyny. Maszyna ma więc
4 porty Ethernet — dwa gigabitowe z platformy i dwa 10/100 (właściwie
jeden z dwuportowym HUBem) z SP. Gdy serwer jest wyłączony, to SP pracuje
i można się na niego przez SSH zalogować i np. właczyć serwer. Oprócz tego cały
BIOS można obsługiwać przez port szeregowy. Tu na prawdę nie było sensu
podłączać monitora i klawiatury do serwera, żeby zainstalować system. Ja
zainstalowałem PLD z płytki PLD Rescue (wersja AMD64) używając konsoli
szeregowej. Ale mógłbym to nawet zrobić przez SSH posiłkując się SP (gdy
instalowałem PLD jeszcze SP nie miałem opanowanego ani skonfigurowanego).
Wszelkie eksperymenty z serwerem są bardzo proste — będąc fizycznie
zdala od maszyny można ją sobie włączać i wyłączać do woli, a konfigurację BIOSu
i systemu operacyjnego przeprowadzać przez konsolę szeregową (w razie potrzeby
tunelowaną po SSH).

SP pozwala też przeprowadzać pełne testy diagnostyczne
maszyny. Zresztą, przy tych testach dzisiaj wyszły dwie rzeczy. Pierwsza to to,
że większość testów nie chciała działać. Wywalały się one z komunikatem Unable to load module, a w jednym przypadku Module
has disappeared
. Okazało się, że to dlatego, że SP miało firmware w wersji
2.1.0.16, a pliki pomocnicze z płytki, udostępnione mu przez NFS, były dla
wersji 2.1.0.8. Ściągnąłem z sieci firmware i pliki pomocnicze w wersji 2.2.0.18
i problem zniknął. Przy okazji zrobiłem upgrade BIOSu (wszystko zdalnie). Drugi
problem, to nie działający dysk. Dysk który przyszedł z serwerem albo nie był
wykrywany przez BIOS kontrolera, albo zaraz potem odmawiał współpracy. Nie
zauważyłem tego od razu, bo system instalowałem na starszym, mniejszym dysku, bo
73GB w tej maszynie nie są nam potrzebne. Ale skoro już dysk przyszedł, to
powinien jednak działać. No cóż… sprawdzimy jak działa serwis Suna. IBM
ostatnio nie wypadł najlepiej.