Oprettelse af RAID 5 (Striping med distribueret paritet) i Linux - del 4


I RAID 5 strimler datastrips på tværs af flere drev med distribueret paritet. Striping med distribueret paritet betyder, at det vil opdele paritetsoplysningerne og stripedataene over flere diske, hvilket vil have god dataredundans.

For RAID-niveau skal det have mindst tre harddiske eller mere. RAID 5 bruges i det store produktionsmiljø, hvor det er omkostningseffektivt og giver både ydelse og redundans.

Paritet er en enkleste almindelige metode til at detektere fejl i datalagring. Paritet gemmer information på hver disk. Lad os sige, at vi har 4 diske. På 4 diske opdeles en diskplads til alle diske for at gemme paritetsoplysningerne. Hvis en af diskerne stadig fejler, kan vi hente dataene ved at genopbygge fra paritetsoplysninger efter udskiftning af den mislykkede disk.

  1. Giver bedre ydeevne
  2. Understøtter redundans og fejltolerance.
  3. Support hot spare-muligheder.
  4. Mister en enkelt diskkapacitet til brug af paritetsoplysninger.
  5. Intet datatab, hvis en enkelt disk fejler. Vi kan genopbygges fra paritet efter udskiftning af den mislykkede disk.
  6. Passer til transaktionsorienteret miljø, da læsningen bliver hurtigere.
  7. På grund af paritetsomkostninger vil skrivningen være langsom.
  8. Genopbygning tager lang tid.

Der kræves mindst 3 harddiske for at oprette Raid 5, men du kan kun tilføje flere diske, hvis du har en dedikeret hardware raid-controller med multi-porte. Her bruger vi software RAID og 'mdadm' pakke til at skabe raid.

mdadm er en pakke, der giver os mulighed for at konfigurere og administrere RAID-enheder i Linux. Som standard er der ingen konfigurationsfil tilgængelig for RAID, vi skal gemme konfigurationsfilen efter oprettelse og konfiguration af RAID-opsætning i separat fil kaldet mdadm.conf.

Før jeg går videre, foreslår jeg, at du gennemgår følgende artikler for at forstå det grundlæggende i RAID i Linux.

  1. Grundlæggende koncepter for RAID i Linux - Del 1
  2. Oprettelse af RAID 0 (Stripe) i Linux - del 2
  3. Opsætning af RAID 1 (spejling) i Linux - del 3

Operating System :	CentOS 6.5 Final
IP Address	 :	192.168.0.227
Hostname	 :	rd5.tecmintlocal.com
Disk 1 [20GB]	 :	/dev/sdb
Disk 2 [20GB]	 :	/dev/sdc
Disk 3 [20GB]	 :	/dev/sdd

Denne artikel er en del 4 af en 9-tutorial RAID-serie, her skal vi opsætte en software RAID 5 med distribueret paritet i Linux-systemer eller servere ved hjælp af tre 20 GB-diske med navnet/dev/sdb,/dev/sdc og/dev/sdd.

Trin 1: Installation af mdadm og Verify Drives

1. Som vi sagde tidligere, at vi bruger CentOS 6.5 Endelig frigivelse til denne raid-opsætning, men de samme trin kan følges for RAID-opsætning i enhver Linux-baseret distribution.

# lsb_release -a
# ifconfig | grep inet

2. Hvis du følger vores raid-serie, antager vi, at du allerede har installeret 'mdadm' -pakken, hvis ikke, skal du bruge følgende kommando i henhold til din Linux-distribution for at installere pakken.

# yum install mdadm		[on RedHat systems]
# apt-get install mdadm 	[on Debain systems]

3. Efter pakkeinstallationen 'mdadm', lad os liste de tre 20 GB-diske, som vi har tilføjet i vores system ved hjælp af 'fdisk' -kommandoen.

# fdisk -l | grep sd

4. Nu er det tid til at undersøge de vedhæftede tre drev for eksisterende RAID-blokke på disse drev ved hjælp af følgende kommando.

# mdadm -E /dev/sd[b-d]
# mdadm --examine /dev/sdb /dev/sdc /dev/sdd

Bemærk: Fra ovenstående billede illustreret, at der endnu ikke er registreret nogen superblok. Så der er ingen RAID defineret i alle tre drev. Lad os begynde at oprette en nu.

Trin 2: Partitionering af diske til RAID

5. Først og fremmest skal vi partitionere diskene (/ dev/sdb,/dev/sdc og/dev/sdd), før vi føjer til en RAID, så lad os definere partitionen ved hjælp af 'fdisk' kommando, inden vi videresender til næste skridt.

# fdisk /dev/sdb
# fdisk /dev/sdc
# fdisk /dev/sdd

Følg nedenstående instruktioner for at oprette partition på/dev/sdb-drev.

  1. Tryk på 'n' for at oprette en ny partition.
  2. Vælg derefter 'P' for primær partition. Her vælger vi Primær, fordi der endnu ikke er defineret partitioner.
  3. Vælg derefter '1' for at være den første partition. Som standard er det 1.
  4. Her for cylinderstørrelse behøver vi ikke vælge den specificerede størrelse, fordi vi har brug for hele partitionen til RAID, så tryk bare på Enter to gange for at vælge standard fuld størrelse.
  5. Tryk derefter på 'p' for at udskrive den oprettede partition.
  6. Skift type, hvis vi har brug for at kende alle tilgængelige typer Tryk på 'L'.
  7. Her vælger vi 'fd', da min type er RAID.
  8. Tryk derefter på 'p' for at udskrive den definerede partition.
  9. Brug derefter igen 'p' til at udskrive de ændringer, vi har foretaget.
  10. Brug ‘w’ til at skrive ændringerne.

Bemærk: Vi er nødt til at følge ovenstående trin for at oprette partitioner til sdc & sdd-drev også.

Partitioner nu sdc- og sdd-drev ved at følge trinene i skærmbilledet, eller du kan følge ovenstående trin.

# fdisk /dev/sdc
# fdisk /dev/sdd

6. Efter oprettelse af partitioner skal du kontrollere for ændringer i alle tre drev sdb, sdc og sdd.

# mdadm --examine /dev/sdb /dev/sdc /dev/sdd

or

# mdadm -E /dev/sd[b-c]

Bemærk: I ovenstående billede. skildre typen er fd dvs. for RAID.

7. Se nu efter RAID-blokke i nyoprettede partitioner. Hvis der ikke registreres nogen superblokke, kan vi gå videre for at oprette en ny RAID 5-opsætning på disse drev.

Trin 3: Oprettelse af md-enhed md0

8. Opret nu en Raid-enhed 'md0' (dvs./dev/md0) og inkluder raid-niveau på alle nyoprettede partitioner (sdb1, sdc1 og sdd1) ved hjælp af nedenstående kommando.

# mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1

or

# mdadm -C /dev/md0 -l=5 -n=3 /dev/sd[b-d]1

9. Efter oprettelse af en raid-enhed skal du kontrollere og kontrollere RAID, enheder inkluderet og RAID-niveau fra mdstat-output.

# cat /proc/mdstat

Hvis du vil overvåge den aktuelle byggeproces, kan du bruge kommandoen 'watch', bare gå gennem 'cat/proc/mdstat' med watch-kommandoen, som opdaterer skærmen hvert 1. sekund.

# watch -n1 cat /proc/mdstat

10. Efter oprettelsen af raid skal du kontrollere raid-enhederne ved hjælp af følgende kommando.

# mdadm -E /dev/sd[b-d]1

Bemærk: Output af ovenstående kommando vil være lidt lang, da den udskriver oplysningerne om alle tre drev.

11. Kontroller derefter RAID-arrayet for at antage, at de enheder, som vi har inkluderet i RAID-niveauet kører og begyndte at synkronisere igen.

# mdadm --detail /dev/md0

Trin 4: Oprettelse af filsystem til md0

12. Opret et filsystem til 'md0' enhed ved hjælp af ext4 inden montering.

# mkfs.ext4 /dev/md0

13. Opret nu en mappe under ‘/ mnt’, monter derefter det oprettede filsystem under/mnt/raid5, og kontroller filerne under monteringspunkt, du vil se mistet + fundet mappe.

# mkdir /mnt/raid5
# mount /dev/md0 /mnt/raid5/
# ls -l /mnt/raid5/

14. Opret få filer under monteringspunkt/mnt/raid5, og tilføj noget tekst i en hvilken som helst af filen for at bekræfte indholdet.

# touch /mnt/raid5/raid5_tecmint_{1..5}
# ls -l /mnt/raid5/
# echo "tecmint raid setups" > /mnt/raid5/raid5_tecmint_1
# cat /mnt/raid5/raid5_tecmint_1
# cat /proc/mdstat

15. Vi er nødt til at tilføje post i fstab, ellers viser ikke vores monteringspunkt efter systemgenstart. For at tilføje en post skal vi redigere fstab-filen og tilføje følgende linje som vist nedenfor. Monteringspunktet vil variere alt efter dit miljø.

# vim /etc/fstab

/dev/md0                /mnt/raid5              ext4    defaults        0 0

16. Kør derefter kommandoen 'mount -av' for at kontrollere, om der er fejl i fstab-posten.

# mount -av

Trin 5: Gem Raid 5-konfiguration

17. Som nævnt tidligere i kravafsnittet har RAID som standard ikke en konfigurationsfil. Vi er nødt til at gemme det manuelt. Hvis dette trin ikke følges, vil RAID-enheden ikke være i md0, men i et andet tilfældigt tal.

Så vi skal gemme konfigurationen, før systemet genstartes. Hvis konfigurationen gemmes, indlæses den i kernen under genstart af systemet, og RAID indlæses også.

# mdadm --detail --scan --verbose >> /etc/mdadm.conf

Bemærk: Gemning af konfigurationen holder RAID-niveauet stabilt i md0-enheden.

Trin 6: Tilføjelse af ekstra drev

18. Hvad nytter det at tilføje et ekstra drev? det er meget nyttigt, hvis vi har et ekstra drev, hvis nogen af disken fejler i vores array, vil dette reservedrev blive aktiv og genopbygge processen og synkronisere dataene fra en anden disk, så vi kan se en redundans her.

For flere instruktioner om, hvordan du tilføjer reservedrev og tjekker Raid 5-fejltolerance, skal du læse #Step 6 og #Step 7 i den følgende artikel.

  1. Føj reservedrev til Raid 5-opsætning

Konklusion

Her, i denne artikel, har vi set hvordan man opsætter en RAID 5 ved hjælp af tre antal diske. Senere i mine kommende artikler vil vi se, hvordan du foretager fejlfinding, når en disk fejler i RAID 5, og hvordan den skal udskiftes til gendannelse.