poskozeni filesystemu s root

Dan Lukes dan at obluda.cz
Mon Feb 3 16:04:28 CET 2003


Zbyněk Burget wrote:
> Zdravim vespolek,
> 
> (...konference uz funguje, tak top poslu jeste jednou - mozna se to tema
> bude nekdy nekomu hodit)
> 
> nevim, cim se to mohlo stat, ale poskodil se mi filesystem s root :-(
> Chtel jsem vypnout masinu (init 0) a misto obvyklych hlasek, jako ze se
> stroj vypina - ted nevim, co presne to psava - se objevilo, ze se za 15
> sekund zrestartuje. Jestli tam bylo neco vic nevim, nestihl jsem to precist.

	No, to byl "panic" - ktery muze nastat z takrka nekonecne velkeho 
mnozstvi duvodu - obecne proto, ze se prislo na vnitrni nekonzistenci 
systemu (neco je ve stavu, do ktereho se to proste nemohlo regulerne 
dostat).

	Prave to "dalsi" popisovalo o co vlastne slo. Skoda, ze jsi nestihl 
precist alespon tu hlasku naspodu co rikala, ze stiskem jakekoliv 
klavesy muzes automatickemu restartu za 15 sekund zabranit. Ziskal bys 
tak cas nato si to precist lepe ...

	
> Po restartu mi pri bootovani v miste, kde byva hlaska o tom, ze se
> namountuje root (v mem pripade na ad0s2a) bylo oznameni o tom, ze nebyl /
> spravne odmountovany a ze se bude za 15 sekund restarotvat. A tak porad
> dokola. Nastesti jsem mel po ruce jeste jeden HDD s nejakymi pokusy s
> FreeBSD a tak nebyl problem nahodit masinu z toho druheho disku a spustit na
> ten pozkozeny filesystem fsck. Ten tam opravil celkem dost chyb (netusim,
> proc se tam objevily). 

	Aniz bych si byl jisty, ze to bylo opravdu tim - tak pokud duvod panicu 
byla nekonzistence cache pro zapisy na disk, neda se zcela vyloucit, ze 
nez se na to prislo byla na nahodna mista disku zapsana nahodna data.

	Poskozeni bylo zrejme natolik velke, ze vyloucilo i "read-only" 
namountovani disku - a protoze system bez "rootu" nemuze fungovat, 
vyhodnotil to jako duvod k restartu (pokazit uz tim nic nemohl a treba 
se to priste povede).

> Pak jsem zkousel nahodit FreeBSD z toho opraveneho
> disku, ale posledni, co se mi pri bootu vypise, je ted hlaska o tom, ze
> mountuje root na ad0s2a. Pak to zustane tuhe (pri stisku ctrl+alt+del se
> pocitac rebootuje). 
> Zkousel jsem prehrat na ten poskozeny disk (z toho
> pokusneho) /etc/rc* (mimo rc.conf) a /etc/defaults/rc.conf v domnence, ze je
> poskozeny nektery z tech skriptu nebo ten defaults/rc.conf a proto to
> nepokracuje v nahozeni systemu, ale to nebylo to prave orechove.

	S ohledem na celkovy popis situace bych tipoval, ze jsou data na disku 
kompletne nahodne poskozena - fsck dokaze opravit metadata, ale to, ze 
jsou poskozeny primo obsahy souboru nedokaze ani detekovat ani opravit. 
System se tedy muze "zadrit" pri spusteni nejakeho poskozeneho programu 
- poskozeno ale mohlo byt i samotne jadro systemu ...

	Protoze tvrdis, ze pri bootovani z "jineho" disku ale pouziti tohoto 
jako rootu to funguje, je poskozeny soubor s jadrem favorizovanou moznosti.

> Vidim nekolik cest, jak to opravit, ale nevim, jak na to.
...
> zustala mi viset hlaska, ze mountuje root na ad0s2a. Takze bych asi hledal
> problem nekde v nejakem scriptu, ktery se dostava na radu po loaderu, po
> namountovani root...
> Jak byste to opravovali vy? Nechtel bych preinstalovavat vsechno :-(

	Ja bych provedl "klasicky" upgrade na stejnou verzi jaka je tam ted. 
Pri tom se prepisou vsechny binary, knihovny, moduly a podobne veci, ale 
zustanou zachovany konfiguracni soubory.

	To bych udelal v kazdem pripade, protoze i kdyby samotna vymena jadra 
pripaden INITu pomohla, nelze vyloucit, ze v systemu je poskozenych 
souboru daleko vic, jen se to neprojevilo pro bootu - a hrozilo by tedy 
stale riziko "podivneho" chovani ...

	Po takovem zasahu by melo ji nabootovat prinejmensim do singlu. Pak uz 
mohou byt poskozene jen startup scripty - a to bych resil az podle toho, 
co bude system delat.

					Dan


-- 
Dan Lukes      tel: +420 2 21914205, fax: +420 2 21914206
root  of FIONet,  KolejNET,  webmaster  of www.freebsd.cz
AKA: dan at obluda.cz, dan at freebsd.cz, dan at kolej.mff.cuni.cz




More information about the Users-l mailing list