SOLVED: SMART a off-line testy disku

Jan Kasprzak kas na informatics.muni.cz
Pátek Duben 30 14:15:33 CEST 2004


	Dobry den,

vyresil jsem to na co jsem se tak pred mesicem tady ptal a nikdo mi nebyl
schopen odpovedet. Cili pokud to nekoho zajima, tady je odpoved:

Jan Kasprzak wrote:
: Tibor Pittich wrote:
: : ak tomu dobre rozumiem teda, potrebujes spustit jednorazovo self test
: : zvolenej urovne a potom si precitat vysledok. to sa robi napriklad takto:
: : 
: 	No hura. Uz se blizime. Jen vypustit to "jednorazovo". Jde mi o
: to, jak kontrolovat disky, ktere se neumi kontrolovat samy, abych to nemusel
: delat rucne. Cili neco, co pusti test, precte vysledek, a kdyztak zarve.
: Umi toto smartd? Pokud ne, nejspis bude treba na to napsat skript.
: 
: : # smartctl -t TYP_TESTU /dev/hda
: : po short napriklad je treba pockat 2 minuty zhruba, potom
: : 
: : # smartctl --log=selftest /dev/hda
: : pre zobrazenie vysledku.
: 
: 	No jo, a co je to "pockat"? Neposilat zadne SMART prikazy?
: Pak by se mi do toho bezici smartd mohl plest. Cili je treba zastavit
: smartd a pak ho znovu spustit?

	Experimentalne jsem vyzkousel, ze kdyz pomoci smartctl -t
pustite self-test, tak to neohrozi paralelne bezici smartd. Naopak smartd
je schopen si vysledek testu precist a pokud doslo k chybe, tak poslat
mail o tom, ze se zvysilo pocitadlo neuspesnych self-testu (ano, narazil
jsem zrovna na disk, kdy self-test neprosel(*)).

	V prubehu S.M.A.R.T. self-testu je mozne posilat libovolne
prikazy (krome dalsiho self-testu a krome abort self-test (smartctl -X) :-).
: 
: 	A jeste se vracim k otazce, co jsou jednotlive typy testu
: a jak casto je vhodne je spoustet.
: 
	Tohle ovsem nevim, tak jsem to vyresil tak, ze jeden den v tydnu
spoustim na vsech discich long, dalsi den offline, dalsi den conveyance
a ostatni dny short test. Pouzivam takovyto skript spousteny z /etc/cron.daily:

-----------------cut---cut---cut-----------------------------------
#!/bin/bash
#
# Skript na pousteni S.M.A.R.T. self-testu na discich
# Zbastlil Yenya <kas na fi.muni.cz> 2004-04-01
 
PATH=/sbin:/usr/sbin:$PATH
 
case `date +%w` in
6)      TEST=conveyance ;;
4)      TEST=long       ;;
2)      TEST=offline    ;;
*)      TEST=short      ;;
esac
 
for DRIVE in '-d 3ware,0 /dev/sda' \
        '-d 3ware,1 /dev/sda' \
        '-d 3ware,2 /dev/sda' \
        '-d 3ware,3 /dev/sda' \
        '-d 3ware,4 /dev/sda' \
        '-d 3ware,5 /dev/sda' \
        '-d 3ware,6 /dev/sda' \
        '-d 3ware,7 /dev/sda'
do
        smartctl -t $TEST $DRIVE >/dev/null \
                || echo "smartctl on '$DRIVE' failed"
        sleep 5
done
-----------------cut---cut---cut-----------------------------------

Rekl jsem si, ze "long" test asi odhali nejvic problemu, takze to spoustim
ve ctvrtek, abych mel pripadne jeste patek na opravu (puvodne jsem myslel
ze bude lepsi "long" pustit o vikendu, kdy je nejvetsi zatez, ale to
pak znamena ze se problem zjisti o vikendu a bude nutno ho behem vikendu
resit. YMMV).

	Hope this helps,

-Yenya

(*) Ten "vadny" disk byl zrejme vadny z vyroby v tom, ze nejaky sektor
nebyl korektne zapsany a az "long" S.M.A.R.T. self-test na nem nasel chybu
pri cteni (pricemz OS sam do toho mista zrejme nikdy nezapsal).
Nicmene disk samotny byl v poradku, takze stacilo do tech sektoru neco
zapsat, a vse bylo OK (a skutecne ani nedoslo k relokaci sektoru).

-- 
| Jan "Yenya" Kasprzak  <kas at {fi.muni.cz - work | yenya.net - private}> |
| GPG: ID 1024/D3498839      Fingerprint 0D99A7FB206605D7 8B35FCDE05B18A5E |
| http://www.fi.muni.cz/~kas/   Czech Linux Homepage: http://www.linux.cz/ |
 Any compiler or language that likes to hide things like memory allocations
 behind your back just isn't a good choice for a kernel.   --Linus Torvalds


Další informace o konferenci Linux