Dette indlæg er alene udtryk for skribentens egen holdning.

Diskhygiene

12 kommentarer.  Hop til debatten
Blogindlæg7. december 2009 kl. 13:43
errorÆldre end 30 dage

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.

Artiklen fortsætter efter annoncen

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:

<pre>dd if=/dev/ad0 of=/dev/null bs=64k</pre>

Men hvis jeg kan, bruger jeg

<pre>smartctl -t long /dev/ad0</pre>

Fordi det giver meget bedre diagnostik hvis det går galt.

Artiklen fortsætter efter annoncen

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

12 kommentarer.  Hop til debatten
Debatten
Log ind for at deltage i debatten.
settingsDebatindstillinger
1
7. december 2009 kl. 14:15

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.

2
7. december 2009 kl. 14:25
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 ?? :-)

4
7. december 2009 kl. 14:37

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 :)

7
7. december 2009 kl. 15:04

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(?)

6
7. december 2009 kl. 15:03

[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.