Dingen die je moet weten over raid.
Raid staat voor Redundant Array of Independant/Inexpensive Disks. Het is een systeem om meerdere schijven als 1 logische schijf te laten lijken, al dan niet met redundantie.
Wat is belangrijk:
Raid is GEEN alternatief voor backups
Raid verhoogt enkel je availability en/of throughput.
Wat als je corrupte data hebt? Wat als je per ongeluk bestanden wist? Wat als meerdere schijven gelijktijdig de geest geven?
Juist, je data is dan weg.
Als je raid gebruikt moet je nog steeds backups maken.
Raid == blocklevel, niet FS level
Raid is een oplossing op block niveau, niet op filesystem niveau.
Dit heeft voordelen, en nadelen.
Zfs, gfs of Codafs zijn een voorbeelden van filesystem redundancy.
De meeste mensen hebben filesystem redundancy nodig en geen block level redundancy, helaas is raid erg ingeburgerd en kennen de meeste administrators het verschil niet.
Als je vandaag vanaf nul begint met een nieuw systeem, denk dan in de eerste plaats of FS redundancy niet hetgeen is dat je wil.
Gebruik schijven uit verschillende batches
Verspreid de aankoop van je schijven over verschillende batches. Je wil niet dat alle, of meerdere schijven, hetzelfde defect vertonen of even oud zijn.
De kans dat meer dan 1 schijf faalt is te groot.
Be S.M.A.R.T or dead
Gebruik S.M.A.R.T.
Op die manier wordt een schijf die defecten vertoont, gedeactiveerd voordat het een probleem wordt.
Vooral met software RAID, maar ook met goedkope hardware RAID, kan een defecte schijf zorgen voor:
Een controller die crashed, met datacorruptie tot gevolg (Ook op andere schijven.)
Je PC die crashed, met datacorruptie tot gevolg (Ook op andere schijven.)
enz...
Allemaal dingen die je net probeerde te vermijden door RAID te gebruiken.
Gebruik S.M.A.R.T. op een actieve manier
Doe regelmatig een surfacescan van al je schijven, ook van een eventuele hot-spare.
Het schijf oppervlak kan overal fouten gaan vertonen. Bij normaal gebruik zul je altijd maar een klein gedeelte van het schijfoppervlak nodig hebben, dus een fout op een plaats die je niet nodig hebt, zal je nooit merken.
Totdat je een schijfcrash hebt en je je RAID array wil gaan rebuilden, want dan moet je het volledige schijfoppervlak kunnen lezen. (Ook de nog ongebruikte plaats.)
Je zal niet de enige persoon zijn die zijn volledige RAID array ziet falen bij een rebuild...
Door geregeld actief te scannen, kun je deze problemen vermijden.
Cron entry voor zelftest:
# Short selftest for disks (Daily) 0 4 * * * /usr/sbin/smartctl -d ata -t short /dev/sdX > /dev/null # Long selftest for disks (Weekly) 10 4 * * 0 /usr/sbin/smartctl -d ata -t long /dev/sdX > /dev/null
Scrub or die
Als je een RAID systeem opzet, zorg er dan voor dat de soft- of harware datascrubbing ondersteund.
Dit is het actief opsporen en herstellen van inconsistenties.
Filesystem inconsistenties zullen er steeds zijn (Omdat RAID block level is en niet FS level).
De truuk is om ervoor te zorgen dat er geen inconsistenties zijn als een schijf faalt.
Als je je raid wil rebuilden terwijl de schijven inconsistenties vertonen, dan gaat dat waarschijnlijk niet lukken.
Scrubbing:
echo check >> /sys/block/mdX/md/sync_action
cat /proc/mdstat
mdX : active raid1 sdf4[1] sde4[0]
76035520 blocks [2/2] [UU]
[===>.................] check = 16.3% (12444544/76035520) finish=20.9min speed=50618K/sec
En zoals altijd: RTFM.
Wijzigingen doorvoeren op een RAID array is een potentieel risico.
