Kent u het initialisatieproces van RAID?
Mar 10, 2023RAID-systeem is een effectief middel om opgeslagen gegevens te beschermen. Tijdens het maken van een RAID duurt de systeeminitialisatie lang. Waarom bestaat een dergelijke bewerking tijdens RAID-initialisatie? Welke impact heeft dit op SSDS?
Alle schijven die aan de RAID-groep worden toegevoegd, worden op basis van hun LBA-adressen verdeeld in een reeks segmenten. Deze segmenten worden Stripe Units genoemd. Stripe-eenheden die overeenkomen met hetzelfde LBA-adres op verschillende schijven, zijn georganiseerd in een Stripe. Door alle gegevens in één strip te coderen, zoals RAID6 waarbij twee gecodeerde gegevensblokken P en Q worden geproduceerd, kunnen beide gegevensschijven tegelijkertijd worden beschadigd.
Daarom moeten in een RAID-systeem alle gegevens in een strip voldoen aan de codec-algoritmeregels. Dat wil zeggen, alle gegevens in een strip kunnen volgens bepaalde regels gecodeerde gegevens genereren en de gecodeerde gegevens zijn dezelfde als die in de strip zijn opgeslagen. Dit zou het geval zijn wanneer de gegevens in de strip consistent zijn. Wanneer een schijf defect raakt, kan het verloren datablok worden hersteld met behulp van gecodeerde gegevens die in de strip zijn opgeslagen.
Als de gegevens in een strook inconsistent zijn, dat wil zeggen dat de gecodeerde gegevens in de strook verschillen van de gecodeerde gegevens die in de strook zijn opgeslagen. Als een schijf defect raakt, kunnen de gecodeerde gegevens die op de strip zijn opgeslagen, niet worden gebruikt om de verloren gegevensblokken te herstellen. Daarom zal een streep met inconsistente gegevens problemen met de correctheid van gegevens veroorzaken wanneer er een fout optreedt.
Wanneer u een RAID-systeem maakt, kunnen de schijven in de RAID-groep nieuwe schijven of gebruikte gegevensschijven zijn. De gegevens op deze schijven kunnen niet allemaal nullen bevatten. In dit geval kunnen de gegevensstrips die door deze schijven zijn gemaakt, niet voldoen aan de vereisten van gegevensconsistentie. Dat wil zeggen, de volgens bepaalde regels berekende gecodeerde gegevens in elke strook komen niet overeen met de gecodeerde gegevens in de strook.Inconsistente gegevensstriping vormt een groot risico voor de correctheid van RAID-gegevens.
Initialiseer daarom bij het maken van een RAID-array alle strepen in het systeem om gegevensconsistentie te garanderen. Stripinitialisatie kan meestal op twee manieren worden gedaan:
1. Initialiseer alle strips in het RAID-systeem door allemaal nullen te schrijven. De pariteitsgegevens van een strip met allemaal nulgegevens zijn ook nul. Daarom kunnen alle nulgegevens de consistentie van de strip garanderen.
2. Voer een pariteitsberekening uit voor alle strepen en werk de pariteitsgegevens in de strepen bij om gegevensconsistentie te garanderen.
De initialisatie van het RAID-systeem is een zeer lang proces. De belangrijkste reden is dat alle strips in het systeem geïnitialiseerd moeten worden. U moet ook rekening houden met de prestatiebalans met front-end user IO. Daarom is initialisatie van het RAID-systeem meestal een achtergrondproces dat lang duurt en de prestaties van front-end-applicaties beïnvloedt.
Voor SSDS brengt het initialisatieproces van het RAID-systeem ook andere problemen met zich mee. Tijdens de systeeminitialisatie moeten gegevens naar SSDS worden geschreven, ongeacht of er in nul-schrijf- of pariteitsgegevens-updatemodus staat. Dit proces resulteert in onnodige uitbreiding van het schrijven van gegevens. Voordat gebruikersgegevens worden geschreven, wordt door middel van initialisatie een gegevenstoewijzingstabel in de SSD tot stand gebracht. De levensduur en prestaties van SSD's worden verminderd. Daarom moet een RAID-systeem voor SSDS worden geoptimaliseerd voor het systeeminitialisatieproces, wat een bijzonder kenmerk is waar traditionele RAID geen rekening mee houdt. Daarom kunnen traditionele RAID-arrays niet rechtstreeks op SSD's worden ingezet, wat de levensduur en prestaties van SSD's beïnvloedt.
RAID-systemen gebruiken striping om gegevens te beschermen, maar er doet zich ook een reeks problemen voor bij het proces van striping van gegevensbescherming. Systeeminitialisatie is een typisch probleem van stripconsistentie. Een goed RAID-gegevensbeschermingssysteem zal dit probleem tijdens het ontwerpproces oplossen. EMC Data Domain RAID heeft bijvoorbeeld niet het systeeminitialisatieproces, het moet natuurlijk samenwerken met het bestandssysteem en heeft veel optimalisatie gedaan in de distributie van RAID-stripgegevens.