vypadek napajeni a fsck

Miroslav Lachman 000.fbsd at quip.cz
Thu Jul 6 16:50:27 CEST 2006


Mam v provozu nekolik serveru (ve smes FreeBSD 6.x a jen par FreeBSD 
5.x) v ruznych serverovnach, ale krome jednoho (ten ma uptime asi 350 
dnu) uz mel kazdy minimalne jeden vypadek napajeni (ackoliv se 
serverovny chlubi UPSkama a dieselagregatama). Zatim to vzdy proslo bez 
vetsi ujmy, ale v noci z utery na stredu jsem musel k jednomu serveru 
jet, protoze po rebootu najel do signle user rezimu a vyzadoval zadani 
cesty k shellu, nebo enter. (vim, ze se to tu resilo nedavno a nekdo 
psal, ze resenim jsou SCSI disky - ale tohle je prave na SCSI disku)
Da se tomuhle predejit napriklad tim, ze bych korenovy oddil (/) 
mountoval ReadOnly? Pokud ano, tak jak nejlepe zjistit, jestli nektery 
proces na / nezapisuje?
Zkusil jsem `fstat | grep " / "` a to vypada, ze tam nic nezapisuje, ale 
na druhou stranu mi to rekne jen to, ze v ten okamzik tam neni zadny 
soubor otevreny k zapisu. Ovsem o sekundu pozdeji tam zrovna neco muze 
chtit zapsat.
Je nejaky lepsi zpusob, nez pokus a omyl?
Pripadne pomohou problemum s FS pri vypadku napajeni i nejake dalsi 
volby mount, ktere se daji aplikovat pripadne i na /var /var/log 
/tmp...? Zase tedy s ohledem na to, aby nebyl prilis degradovan vykon.

A druhy problem je ten, ze k serveru je pripojeno externi diskove pole o 
velikosti 1.2TB, pokud dojde k vypadku napajeni, system se zacne 
spoustet a ve vychozim nastaveni primountuje vsechny oddily a nasledne 
spusti background fsck. Problem je v tom, ze background fsck na tom 
1.2TB oddilu po par minutach behu zacne vyvolavat chyby az dojde na 
kernel panic. (chyby rychle probihaji obrazovkou a je toho vazne plno, 
takze to ani nejde prepsat, ale kdyby se v tom nekdo chtel rejpat, muzu 
poslat fotky monitoru v ten okamzik)
Matne si vzpominam, ze jsem v mailinglistu zachytil informaci o tom, ze 
pro takhle velke oddily (respektive pro oddily s velkym poctem inode) je 
potreba velke mnozstvi RAM (server ma 2GB RAM), ale uz nevim presne, 
jaky je v tom vztah a jestli to plati jen pro background fsck. Vite 
nekdo tuhle informaci z hlavy? Tim by se mozna vysvetlilo to, proc 
system pri background fsck 1.2TB oddilu spadne.
Pokud v rc.conf nastavim background_fsck="NO", tak se zacne pri 
bootovani spoustet fsck a kontrola 1.2TB oddilu probehne v poradku 
(najde a opravi par chyb a system pak normalne nabootuje)

Predem diky za jakekoliv rady a tipy, jestli je potreba poskytnout vice 
informaci, staci napsat jake a ja je poslu :)

Miroslav Lachman



More information about the Users-l mailing list