Oprava disku za běhu serveru

Martin

Oprava disku za běhu serveru
« kdy: 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.
« Poslední změna: 02. 09. 2010, 18:30:15 od Petr Krčmář »


Martin

Re: Oprava disku za behu serveru
« Odpověď #1 kdy: 02. 09. 2010, 18:16:49 »
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 :)

Martin

Re: Oprava disku za běhu serveru
« Odpověď #2 kdy: 07. 09. 2010, 18:31:28 »
opravdu nikdo?

Jenda

Re: Oprava disku za běhu serveru
« Odpověď #3 kdy: 07. 09. 2010, 19:41:43 »
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ý :-).

ET

Re: Oprava disku za běhu serveru
« Odpověď #4 kdy: 08. 09. 2010, 12:18:36 »
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"


trubicoid2

Re: Oprava disku za běhu serveru
« Odpověď #5 kdy: 08. 09. 2010, 13:25:27 »
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

Martin

Re: Oprava disku za běhu serveru
« Odpověď #6 kdy: 08. 09. 2010, 16:11:37 »
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 ?

trubicoid2

Re: Oprava disku za běhu serveru
« Odpověď #7 kdy: 09. 09. 2010, 09:47:19 »
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

Tomas M

Re: Oprava disku za běhu serveru
« Odpověď #8 kdy: 09. 09. 2010, 10:56:16 »
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.

Martin

Re: Oprava disku za běhu serveru
« Odpověď #9 kdy: 13. 09. 2010, 15:08:28 »
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).

trubicoid2

Re: Oprava disku za běhu serveru
« Odpověď #10 kdy: 13. 09. 2010, 15:33:28 »
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