Fórum Root.cz
Hlavní témata => Server => Téma založeno: Martin 02. 09. 2010, 17:59:11
-
Existuje nejaky zpusob jak za behu OS na discich s raid zrcadlenim opravit chyby? EXT3/debian
Jde mi o to ze jsem nedavno po roce restartoval server, ten samozrejme nenabehl, po pripojeni KVM se zjistilo ze jsou chyby na systemovem disku, ktere se musely rucne opravit.
Nerad bych aby se to stalo znovu.
-
jeste dodam system souboru ma stale par desitek chyb typu:
Počet volných inode špatný ve skupině #2061 (6258, spočteno=6256).
a
Rozdíly v bitmapě inode: ...
Je nejaka moznost jak to opravit vzdalene bez KVM ? Riskuji ted ztratu dat? A kde se ty chyby vubec vzali, server nedostal zadny vypadek/restart.
Mel jsem vetsi duveru v EXT3 :)
-
opravdu nikdo?
-
Filesystém připojený pro zápis opravit, pokud vím, nejde. A vznik chyb - chybná paměť nebo sektory? Hledal bych v HW, ext je léty prověřený :-).
-
problem bude asi v disku - bud se koukni na SMART hodnoty na HDD, nebo to projed nejakym SW - osvedcil se mi HDDregenerator
IMHO: bud je disku moc vedro nebo proste odchazi starim - pravdepodobne ti asi rika "bye bye"
-
ad vzdalena oprava: nejlepsi by bylo, kdyz bys tam nekoho mel, kdo ti nastartuje treba z SystemRescue CD, zmeni heslo na ssh a to ti zavola; pak si to opravis pres ssh, prestartujes a je to (pokud nezapomene zapnuty bootovani z CD)
pak navrhuju tento postup:
1. kontrola vsech disku na necitelny sektory: smartctl -t long
jestli pak smartctl -a ukaze necitelny sektory, tak asi vymenit disk odpojit nebo ho projet mhdd, jak pisi dale
2. kontrola RAID: echo "check" >> /sys/block/md1/md/sync_action
jestli cat /sys/block/md?/md/mismatch_cnt bude ukazovat neco vic nez nulu, pak udelat "repair"; dulezity je, jestli jeden z disku byl vadnej v bode jedna, tak repair nedelej, muzou se ze zpatnyho disku na dobrej okopirovat data; pak radeji pokracovat v degradovanym rezimu
3. opravit fs: e2fsck -f -y -D /dev/md1
ad vadny sektory: existuje i soft zadarmo: mhdd, byval na SystemRescueCD, ted uz tam myslim neni; ale to nepujde lehce vzdalene obsluhovat
taky obcas staci disk prepsat pomoci dd, nebo badblocks; trik je v tom, ze ten necitelnej sektor se premapuje do nahradnich sektoru a dokud ty nedojdou, tak se disk tvari zdrave;
(vyhoda mhdd je, ze cte postupne sektory a prepise jen ty necitelny, takze data tam z velke casti zustanou)
premapovani probehne jen pri zapisu, ne pri cteni; pri cteni to hodi chybu a ve smartctl -a je to pod polozkou 197 Current_Pending_Sector
-
Diky za rady, vse prostuduju....
me ted napadlo neslo by odpojit jeden z disku raidu, ten pak pres fsck opravit a znovu ho synchronizovat? Ted presne netusim jak ten raid funguje jestli je to na urovni filesystemu nebo je to hard copy? (neco jako dd?)
Kazdopadne prinejhorsim muzu nechat pripojit KVM, nastartovat do single rezimu, pak spustit FSCK + vase doporucene nastroje (smart,atd...) bude to stacit?
Kdysi tam pry 2x odesel jeden z disku .... takze mozna to souvisi s tim.
Ty chybne sektory muzu zkontrolovat i za behu systemu ze? A ten check sycnhronizace raidu ?
-
neslo by odpojit jeden z disku raidu, ten pak pres fsck opravit a znovu ho synchronizovat? Ted presne netusim jak ten raid funguje jestli je to na urovni filesystemu nebo je to hard copy? (neco jako dd?)
no ale proc to delat? to ma vyznam pouze kdyz bude ten disk vadnej a ja nebudu chtit, aby se my ty chyby dostali na zdravej disk
jinak raid nevi nic o filesystemu, je pod nim na urovni bloku, v RAID1 jsou na obou diskach stejny bloky (pokud je vse v poradku)
Kazdopadne prinejhorsim muzu nechat pripojit KVM, nastartovat do single rezimu, pak spustit FSCK + vase doporucene nastroje (smart,atd...) bude to stacit?
melo by
Ty chybne sektory muzu zkontrolovat i za behu systemu ze? A ten check sycnhronizace raidu ?
smartctl -t long /dev/sda jde pustit i za behu systemu, trosku spomali operace s diskem, po dobe, kterou rekne na obrazovce se podivas do logu pomoci smartctl -a /dev/sda a bude tem neco jako:
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Extended offline Completed without error ....
kontrola raidu je: echo "check" >> /sys/block/md1/md/sync_action a az to dobehne (muzes se divat na cat /proc/mdstat) tak udelas cat /sys/block/md?/md/mismatch_cnt a mela by tam byt nula
-
Pokud vidis chyby cteni filesystemu, pak jsou tyto chyby zrejme uz mirrorovane na oba disky. Mohly vzniknout nekdy davno a projevit se az ted. Kdyz jde o systemovou partisnu, asi ji za behu neopravis, nastroje obvykle odmitnou pracovat nad zivym (namountovanym) oddilem.
Chtelo by to nejdriv zjistit, jestli je vadny hardware (pomoci smartctl). Pokud ano, odpojit vadny disk z raidu a vyhodit ho z okna. Ten MIRROR RAID je stale aktivni nebo se uz rozpadl?
Protoze chces opravovat systemovy oddil, jak jiz bylo receno, bude nutne tam spustit OS z jine partisny nebo z LiveCD, aktivovat ten mirror raid a pak filesystem opravit (fsck). Pokud udelas opravu bez raidu jen na jednom disku, zupsobis ztratu konzistence dat.
-
Tak opraveno pres KVM, pripojeni k single rezimu, remountovano na RO, zadne jine chyby nenalezeny...
Ted me tak napada ze tohle by mozna slo udelat i za normalnim behu OS.... stopnuti sluzeb, remountovani na RO, oprava, remountovani na RW a zapnuti sluzeb (pripadne restart).
-
jo, asi by to slo, nejlepsi je prepnout do single user asi, ale tam ti zase nebezi ssh, ne?
pro jistotu jeste za behu udelej ty smartctl a kontrolu pole