(Nie)zwyczajny dzień admina

Jako admin ostatnio raczej się obijałem. Zajmowałem się jedynie programowaniem
Jabbera i ostatnio zacząłem się zastanawiać nad tym, że wszystko działa, nic
nie pada i właściwie to nic lepszego do roboty nie mam (poza odebraniem paru
telefonów od klientów i wysłaniem do nich serwisu). Dzisiaj miał być kolejny
taki dzień – spędzony nad pracami CJC, ale…

Jak tylko przyszedłem do pracy szef mnie poinformował, że jakiś klient dzwoni,
że mu poczta nie działa. Szybko okazało się, że mnie też nie działa – jak ma
działać, jak nasz główny serwer pocztowy padł. O drugiej w nocy postanowił sobie
zrobić przerwę. Akurat temu serwerowi taki niewyjaśniony pad zdarzył się chyba
pierwszy raz od jakiś dwóch lat. Nie odpowiadał nawet na Magic-SysRq przez
konsolę szeregową (później się okazało że to nie serwer, ale nowy minicom,
w którym znowu zmieniły się skróty klawiszowe), więc poszedłem do serwerowni (na
centralę TPSA), gdzie jeszcze na konsoli widniał piękny Ooops z kernel panikiem.
Po restarcie wszystko ruszyło bez problemu, więc mogłem wrócić do pisania CJC…

Okazało się że dzisiaj wreszcie było wszystko gotowe do podłączenia kolejnej
sieci (a właściwie podzielenia istniejącej). Kumpel zrobił nowego VLANa
i system zawisł (tym razem w innej maszynie). To akurat się zdarzało czasem. Po
reboocie VLAN działał już poprawnie, ale dhcpd przywitał nas komunikatem
„eth2.60: not found”. Wszystko inne widziało ten interfejs. Po chwilach zabawy
z ifup/ifdown itp. dhcpd przestał też widzieć „eth2.59”, „eth2.58” i „eth2.21”,
a w końcu zawisła częściowo obsługa sieci. Pomyślałem, że to dobra okazja, żeby
wreszcie zrobić upgrade kernela, bo miałem jeszcze jakieś stare 2.4.19. Po
restarcie (twardym bo przy tym zwisie nie dało się czysto położyć systemu)
musiałem poczekać aż fsck poprawi root filesystem. Na / miałem wciąż ext2 więc
uznałem że to też można od razu zmienić na ext3. Poprawiłem fstab,
przegenerowałem initrd, ale chyba nie zrobiłem „tune2fs” jak należy i po
restarcie system nie umiał zamontować /. Po starcie z zapasowego wpisu w lilo
niby system wstał, ale VLANy nie wstawały – pomyślałem, że do nowego kernela
potrzeba nowego pakietu vlan. Więc odpalam poldka, a ten mi „poldek.conf:
input/output error”. Plik niby był w /etc, ale nie można było go nawet skasować,
a co dopiero przeczytać. fsck niby coś poprawiał, ale nic nie poprawił. Po
którejś próbie straciło się jeszcze /etc/inittab, /etc/rc.d i parę innych,
bez śladu nawet w /lost+found. Robiło się wesoło. Jednak się nie poddałem (w
końcu gdzieś jeszcze mam backupy) i zrobiłem ten ext3. System nawet z tego
wystartował, a kolejny fsck (teraz pracujący na ext3) wywalił błędny
poldek.conf, a zgubione pliki wkleił do /lost+found. Wszystko wróciło do normy,
upgrade kernela się udał. Nawet VLANy działały jak trzeba (wcześniej nie działały
prawdopodobnie do tego, że zmieniła mi się nazwa modułu do sieciówki). Nadszedł
czas spróbowania dhcpd…

Jak odpaliłem wcześniej w single, to ruszył. Później w działającym systemie już
nie: „eth2.60: not found”. Pozostało zajrzeć do źródeł. Szybko znalazłem
odpowiednią funkcję w common/discover.c. Okazało się, że dhcpd na listę
interfejsów przeznacza bufor o wielkości 2048 bajtów, a przy ponad 50
interfejsach to nie wystarczało. Zmieniłem na 65536, przekompilowałem…
i działa 🙂 Od razu zmianę wrzuciłem do CVS PLD, może jeszcze komuś się przyda.

Ostatecznie byłem z siebie zadowolony, a nawet stwierdziłem że tego mi było
trzeba. Czasem lubię sobie poadminować, byle nie za często 🙂

Advertisements

8 uwag do wpisu “(Nie)zwyczajny dzień admina

  1. Mi niedawno po awarii zasilania system powiedział jeszcze coś ciekawszego – mtab i fstab miały Input/Output error %-)

    Po chwilowej konsternacji z powodu zamontowania tylko / wymusiłem jeszcze raz fsck. Jakieś resztki z fstaba poleciały do lost+found, odtworzyłem go wspomagając się cfdiskiem i po kolejnym reboocie wszystko wstało 🙂

    Lubię to

Co o tym sądzisz?

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Log Out / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Log Out / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Log Out / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Log Out / Zmień )

Connecting to %s