RAID: Forskelle mellem versioner

Content deleted Content added
mNo edit summary
mNo edit summary
Linje 22:
 
=== Delvist skrevne data ===
RAID beskytter ikke mod data fejl pga. strømnedbrud. Hvis strømmen går, kan en RAID skrivning nå nogle men ikke alle diske, eller en diske kan nå at skrive noget af en blok men ikke hele blokken til permanent lager. Nogle RAID systemer beskytter dog mod dette ved at benytte et Battery-Backed Write Cache. Alternativt kan man selv beskytte mod dette ved at benytte redundant strømforsyning og [[UPS_(teknik)|UPS]] i systemet.
 
=== Tab af redundans ===
Linje 30:
Der findes et sæt standard "RAID levels" (på dansk: RAID-niveauer):
 
* '''RAID 0''' (''striping''): Data fordeles skiftevis fra disk til disk. Kræver minimum 2 diske.
** ''Redundans'': Når en enkelt disk fejler, fejler hele systemet. Redundansen forringes til 1 divideret med antallet af diske.
** ''Performance'': Søgetiden er den samme som de underliggende diske. Overførselshastighed øges med en faktor svarende til antallet af underliggende diske, både ved læsning og skrivning.
 
* '''RAID 1''' (''mirroring''): Data spejles på flere diske. Kræver minimum 2 diske.
** ''Redundans'': Redundansen forøges med en faktor svarende til antallet af diske. To diske betyder eksempelvis dobbelt så høj redundans.
** ''Performance'': Ved parallel tilgang øges søgetiden med en faktor svarende til antallet af brugte diske. Overførselshastigheden øges med en faktor svarende til antallet af diske, men kun for læsninger. Ved skrivninger gælder samme overførselshastighed som for de underliggende diske.
 
* '''RAID 0+1''' (''striping + mirroring''): Kombination af de to ovenstående, hvor data først bliver skrevet skiftevis ud på 2 diske og disse så spejles på 2 andre diske. Kræver som minimum 4 diske; et lige antal diske. Rekonstruktion er en markant besværligere proces end for RAID 1+0, som i øvrigt giver samme fordele, derfor anbefales det ikke at bruge RAID 0+1.
** ''Redundans og performance'' er afhængigt af konfiguration, se redundans og performance for RAID 1 og RAID 0.
 
* '''RAID 1+0''' (''mirroring + striping''): Data bliver først spejlet og derefter skiftevis fordelt ud på flere diske. Kræver minimum 4 diske; et lige antal diske. Benyttes ofte for at give alle redundans- og performancefordelene fra RAID 1, og yderligere vinde bedre hastighed ved skrivning fra RAID 0.
** ''Redundans og performance'': se ovenfor. Ved at putte flere diske i hvert mirror øges faktoren af fordelene fra RAID 1. Ved at indsætte flere mirrors i stripen øges den forbedrede skrivehastighed fra RAID level 0.
 
* '''RAID 2''' Data fordeles på bitniveau eller i meget små blokke på flere diske, og en "[[Hamming-kode]]" udregnes og gemmes på en eller flere paritetsdiske. Kræver som minimum 3 diske.
 
* '''RAID 3''' og '''RAID 4''' (''striping med dedikeret [[paritet]]''): Som RAID 0, men med en disk som er dedikeret til hhv. paritets-bit (RAID 3) eller paritets-blok (RAID 4). Pariteten anvendes ved data-genskabelse ved nedbrud i én disk. Kræver minimum 3 diske.<br />
 
* '''RAID 5''' (''striping med distribueret paritet''): Som RAID 4, men med distribueret paritetsblok. Igen kan data genskabes ved nedbrud af én disk. Kræver minimum 3 diske for at fungere og for at have nogen relevans sammenlignet med RAID level 1.
** ''Redundans'': Forbedring svarende til 1 divideret med antallet af diske.
** ''Performance'': Søgetid er den samme som den langsommeste af de underliggende diske. Overførselshastighed ved læsning er den samme som summen af de underliggende diske minus én disk, og lidt mere ved læsning, da paritetsblokken ikke skal læses. Skrivning kan være markant langsommere, fordi der ved skrivninger der er mindre end en hel RAID blok først skal læses datablokken og en paritetsblok, hvorefter der indføres nye data, paritet udregnes igen, hvorefter datablokken og paritetsblokken skrives tilbage. Specielt søgetiden ifbm. læsning af blokken kan forårsage et stort fald i performance.
 
* '''RAID 6''' (''striping med dobbelt distribueret paritet''): Som RAID 5, men med dobbelt så mange paritetsblokke. Her er det muligt at genskabe data ved nedbrud af to diske. kræver minimum 4 diske.
** ''Redundans'': Forbedring svarende til 2 divideret med antallet af diske.
** ''Performance'': Som RAID level 5 minus én disk.
 
* '''RAID 10''' kan være forskellige ting: [[Linux]]' RAID [[Hardwaredriver|driver]] har et RAID10 modul, der minder om RAID 1+0, men som kan køre med blot 2 diske, kan bruge et ulige antal diske, kan fordele data på forskellige måder og har en lidt anden ydelsesprofil, bl.a. læsehastighed som RAID0. Desuden bruges RAID 10 ofte som benævnelse af fabrikanter som en marketing-gimmick, hvor der blot er tale om et alternativt navn for RAID level 1+0. Det samme gælder i øvrigt RAID50 vs. RAID 5+0 og RAID51 vs. RAID 5+1.
 
== Mere information ==
RAID kombinerer to eller flere fysiske hardiske til en enkelt logisk enhed ved enten at bruge speciel hardware eller software. Hardware-løsninger er ofte designet til at fremstå som en enkelt enhed og [[operativsystem]]et er sjældent klar over dets tekniske opbygning. Software-løsninger er ofte inplementeretimplementeret i et operativsystem, og vil også præsentere RAID-drevene som en enkelt enhed til de forskellige applikationer.
 
Der er tre koncepter i RAID: ''Mirroring'', hvor data kopieres til mere end én disk i systemet; ''Striping'', som splitter data over mere end én harddisk; ''Paritet'', hvor redundante data bliver gemt for at tillade problemer at blive detekteret og forhåbentlig repareret (også kendt som fejltolerance). Forskellige RAID-niveauer bruger én eller flere af disse teknikker, afhængig af systemets krav. Formålet med at benytte RAID er at forbedre stabiliteten, vigtigt for at beskytte information der er kritisk for firmaer, f.eks. en database af kunders ordrer, eller hvor hastighed er vigtig, f.eks. et system der leverer ''Video On Demand'' TV-programmer til mange brugere.
 
==Referencer==