Hvordan lage RAID -matriser ved hjelp av MDADM på Ubuntu

Hvordan lage RAID -matriser ved hjelp av MDADM på Ubuntu
RAID er en virtualiseringsplattform for datalagring som integrerer flere fysiske skivestasjoner i en eller flere logiske enheter. Basert på det nødvendige nivået av pålitelighet og effektivitet, er data spredt over stasjonene på en av mange måter, referert til som RAID -nivåer. Ulike systemer er kjent som 'Raid' etterfulgt av et heltall, for eksempel RAID 0 eller RAID 1. Hvert system, eller nivå av raid, gir en annen balanse mellom nøkkelmålene, i.e. Stabilitet, brukervennlighet, ytelse og styrke.

RAID bruker speiling eller skivestripingsmetoder, speiling på mer enn én stasjon vil kopiere lignende data. Partisjonsstriping tillater distribusjon av data over mange skivestasjoner. Lagringskapasiteten til hver stasjon er delt inn i enheter som spenner fra en sektor (512 byte) opp til flere megabyte. RAID -nivåer høyere enn RAID 0 gir beskyttelse mot uopprettelige lesefeil i feltet, så vel som mot hele fysiske drivkraftfeil.

RAID -enhetene er distribuert via applikasjonsdriveren MD. Linux -programvaren Raid Array støtter for øyeblikket RAID 0 (Strip), RAID 1 (Mirror), RAID 4, RAID 5, RAID 6 og RAID 10. MDADM er et Linux -verktøy som brukes til å kontrollere og administrere RAID -enheter for applikasjoner. Flere kjernedriftsmåter for MDADM er samlet, bygger, lager, følger, overvåker, vokser, trinnvis og auto-detekt. Navnet stammer fra nodene til flere enheter (MD) som den kontrollerer eller administrerer. La oss se på å lage forskjellige typer RAID -matriser ved hjelp av MDADM.

Opprette en raid 0 -matrise:

RAID 0 er mekanismen som data skilles i blokker, og disse blokkene er spredt gjennom forskjellige lagringsenheter som harddisker. Betyr at hver plate har en del av dataene, og mens du får tilgang til disse dataene, vil flere plater bli referert til. I raid 0, ettersom blokker er stripete, er ytelsen utmerket, men på grunn av ingen speilstrategi, vil en enkelt feil på enheten ødelegge alle dataene.

For å komme i gang, må du først identifisere komponentenhetene ved å bruke følgende kommando:

ubuntu@ubuntu: ~ $ lSblk -o Navn, størrelse, type

Vi har to plater uten filsystem, hver 50g i størrelse, som vi kan se fra skjermbildet. I dette tilfellet ble identifikatorene /dev /ch1 og /dev /ch2 gitt til disse enhetene for denne økten. Dette er rå komponenter som vi skal bruke for å lage matrisen.

For å bruke disse komponentene for å opprette en RAID 0 -matrise, spesifiser dem i -opprett kommandoen. Du må definere systemnavnet du vil bygge (i vårt tilfelle, /dev /mch0), raidnivået, i.e. 0, og antall enheter:

ubuntu@ubuntu: ~ $ sudo mdadm -create --verbose /dev /mch0 -nivå = 0
--RAID-DEVICES = 2 /DEV /CH1 /DEV /CH2

Ved å teste /proc /mdstat -loggen, kan vi garantere at raidet ble opprettet med hell:

ubuntu@ubuntu: ~ $ cat /proc /mdstat

/Dev /MCH0 -systemet er opprettet med /Dev /CH2 og /Dev /CH1 -enhetene i RAID 0 -oppsettet. Monter nå filsystemet på den matrisen ved å bruke følgende kommando:

ubuntu@ubuntu: ~ $ sudo mkfs.ext4 -f /dev /mch0

Lag nå et monteringspunkt og monter filsystemet med følgende kommandoer:

ubuntu@ubuntu: ~ $ sudo mkdir -p /mnt /mch0
ubuntu@ubuntu: ~ $ sudo mount /dev /mch0 /mnt /mch0

Sjekk om det er noe nytt rom tilgjengelig eller ikke:

ubuntu@ubuntu: ~ $ df -h -x devtmpfs -x tmpfs

Nå må vi endre/etc/mdadm/mdadm.Conf -fil for å sikre at listen automatisk blir satt sammen ved oppstart. Du vil søke på den gjeldende matrisen automatisk, koble til filen og oppdatere det første RAM -filsystemet ved følgende sekvens av kommandoer:

ubuntu@ubuntu: ~ $ sudo mdadm -detaljer -scan | sudo tee -a/etc/mdadm/mdadm.konf
ubuntu@ubuntu: ~ $ sudo update -initramfs -u

For å montere automatisk ved oppstart, kan du legge til nye alternativer for filsystemmontering i etc/fstab -fil tilgjengelig:

Hver oppstart kan nå automatisk legge til raid 0 -matrisen og montere den.

Opprette en RAID 5 -matrise:

RAID 5 -matriser opprettes ved å strippe dataene sammen med forskjellige enheter. En målt paritetsblokk er en del av hver stripe. Paritetsblokken og de gjenværende blokkene vil bli brukt til å bestemme de manglende dataene i tilfelle enheten mislykkes. Systemet som oppnår paritetsblokken roteres slik at det er en balansert sum av paritetsinformasjon for hver enhet. Mens informasjonen om paritet deles, kan lagringsverdien til en plate brukes til paritet. Når du er i en skadet tilstand, vil RAID 5 lide av svært dårlige resultater.

For å opprette RAID 5 -matrisen, må vi først identifisere komponentenhetene som vi identifiserte i RAID 0. Men i RAID 5 bør vi ha minst 3 lagringsenheter. Finn identifikatorene for disse enhetene ved å bruke følgende kommando:

ubuntu@ubuntu: ~ $ lSblk -o Navn, størrelse, type

Bruk -opprett kommandoen for å opprette en RAID 5 -matrise, men bruk verdien 5 for "nivå" i dette tilfellet.

ubuntu@ubuntu: ~ $ sudo mdadm -create --verbose /dev /md0 -nivå = 5
--RAID-DEVICES = 3 /dev /sda /dev /sdb /dev /sdc

Dette kan ta en viss tid å fullføre, selv i løpet av denne tiden kan matrisen brukes. Ved å teste /proc /mdstat -loggen, kan du spore fremdriften i skapelsen:

ubuntu@ubuntu: ~ $ cat /proc /mdstat

Lag nå og monter filsystemet på matrisen ved å utføre følgende sekvens av kommandoer:

ubuntu@ubuntu: ~ $ sudo mkfs.ext4 -f /dev /md0
ubuntu@ubuntu: ~ $ sudo mkdir -p /mnt /md0
ubuntu@ubuntu: ~ $ sudo mount /dev /md0 /mnt /md0

Etter å ha montert dette, kan du bekrefte om det er tilgjengelig eller ikke ::

ubuntu@ubuntu: ~ $ df -h -x devtmpfs -x tmpfs

For automatisk montering og montering av RAID 5 -matriser på hver oppstart, må du justere initramfene og legge til det nylig opprettede filsystemet til FSTAB -filen ved å utføre disse kommandoene:

Konklusjon:

RAID gir effektivitet og stabilitet ved å kombinere flere harddisker sammen. På den måten gir det systemet en harddisk med stor kapasitet med mye bedre hastighet enn normale partisjonerte stasjoner. På den annen side letter det ikke redundans og feiltoleranse, og i tilfelle mislykkes en stasjon alle dataene går tapt.