
Diskhygiene
IDA-IT's medlemmer fik lejlighed til at beundre hvor langt vi er kommet, da vi forleden aften startede en 54MB disk til ære for dem ude i datamuseum.dk.
De fleste af jer har opvaskemaskiner der er mindre, bruger mindre strøm og som larmer mindre end diskdrevet på vores RC4000.
Men den grundlæggende teknologi er den præcist samme: skiver med magnetiserbar belægning kører rundt, en arm med et læse/skrivehoved per overflade bevæger sig frem og tilbage.
Dengang fulgte der en manual med diskdrevet, der omhyggeligt opremsede de sliddele der skulle skiftes, filtre, pakninger og børster, eventuelt kullene i motoren, hvad der skulle renses og smøres, lejer, hængsler på låget osv. osv. osv.
Idag køber man et diskdrev og kyler det i en maskine og glemmer alt om det.
Med mindre man er en kynisk gammel type som mig: Hver måned checker jeg at alle lagermedier i alle maskiner jeg har ansvaret for, kan læse alle sektorer.
Det er så simpelt som:
dd if=/dev/ad0 of=/dev/null bs=64k
Men hvis jeg kan, bruger jeg
smartctl -t long /dev/ad0
Fordi det giver meget bedre diagnostik hvis det går galt.
Nu er der efterhånden SSD diske i et antal af mine maskiner, men jeg fortsætter ufortrødent min månedlige rutine, blot nu meget hurtigere, fordi jeg har allerede afsløret en type SSD disk i at fumle med deres metadata.
Hvornår har du sidst checket at du kan læse alle dine data ?
phk
Kommentarer (13)
Det er dog kun på servere jeg tjekker filsystemet, og der er det så simpelt som 'zpool scrub rpool' (ZFS filsystem, for dem der ikke lige kender kommandoen). Det tjek vil jeg dog mene er bedre end hvad dd og smart kan komme op med, da alle data på diskene bliver læst, og verificeret op imod den checksum der blev skrevet da data'en blev lagt på disken. Så den finder ikke kun defekte sektorer på disken, men også bit rot.
<FLAMEBAIT>
Microsoft Windows XP [version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\>dd if=/dev/ad0 of=/dev/null bs=64k
'dd' blev ikke genkendt som en intern eller ekstern kommando,
et program eller en batchfil.
C:\>
hmmm ?? :-)
</FLAMEBAIT>
Du kan gøre nogenlunde det samme med git repositories fordi de har en tree-hash knyttet til sig selv. Det gør jeg jævnligt fordi det også fanger silent disk errors hvor der er introduceret fejl.
Endnu en rar ting ved ZFS... det checker på blokniveau :)
[code=ksh]
#aktuelle logget disk fejl, x:30 ?
30 * * * * /bin/grep -E 'dma_intr|I/O error' /var/log/messages >/tmp/tmp.$PPID && mail -s "/bin/hostname: diskfejl" bba@example.net </tmp/tmp.$PPID ; /bin/rm /tmp/tmp.$PPID
#gennemsøg system disk for fejl kl 1:00
0 1 * * * disk=sda ; /bin/grep hda /proc/partitions >/dev/null && disk=hda ; /sbin/badblocks /dev/$disk >/tmp/tmp.$PPID ; if [ -s /tmp/tmp.$PPID ]; then mail -s "/bin/hostname: badblocks /dev/$disk" bba@example.net </tmp/tmp.$PPID ; /bin/rm /tmp/tmp.$PPID; fi
[/code]
Dvs. hele disken blev checket for 14 timer siden, og evt. udløste fejl blev checket for senest 1 time siden.
Nu er der efterhånden SSD diske i et antal af mine maskiner, men jeg fortsætter ufortrødent min månedlige rutine, blot nu meget hurtigere, fordi jeg har allerede afsløret en type SSD disk i at fumle med deres metadata.
Kan man også bruge SMART på SSD? En del SMART-attributter giver jo mindre mening på en SSD, hvorimod andre parametre måske er vigtige på SSD, men ikke relevante på roterende diske(?)
De fleste af jer har opvaskemaskiner der er mindre, bruger mindre strøm og som larmer mindre end diskdrevet på vores RC4000. Men den grundlæggende teknologi er den præcist samme: skiver med magnetiserbar belægning kører rundt, en arm med et læse/skrivehoved per overflade bevæger sig frem og tilbage.
Jeg må have misforstået opvaskemaskinekonceptet ret grelt.
Vaskemaskinen er vel det ypperste inden for diskhygiene - bare husk at køre den på skåneprogrammet :-D
Hvorfor smartctl -t long /dev/ad0 fremfor smartctl -t long /dev/ad
Fordi jeg er en gammel fanatiker der ikke kører smart-test på begge sidder af it mirror samtidig ?
Poul-Henning
