Zoeken op website

RAID 5 (Striping met gedistribueerde pariteit) creëren in Linux - Deel 4


In RAID 5 worden gegevens over meerdere schijven verdeeld met gedistribueerde pariteit. De striping met gedistribueerde pariteit betekent dat de pariteitsinformatie wordt gesplitst en gegevens worden gestript over meerdere schijven, wat een goede gegevensredundantie zal hebben.

Voor RAID-niveau moet het minimaal drie harde schijven of meer hebben. RAID 5 wordt gebruikt in de grootschalige productieomgeving, waar het kosteneffectief is en zowel prestaties als redundantie biedt.

Wat is pariteit?

Pariteit is de eenvoudigste methode om fouten in de gegevensopslag te detecteren. Pariteit slaat informatie op elke schijf op. Laten we zeggen dat we 4 schijven hebben, op 4 schijven wordt één schijfruimte opgesplitst in alle schijven om de pariteitsinformatie op te slaan. Als een van de schijven nog steeds faalt, kunnen we de gegevens verkrijgen door deze opnieuw op te bouwen op basis van pariteitsinformatie nadat de defecte schijf is vervangen.

Voor- en nadelen van RAID 5

  1. Geeft betere prestaties
  2. Ondersteuning van redundantie en fouttolerantie.
  3. Ondersteuning van hot spare-opties.
  4. Er gaat één schijfcapaciteit verloren voor het gebruik van pariteitsinformatie.
  5. Geen gegevensverlies als een enkele schijf uitvalt. We kunnen opnieuw opbouwen vanaf pariteit na het vervangen van de defecte schijf.
  6. Geschikt voor een transactiegerichte omgeving, omdat het lezen sneller zal gaan.
  7. Vanwege pariteitsoverhead zal het schrijven langzaam verlopen.
  8. Het opnieuw opbouwen duurt lang.

Vereisten

Er zijn minimaal 3 harde schijven vereist om Raid 5 te maken, maar u kunt alleen meer schijven toevoegen als u over een speciale hardware-raid-controller met meerdere poorten beschikt. Hier gebruiken we software-RAID en het ‘mdadm’-pakket om een raid te maken.

mdadm is een pakket waarmee we RAID-apparaten in Linux kunnen configureren en beheren. Standaard is er geen configuratiebestand beschikbaar voor RAID, we moeten het configuratiebestand na het maken en configureren van de RAID-installatie opslaan in een apart bestand met de naam mdadm.conf.

Voordat u verder gaat, raad ik u aan de volgende artikelen door te nemen om de basisprincipes van RAID in Linux te begrijpen.

  1. Basisconcepten van RAID in Linux – Deel 1
  2. RAID 0 (Stripe) maken in Linux – Deel 2
  3. RAID 1 (mirroring) instellen in Linux – Deel 3
Mijn serverconfiguratie
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

Dit artikel is Deel 4 van een RAID-serie met 9 tutorials. Hier gaan we een software RAID 5 opzetten met gedistribueerde pariteit in Linux-systemen of -servers met behulp van drie schijven van 20 GB genaamd /dev/sdb, /dev/sdc en /dev/sdd.

Stap 1: MDADM installeren en schijven verifiëren

1. Zoals we eerder zeiden, gebruiken we CentOS 6.5 Final release voor deze raid-configuratie, maar dezelfde stappen kunnen worden gevolgd voor RAID-configuratie in elke Linux-gebaseerde distributie.

lsb_release -a
ifconfig | grep inet

2. Als je onze raid-serie volgt, gaan we ervan uit dat je het 'mdadm'-pakket al hebt geïnstalleerd. Als dat niet het geval is, gebruik dan de volgende opdracht, afhankelijk van je Linux distributie om het pakket te installeren.

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

3. Laten we na de installatie van het ‘mdadm’ pakket de drie schijven van 20 GB vermelden die we aan ons systeem hebben toegevoegd met de opdracht ‘fdisk’.

fdisk -l | grep sd

4. Nu is het tijd om de aangesloten drie schijven te onderzoeken op eventuele bestaande RAID-blokken op deze schijven met behulp van de volgende opdracht.

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

Opmerking: Uit de bovenstaande afbeelding blijkt dat er nog geen superblok is gedetecteerd. Er is dus geen RAID gedefinieerd op alle drie de schijven. Laten we er nu mee beginnen.

Stap 2: De schijven partitioneren voor RAID

5. Eerst en vooral moeten we de schijven partitioneren (/dev/sdb, /dev/sdc en / dev/sdd) voordat we deze toevoegen aan een RAID. Laten we dus de partitie definiëren met behulp van het 'fdisk'-commando, voordat we deze doorsturen naar de volgende stappen.

fdisk /dev/sdb
fdisk /dev/sdc
fdisk /dev/sdd
Maak een /dev/sdb-partitie

Volg de onderstaande instructies om een partitie op de /dev/sdb schijf te maken.

  1. Druk op ‘n‘ om een nieuwe partitie aan te maken.
  2. Kies vervolgens ‘P‘ voor de primaire partitie. Hier kiezen we voor Primair omdat er nog geen partities zijn gedefinieerd.
  3. Kies vervolgens ‘1‘ als de eerste partitie. Standaard is dit 1.
  4. Hier hoeven we voor de cilindergrootte niet de opgegeven grootte te kiezen, omdat we de hele partitie nodig hebben voor RAID, dus druk gewoon twee keer op Enter om de standaard volledige grootte te kiezen.
  5. Druk vervolgens op ‘p‘ om de gemaakte partitie af te drukken.
  6. Verander het type. Als we alle beschikbare typen willen weten, druk dan op ‘L’.
  7. Hier selecteren we ‘fd‘ omdat mijn type RAID is.
  8. Druk vervolgens op ‘p‘ om de gedefinieerde partitie af te drukken.
  9. Gebruik vervolgens opnieuw ‘p‘ om de wijzigingen af te drukken die we hebben aangebracht.
  10. Gebruik ‘w‘ om de wijzigingen te schrijven.

Opmerking: We moeten de bovenstaande stappen volgen om ook partities te maken voor sdc & sdd schijven.

Maak een /dev/sdc-partitie

Partitioneer nu de sdc en sdd schijven door de stappen in de schermafbeelding te volgen of u kunt de bovenstaande stappen volgen.

fdisk /dev/sdc

Maak een /dev/sdd-partitie
fdisk /dev/sdd

6. Controleer na het maken van partities op wijzigingen in alle drie de schijven sdb, sdc en sdd.

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

or

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

Opmerking: op de bovenstaande foto. laat zien dat het type fd is, dat wil zeggen voor RAID.

7. Controleer nu op RAID-blokken in nieuw gemaakte partities. Als er geen superblokken worden gedetecteerd, kunnen we verder gaan met het maken van een nieuwe RAID 5-opstelling op deze schijven.

Stap 3: MD-apparaat md0 maken

8. Maak nu een Raid-apparaat 'md0' (d.w.z. /dev/md0) en voeg het raid-niveau toe aan alle nieuw gemaakte partities (sdb1, sdc1 en sdd1) met behulp van de onderstaande opdracht.

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. Nadat u een raid-apparaat hebt gemaakt, controleert en verifieert u de RAID, de inbegrepen apparaten en het RAID-niveau uit de mdstat uitvoer.

cat /proc/mdstat

Als u het huidige bouwproces wilt volgen, kunt u het commando 'watch' gebruiken. U hoeft alleen maar 'cat /proc/mdstat' door te geven met het commando watch. ververs het scherm elke 1 seconde.

watch -n1 cat /proc/mdstat

10. Nadat de raid is gemaakt, verifieert u de raid-apparaten met behulp van de volgende opdracht.

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

Opmerking: de uitvoer van het bovenstaande commando zal een beetje lang zijn, omdat het de informatie van alle drie de schijven afdrukt.

11. Controleer vervolgens de RAID-array om aan te nemen dat de apparaten die we in het RAID-niveau hebben opgenomen, actief zijn en opnieuw beginnen te synchroniseren.

mdadm --detail /dev/md0

Stap 4: Bestandssysteem maken voor md0

12. Maak een bestandssysteem voor het ‘md0‘ apparaat met behulp van ext4 voordat u het aankoppelt.

mkfs.ext4 /dev/md0

13. Maak nu een map aan onder '/mnt' en koppel vervolgens het gemaakte bestandssysteem onder /mnt/raid5 en controleer de bestanden onder het koppelpunt, je ziet de map verloren+gevonden.

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

14. Maak een paar bestanden onder het koppelpunt /mnt/raid5 en voeg wat tekst toe aan een van de bestanden om de inhoud te verifiëren.

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. We moeten een item toevoegen aan fstab, anders wordt ons koppelpunt niet weergegeven nadat het systeem opnieuw is opgestart. Om een item toe te voegen, moeten we het fstab-bestand bewerken en de volgende regel toevoegen, zoals hieronder weergegeven. Het koppelpunt zal verschillen afhankelijk van uw omgeving.

vim /etc/fstab

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

16. Voer vervolgens de opdracht ‘mount -av‘ uit om te controleren of er fouten in de fstab-invoer voorkomen.

mount -av

Stap 5: Sla Raid 5-configuratie op

17. Zoals eerder vermeld in het gedeelte over vereisten, heeft RAID standaard geen configuratiebestand. We moeten het handmatig opslaan. Als deze stap niet wordt gevolgd, bevindt het RAID-apparaat zich niet in md0, maar in een ander willekeurig getal.

We moeten dus de configuratie opslaan voordat het systeem opnieuw opstart. Als de configuratie wordt opgeslagen, wordt deze tijdens het opnieuw opstarten van het systeem in de kernel geladen en wordt ook RAID geladen.

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

Opmerking: als u de configuratie opslaat, blijft het RAID-niveau op het md0-apparaat stabiel.

Stap 6: Reserveschijven toevoegen

18. Wat is het nut van het toevoegen van een reserveschijf? het is erg handig als we een reserveschijf hebben. Als een van de schijven in onze array defect raakt, wordt deze reserveschijf actief en wordt het proces opnieuw opgebouwd en worden de gegevens van andere schijven gesynchroniseerd, zodat we hier een redundantie kunnen zien.

Voor meer instructies over het toevoegen van een reserveschijf en het controleren van de Raid 5-fouttolerantie leest u #Step 6 en #Step 7 in het volgende artikel.

  1. Voeg een reserveschijf toe aan Raid 5 Setup

Conclusie

Hier, in dit artikel, hebben we gezien hoe je een RAID 5 instelt met behulp van drie schijven. Later in mijn komende artikelen zullen we zien hoe u problemen kunt oplossen wanneer een schijf defect raakt in RAID 5 en hoe u deze kunt vervangen voor herstel.