RAID defect? Aandachtpunten bij een Raid rebuild

maandag 11 maart 2013 door Tormod Nymoen

Wat gebeurt er wanneer een RAID niet opnieuw kan worden opgebouwd en wat kunt u doen om te voorkomen dat het u overkomt? Om die vraag te beantwoorden moet u weten hoe gegevens naar een RAID-array worden geschreven en wat er gebeurt wanneer een harde schijf defect raakt en er een heropbouw (rebuild) wordt gestart. Als voorbeeld gebruik ik een systeem met een Windows NTFS-volume en een RAID 5-array met vier harde schijven.

Windows splitst het volume op in metagegevens en gebruikersgegevens. De afbeelding hieronder toont een vereenvoudigde weergave van een aaneengesloten NTFS-volume op één vaste schijf. De metagegevens zijn blauw en de gebruikersgegevens zijn groen.

Laten we aannemen dat we onze gegevens willen beschermen door een RAID 5-array te gebruiken. Om te begrijpen wat dit met de gegevens doet en hoe deze worden beschermd, moeten we de RAID 5-array even van dichterbij bekijken. Wanneer een RAID 5-array wordt gemaakt, splitst de RAID-controller de array op in brokken gegevens, de 'stripes'. Elke stripe maakt gebruik van alle schijven in de array. Voor elke stripe met gegevens wordt ook enige redundantie toegevoegd, die we 'pariteit' noemen. In de afbeelding hieronder wordt een lege RAID 5-array weergegeven. De gegevensstripe is geel en de pariteit is oranje.

Wanneer onze RAID-array is geformatteerd met NTFS, worden de gegevens voor het NTFS-volume in stripes over de harde schijven verdeeld.

"Dat is mooi", zegt u nu misschien, "maar hoe worden hiermee mijn gegevens beschermd en welke valkuilen moet ik vermijden?" In geval van een schijfstoring kan de RAID-controller de informatie die in de pariteit is opgeslagen, gebruiken om de gegevens van de ontbrekende harde schijf opnieuw op te bouwen.

In ons voorbeeld kan de RAID-controller, als harde schijf 1 uitvalt, de pariteit voor elke stripe gebruiken om de ontbrekende gegevens opnieuw op te bouwen. In stripe 1 zouden de gegevens van harde schijf 2 en harde schijf 3 en de pariteit van harde schijf 4 worden gebruikt om de ontbrekende metagegevens van harde schijf 1 opnieuw op te bouwen. En voor stripe 2 zouden de gegevens van harde schijf 2 en harde schijf 4 en de pariteit van harde schijf 3 worden gebruikt om de ontbrekende metagegevens van harde schijf 1 opnieuw op te bouwen.

Wanneer een RAID werkt zoals die is bedoeld, zorgt het systeem voor een efficiënte bescherming van uw gegevens op het moment dat er een vaste schijf uitvalt. Laten we nu eens kijken naar een paar scenario's waarbij gegevens nog steeds beschadigd kunnen raken als deze RAID-systemen niet op de juiste wijze worden gebruikt.

In het scenario hieronder is opnieuw één harde schijf uitgevallen. Normaal gesproken zou een RAID-controller deze storing op dezelfde manier afhandelen als hierboven is aangegeven. Er kunnen echter toch nog gegevens verloren gaan als de RAID op de verkeerde wijze opnieuw wordt opgebouwd, bijvoorbeeld wanneer pariteitsgegevens opnieuw worden opgebouwd in plaats van de nieuwe harde schijf.

In het voorbeeld hierboven wordt de pariteit op de harde schijven tijdens het opnieuw opbouwen van de RAID gewoon bijgewerkt met nieuwe gegevens. In dit geval wordt de pariteit in stripe 1 bijgewerkt met de gegevens van harde schijf 2 en harde schijf 3 en de met nullen gevulde gegevens van de nieuwe harde schijf 1.

Hoe kunt u dit voorkomen en wat kunt u het beste doen als het onverhoopt toch gebeurt? De beste manier om gegevensverlies te voorkomen, is om goede back-ups te maken. Test deze regelmatig om ervoor te zorgen dat u ze bij een schijfstoring kunt gebruiken om het systeem te herstellen wanneer het opnieuw opbouwen of rebuild van de RAID mislukt. Als de RAID-array in een gedegradeerde modus (degraded mode) gaat werken, stopt u alle activiteit op het volume. Maak vervolgens direct een back-up om te voorkomen dat gegevens verloren gaan in het geval dat ook een tweede harde schijf en daarmee de gehele array uitvalt. Als u geen back-up kunt maken, kunt u het beste van alle harde schijven een kloon of een schijfimage (idealiter bit-for-bit images) maken voordat u de array opnieuw opbouwt. Met deze images worden de gegevens op de schijven behouden mocht het opnieuw opbouwen mislukken, zodat u uw kritieke gegevens volledig kunt herstellen.

Als u geen back-up kunt maken (of als uw back-ups onbruikbaar zijn) en het opnieuw opbouwen mislukt, is nog niet alles verloren. Een data recovery bedrijf kan in een dergelijk geval toch nog voor redding zorgen. Een goed bedrijf zal u vragen alle in het proces gebruikte harde schijven inclusief de defecte harde schijf naar hun lab te sturen. Direct na ontvangst van de harde schijven wordt daar een image van alle schijven, inclusief de defecte schijf, gemaakt. Zorg ervoor dat het bedrijf dat u kiest voor dit soort werk beschikt over een cleanroom van klasse 100. Zodra van de schijven een image is gemaakt, zou het bedrijf de array opnieuw moeten kunnen opbouwen, de correctie van de logische volumes kunnen controleren, de schade kunnen herstellen en vervolgens de gegevens kunnen herstellen. Wees voorzichtig met bedrijven die u daarbij om de RAID-controller en andere hardware vragen. Tenzij u een uniek systeem hebt of er sprake is van een uitzonderlijke situatie, is dit vaak een teken van onervarenheid, waardoor uw gegevens alleen maar meer risico lopen.

Meer over RAID.

img_600x600_shirtontrack

Direct hulp nodig? Bel!