informace ze zákulisí vývoje

Proč signály.cz nejely

10. 9. 2013 23:33
Rubrika: Pod pokličkou | Štítky: vypadek

aneb jak to celé bylo...


Celé jsem to měl na starosti já hrach a Obi, kterému tímto moc moc moc děkuji, že si vyhradil ve své dovolené místo pro tuto bohulibou činnost. :)

Server signály.cz je náš vlastní a je umístěn v Praze v serverovně, většinou se za toto umístění platí, ale my to máme zadarmo - prostě jako dar. Správa takového serveru probíhá přes konzoli - to je taková ta černá obrazovka, jak do ní programátoři píšou příkazy. Ano, v podstatě žádná myš, jenom píšeme a vidíme jenom text. Přidávám screenshot takovéto práce v konzoli z Windows 8:

Na serveru nám běží linuxová distribuce Debian, ta je velmi oblíbená pro servery, vyznačuje se velmi odpovědným vydáváním nových verzích, do kterých se dostává opravdu otestovaný software, takže celý server je velmi stabilní.

Před půl rokem vyšla nová verze Debianu označená Wheezy. Po pár měsích jsme se rozhodli updatovat na tuto novou verzi. Nicméně, server jsme po updatu nerestartovali. Aby jste rozuměli, on se webový server moc často nerestartuje, to není jak normální počítač, že se vám tam něco sekne - to se nesmí stát. Navíc, Linux je v tomto o dost lepší než Windows. Restart serveru byl sice vhodný, aby se načetly některé nové knihovny, nicméně pro tu chvíli nebyl nutný.

Restart jsme mj. také neprovedli proto, že není vždy úplně bezpečné ho dělat vzdálěně. Když se vám nepodaří server znovu nastartovat, tak jste trochu v háji, protože když neběží server, težko se k němu připojit přes výše zmíněnou konzoli. Řešením je pak přijít k serveru fyzicky a napíchnout se na něj klávesnicí a monitorem.

Do včerejšího dne server běžel bez restartu více jak 400 dní. To už něco znamená :)


 

Verze balíků

Náš server je 64 bitový, systém je 64 bitový, nicméně, když se před třemi lety server instaloval, z nějakého důvodu někdo nainstaloval na tento systém 32 bitové balíky. V poslední době jsme narazili na problém, a proto jsem tlačil na vyřešení tohoto problému, tedy na převod balíků na 64bit verzi. (Nějakou záhadou byli některé balíky 64bit - naštěstí se to týkalo například PHP.) Samotný převod probíhal podle návodu.

Termín pro převod jsme zvolili toto pondělí v 5 hodin ráno. Pondělí proto, že jsou pak v serverovně v práci a mají možnost se tomu věnovat, 5 hodin proto, že je nejmenší provoz. Bohužel jsem tradičně zaspal do 6 hodin, naštěstí to ale moc nevadilo, protože bychom stejně museli čekat, než se dokončí zálohy.

V 6 hodin jsme už vypnuli signály.cz a začali migrovat. Návod byl starý, a některé problémy bylo pořád nutné řešit ručně. Nakonec jsme se dostali do situace, kdy bylo třeba všechny balíky systému a jejich závislosti instalovat ručně přes dpkg aplikaci, protože apt-get i aptitude s tím nebyli schopni nic udělat. Takto jsem musel ručně na internetu procházet balíky, stahovat je a instalovat po jednom. Často instalace neprošla, protože chyběl jiný balík, na kterém byl původní balík zavislý. Takto jsem se třeba zanořil až 4×. Celkově jsem takto asi dvě hodiny musel instalovat ručně 100 balíků. (Aktuálně je již skoro 11 hodin dopoledne a stále to nevypadá hotově.)

Nedojel jsem ani půlku seznamu, když už najednou se zprovoznil apt-get. Ten vyřešil zbývající instalace za mě. Pokračovali jsme v návodu. Doinstalovat další věci, a spustili finální pročištění balíků. To přeinstalovávalo 400 balíků a trvalo dvě hodiny.

Aktuálně jsou už 2 hodiny v pondělí odpoledne a všichni by už rádi signály onliny - my taky. Kontrolujeme poslední věci, máme strach z restartu, aby všechno znovu naběhlo. Přeci jenom jsme i přeinstalovi jádro Linuxu (protože jsme ho omylem odstranili, teda, odstranil jsem ho omylem já). Mj. se nám taky povedlo odstranit pár zásadních příkazů pro procházení adresářů, atp. - hodně složité (to se zase povedlo Obimu). Připomínám, že se celou dobu pohybujeme v té konzoli, co je na obrázku nahoře.

Ok. Všechno zkontrolováno, zkusíme reboot. Reboot (tedy restart systému) může trvat až hodiny, protože kontroluje integritu souborového systému. A vzhledem k tomu, že jsme 400 dnů online, bude to asi dost pravděpodobně i tak trvat. Během rebootu systém odpojí naše konzole, takže nebudeme vědět, jestli systém nabíhá a kontroluje souborový systém, nebo právě nenabíhá vůbec.

Po hodině, kdy se stále nemůžeme přes konzoli na server přihlásit, začínáme být lehce nervozní a informujeme našeho správce v Praze, že bychom rádi, kdyby se na to podíval a my věděli, co se děje. Bohužel, správce má taky svou práci a my mu nic neplatíme, nemůžeme ho tedy moc honit, že...

Po třech hodinách bez informace a možnosti přihlášení nám je jasno, že systém nenaběhl. Prosíme správce, aby teda to zkusil rychle zjistit - prý v 9 hodin se k tomu dostane. Je 9 hodin večer a všichni potřebují signály k životu. My trneme, co se tam vůbec stalo.

KVM

Ono se dost často může stát, že server nenaběhne. K tomu existuje tzv. KVM (keyboard, video and mouse). Zjednodušeně se jedná o zařízení, které se připojí k serveru, my se připojíme na to zařízení vzdáleně a můžeme server opravit, i když neběží a my jsme daleko. V 11 hodin večer v pondělí dostáváme přístup ke KVM k našemu serveru a zjištujeme příčinu. Ani nezačal nabíhat operační systém, protože zavaděč operačního systému je poškozen.

Dle googlení zjišťujeme, že je to způsobeno zřejmě upgradem na novou verzi Debianu, tedy upgradem, který jsme dělali před měsícem. A řešní - použít Live distribuci, opravit z ní a nabootovat znovu.

Live distribuce

Live distribuce znamená, že vám operační systém se načte z CD aniž byste ho museli instalovat. To se právě hodí, že pomocí toho můžete opravit nainstalovaný systém.

Akortá je problém, že nám někdo těžko dá do toho serveru CD, když je půlnoc. Jdeme spát, den byl dlouhý, plný práce, a teď to rozhodně nevyřešíme.

Dopoledne zadáváme požadavek na konkrétní distribuci, je třeba ji vypálit a dovézt do serverovny, to chvíli trvá. Je 11 hodin a ještě se snaží v serverovně to opravit bez live distribuce, též neúspěšně. Po té kolem 12 vkládají CD do mechaniky našeho serveru - a ...

Když už má něco pokazit, tak pořádně. Máme v našem serveru asi pokaženou mechaniku, takže náš server nebyl schopen nabootovat žadný live operační systém. V serverovně ještě zkouší další CD, bezúspěšně. Začne se shánět externí mechanika, který se připojí přes USB. Jedna se našla a Obi z Brna konečně bootuje do live operačního systému, aby opravil ten náš server. Oprava se podařila a konečně bootuje náš server.

Teď už jen zkontrolovat všechny věci a pustit vás na signály.cz. K nasazení chatu zatím nedošlo - na to jdu teď. No, co mám dělat, nezbývá než trávit celé dny se signály :)

PS: když už nic, tak jsem se aspoň naučil plno nových věcí :)

Zobrazeno 3120×

Komentáře

Thompson

hmm, a nebyla by prosím nějaká možnost to relativně velké a zavázející okénko schovat? Já jaksi chat nemám potřebu využívat...

Michal Martinka (Sokolík)

stálo to za to šecko je také pjeknější :))

Zobrazit 28 komentářů »

Pro přidání komentáře se musíš přihlásit nebo registrovat na signály.cz.

Autor blogu Grafická šablona Ondřej Válka