Dit artikel bevat stappen voor probleemoplossing voor (puncturing) slechte blokken op HDD's in PowerEdge servers met PERC-controllers. Vooral wanneer er geen back-up mogelijk is, kan de volgende informatie helpen een aangetaste virtuele schijf terug te brengen naar een optimale status.
De OpenManage Server Administrator (OMSA) toont een rood kruisje voor een virtuele schijf (afbeelding 1).
Afbeelding 1: Virtuele schijf met rood kruis in status (voorbeeld H800)
In het Windows-systeemlogboek worden beschadigde blok-fouten weergegeven (afbeelding 2).
Afbeelding 2: Fout met slechte blokkering in Windows-systeemlogboek weergegeven
Het RAID-controllerlogboek (TTYLOG) toont fouten zoals:
02/26/15 13:43:39: EVT#131878-02/26/15 13:43:39: 97=Puncturing bad block on PD XX(e0x20/s2) at 180ca4a1f
Meer informatie over het ontvangen van deze specifieke logbestanden vindt u in ons artikel over het verzamelen van logbestanden.
RAID-arrays zijn niet immuun voor datafouten. Firmware voor RAID-controllers en harde schijven bevatten functionaliteit waarmee verschillende soorten datafouten kunnen worden gedetecteerd en gecorrigeerd voordat ze naar een array/schijf worden geschreven. Het gebruik van verouderde firmware kan ertoe leiden dat onjuiste data naar een array/schijf worden geschreven omdat de functies voor foutafhandeling/foutcorrectie die beschikbaar zijn in de nieuwste firmwareversies ontbreken.
Datafouten kunnen ook worden veroorzaakt door fysieke slechte blokken. Dit kan bijvoorbeeld gebeuren wanneer de lees-/schrijfkop het draaiplateau raakt (ook wel 'head crash' genoemd). Blokken kunnen na een tijdje verslechteren doordat het plateau op een specifieke locatie minder goed bits magnetisch kan opslaan. Slechte blokken als gevolg van een minder goed functionerend plateau kunnen vaak wel gelezen worden. Zo'n slecht blok kan alleen af en toe of via een uitgebreide diagnose op de schijven worden gedetecteerd.
Een slecht blok, ook wel een slecht logisch blokadres (LBA) genoemd, kan ook door logische datafouten worden veroorzaakt. Dit gebeurt wanneer data verkeerd naar een schijf worden geschreven terwijl dit wel als juist wordt gerapporteerd. Daarnaast kunnen goede data op een schijf per ongeluk worden gewijzigd. Een voorbeeld hiervan is 'bitmanipulatie' die kan optreden wanneer de lees-/schrijfkop overgaat of schrijft naar een nabijgelegen locatie waardoor data, bestaande uit nullen en enen, een andere waarde krijgen. Hierdoor wordt de 'consistentie' van de data beschadigd. De waarde van de data op een specifiek blok wijkt af van de oorspronkelijke data en komt niet meer overeen met de checksum van de data. De fysieke LBA is goed en kan met succes worden geschreven, maar bevat momenteel onjuiste data en kan worden geïnterpreteerd als een slecht blok.
Lees ons artikel over dubbele storingen en punctures in RAID-arraysvoor meer informatie.
Een gevalideerde databack-up maken op bestandsniveau
Ervoor zorgen dat alle defecte schijven met voorspellende fouten worden vervangen
De virtuele schijf verwijderen en opnieuw maken
Voer een volledige initialisatie van de virtuele schijf uit
Controleer de consistentie op de nieuwe gemaakte virtuele schijf
Data kan nu naar de gezonde virtuele schijf hersteld worden
Aanbeveling: Upgrade alle firmware van de harde schijf naar de nieuwste versie
OMSA biedt de mogelijkheid om de waarschuwingen voor slechte blokken te wissen. Als u slechte blokken wilt wissen, wordt de volgende procedure aanbevolen:
Wanneer een back-up van de virtuele schijf wordt uitgevoerd terwijl de optie verifiëren is geselecteerd, kunnen er twee scenario's optreden:
Voer Patrol Read uit (onder Virtual Disk Tasks in OMSA) en controleer het systeemlogboek om er zeker van te zijn dat er geen nieuwe beschadigde blokken worden gevonden. Als er nog steeds slechte blokken zijn, gaat u verder naar de volgende stap. Als dit niet het geval is, wordt de voorwaarde gewist.
Om deze slechte blokken te wissen, voert u de taak Clear Virtual Disk Bad Blocks uit. Dit kan worden gedaan in de OMSA GUI of gebruik de CLI-opdracht:
omconfig storage vdisk action=clearvdbadblocks controller=id vdisk=id
omreport storage controller
om de controller-ID's weer te geven en typt u vervolgens omreport storage vdisk controller=ID
om de ID's voor de virtuele schijven weer te geven