Indledning

Det mdadm hjælpeprogram kan bruges til at oprette og administrere lagringsarrays ved hjælp af Linux’ software-RAID-funktioner. Administratorer har stor fleksibilitet til at koordinere deres individuelle lagerenheder og oprette logiske lagerenheder, der har større ydeevne eller redundansegenskaber.

I denne vejledning vil vi gennemgå en række forskellige RAID-konfigurationer, der kan oprettes ved hjælp af en Ubuntu 16.04-server.

Forudsætninger

For at kunne gennemføre trinene i denne vejledning skal du have:

  • En ikke-root-bruger med sudo-privilegier på en Ubuntu 16.04-server: Trinene i denne vejledning vil blive gennemført med en sudo-bruger. Hvis du vil vide, hvordan du konfigurerer en konto med disse privilegier, skal du følge vores vejledning til første installation af Ubuntu 16.04-serveren.
  • En grundlæggende forståelse af RAID-terminologi og -koncepter: Selv om denne vejledning vil berøre nogle RAID-terminologier i forbifarten, er en mere komplet forståelse meget nyttig. Hvis du vil vide mere om RAID og få en bedre forståelse af, hvilket RAID-niveau der er det rigtige for dig, skal du læse vores artikel Introduktion til RAID.
  • Flere rå lagerenheder til rådighed på din server: Vi vil demonstrere, hvordan du konfigurerer forskellige typer arrays på serveren. Som sådan har du brug for nogle drev til at konfigurere. Hvis du bruger DigitalOcean, kan du bruge Block Storage-volumener til at udfylde denne rolle. Afhængigt af array-typen skal du som minimum bruge mellem to og fire lagerenheder.

Retablering af eksisterende RAID-enheder

Igennem denne vejledning vil vi introducere trinene til at oprette en række forskellige RAID-niveauer. Hvis du ønsker at følge med, vil du sandsynligvis ønske at genbruge dine lagerenheder efter hvert afsnit. Der kan henvises til dette afsnit for at lære, hvordan du hurtigt nulstiller dine komponentlagerenheder, inden du tester et nyt RAID-niveau. Spring dette afsnit over for nu, hvis du endnu ikke har opsat nogen arrays.

Varsling

Denne proces vil fuldstændig ødelægge arrayet og alle data, der er skrevet til det. Sørg for, at du opererer på det korrekte array, og at du har kopieret alle data, som du skal beholde, før du ødelægger arrayet.

Find de aktive arrays i filen /proc/mdstat ved at skrive:

  • cat /proc/mdstat
Output
Personalities : md0 : active raid0 sdc sdd 209584128 blocks super 1.2 512k chunks unused devices: <none>

Unmount arrayet fra filsystemet:

  • sudo umount /dev/md0

Så skal du stoppe og fjerne arrayet ved at skrive:

  • sudo umount /dev/md0

Så skal du stoppe og fjerne arrayet ved at skrive:

  • sudo mdadm --stop /dev/md0
  • sudo mdadm --remove /dev/md0

Find de enheder, der blev brugt til at opbygge arrayet, med følgende kommando:

Note

Husk, at/dev/sd*-navnene kan ændres, hver gang du genstarter! Kontroller dem hver gang for at sikre dig, at du opererer på de korrekte enheder.

  • lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Output
NAME SIZE FSTYPE TYPE MOUNTPOINTsda 100G disk sdb 100G disk sdc 100G linux_raid_member disk sdd 100G linux_raid_member disk vda 20G disk ├─vda1 20G ext4 part /└─vda15 1M part

Når du har fundet de enheder, der blev brugt til at oprette et array, skal du nulstille deres superblok for at nulstille dem til normal tilstand:

  • sudo mdadm --zero-superblock /dev/sdc
  • sudo mdadm --zero-superblock /dev/sdd

Du bør fjerne alle vedvarende referencer til arrayet. Rediger filen /etc/fstab og kommenter ud eller fjern henvisningen til dit array:

  • sudo nano /etc/fstab
/etc/fstab
. . .# /dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0

Kommenter også ud eller fjern arraydefinitionen fra filen /etc/mdadm/mdadm.conf:

  • sudo nano /etc/mdadm/mdadm.conf
/etc/mdadm/mdadm.conf
. . .# ARRAY /dev/md0 metadata=1.2 name=mdadmwrite:0 UUID=7261fb9c:976d0d97:30bc63ce:85e76e91

Til sidst skal du opdatere initramfs igen:

  • sudo update-initramfs -u

På dette tidspunkt bør du være klar til at genbruge lagerenhederne individuelt eller som komponenter i et andet array.

Skabelse af et RAID 0-array

Raid 0-arrayet fungerer ved at opdele data i bidder og strippe dem på tværs af de tilgængelige diske. Det betyder, at hver disk indeholder en del af dataene, og at der henvises til flere diske, når der hentes oplysninger.

  • Krav: Minimum 2 lagerenheder
  • Primær fordel: Ydelse
  • Det skal du være opmærksom på: Sørg for, at du har funktionelle sikkerhedskopier. En enkelt enhedsfejl vil ødelægge alle data i arrayet.

Identificer komponent-enhederne

For at komme i gang skal du finde identifikatorerne for de rå diske, som du vil bruge:

  • lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Output
NAME SIZE FSTYPE TYPE MOUNTPOINTsda 100G disksdb 100G diskvda 20G disk ├─vda1 20G ext4 part /└─vda15 1M part

Som du kan se ovenfor, har vi to diske uden filsystem, hver på 100 G i størrelse. I dette eksempel har disse enheder fået identifikatorerne /dev/sda og /dev/sdb for denne session. Det vil være de rå komponenter, som vi vil bruge til at opbygge arrayet.

Skab arrayet

For at oprette et RAID 0-array med disse komponenter skal du sende dem ind i kommandoen mdadm --create. Du skal angive det enhedsnavn, du ønsker at oprette (/dev/md0 i vores tilfælde), RAID-niveauet og antallet af enheder:

  • sudo mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/sda /dev/sdb

Du kan sikre dig, at RAID’et blev oprettet med succes, ved at kontrollere filen /proc/mdstat:

  • cat /proc/mdstat
Output
Personalities : md0 : active raid0 sdb sda 209584128 blocks super 1.2 512k chunks unused devices: <none>

Som du kan se i den fremhævede linje, er enheden /dev/md0 blevet oprettet i RAID 0-konfigurationen ved hjælp af enhederne /dev/sda og /dev/sdb.

Opret og monter filsystemet

Så skal du oprette et filsystem på arrayet:

  • sudo mkfs.ext4 -F /dev/md0

Opret et monteringspunkt for at knytte det nye filsystem til det:

  • sudo mkdir -p /mnt/md0

Du kan montere filsystemet ved at skrive:

  • sudo mount /dev/md0 /mnt/md0

Kontroller, om den nye plads er tilgængelig, ved at skrive:

  • df -h -x devtmpfs -x tmpfs
Output
Filesystem Size Used Avail Use% Mounted on/dev/vda1 20G 1.1G 18G 6% //dev/md0 197G 60M 187G 1% /mnt/md0

Det nye filsystem er monteret og tilgængeligt.

Save the Array Layout

For at sikre, at arrayet samles igen automatisk ved opstart, skal vi justere filen /etc/mdadm/mdadm.conf. Du kan automatisk scanne det aktive array og tilføje filen ved at skrive:

  • sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

Dernæst kan du opdatere initramfs, eller det indledende RAM-filsystem, så arrayet er tilgængeligt under den tidlige opstartsproces:

  • sudo update-initramfs -u

Føj de nye mountindstillinger for filsystemet til filen /etc/fstab for automatisk montering ved opstart:

  • echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

Din RAID 0-array skulle nu automatisk blive samlet og monteret ved hver opstart.

Skabelse af et RAID 1-array

Raid 1-arraytypen implementeres ved at spejle data på tværs af alle tilgængelige diske. Hver disk i et RAID 1-array får en fuld kopi af dataene, hvilket giver redundans i tilfælde af en enhedsfejl.

  • Krav: mindst 2 lagerenheder
  • Primær fordel: Redundans
  • Ting, du skal huske på: Da der opretholdes to kopier af dataene, vil kun halvdelen af diskpladsen være brugbar

Identificer komponent-enhederne

For at komme i gang skal du finde identifikatorerne for de rå diske, som du vil bruge:

  • lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Output
NAME SIZE FSTYPE TYPE MOUNTPOINTsda 100G disksdb 100G diskvda 20G disk ├─vda1 20G ext4 part /└─vda15 1M part

Som du kan se ovenfor, har vi to diske uden et filsystem, hver på 100 G i størrelse. I dette eksempel har disse enheder fået identifikatorerne /dev/sda og /dev/sdb for denne session. Disse vil være de rå komponenter, som vi vil bruge til at opbygge arrayet.

Skab arrayet

For at oprette et RAID 1-array med disse komponenter skal du sende dem ind i kommandoen mdadm --create. Du skal angive det enhedsnavn, du ønsker at oprette (/dev/md0 i vores tilfælde), RAID-niveauet og antallet af enheder:

  • sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sda /dev/sdb

Hvis de komponent-enheder, du bruger, ikke er partitioner med boot-flaget aktiveret, vil du sandsynligvis få følgende advarsel. Det er sikkert at skrive y for at fortsætte:

Output
mdadm: Note: this array has metadata at the start and may not be suitable as a boot device. If you plan to store '/boot' on this device please ensure that your boot-loader understands md/v1.x metadata, or use --metadata=0.90mdadm: size set to 104792064KContinue creating array? y

Værktøjet mdadm vil begynde at spejle drevene. Det kan tage noget tid at gennemføre, men arrayet kan bruges i denne periode. Du kan overvåge spejlingens fremskridt ved at kontrollere /proc/mdstat-filen:

  • cat /proc/mdstat
Output
Personalities : md0 : active raid1 sdb sda 104792064 blocks super 1.2 resync = 20.2% (21233216/104792064) finish=6.9min speed=199507K/secunused devices: <none>

Som du kan se i den første fremhævede linje, er /dev/md0-enheden blevet oprettet i RAID 1-konfigurationen ved hjælp af /dev/sda– og /dev/sdb-enhederne. Den anden fremhævede linje viser fremskridtet med spejlingen. Du kan fortsætte vejledningen, mens denne proces afsluttes.

Opret og monter filsystemet

Næst skal du oprette et filsystem på arrayet:

  • sudo mkfs.ext4 -F /dev/md0

Opret et monteringspunkt for at knytte det nye filsystem til det:

  • sudo mkdir -p /mnt/md0

Du kan montere filsystemet ved at skrive:

  • sudo mount /dev/md0 /mnt/md0

Kontroller, om den nye plads er tilgængelig, ved at skrive:

  • df -h -x devtmpfs -x tmpfs
Output
Filesystem Size Used Avail Use% Mounted on/dev/vda1 20G 1.1G 18G 6% //dev/md0 99G 60M 94G 1% /mnt/md0

Det nye filsystem er monteret og tilgængeligt.

Save the Array Layout

For at sikre, at arrayet samles igen automatisk ved opstart, skal vi justere filen /etc/mdadm/mdadm.conf. Du kan automatisk scanne det aktive array og tilføje filen ved at skrive:

  • sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

Dernæst kan du opdatere initramfs, eller det indledende RAM-filsystem, så arrayet er tilgængeligt under den tidlige opstartsproces:

  • sudo update-initramfs -u

Føj de nye mount-muligheder for filsystemet til /etc/fstab-filen for automatisk montering ved opstart:

  • echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

Din RAID 1-array skulle nu automatisk blive samlet og monteret ved hver opstart.

Skabelse af et RAID 5-array

Raid 5-arraytypen implementeres ved at strippe data på tværs af de tilgængelige enheder. En komponent i hver stribe er en beregnet paritetsblok. Hvis en enhed svigter, kan paritetsblokken og de resterende blokke bruges til at beregne de manglende data. Den enhed, der modtager paritetsblokken, roteres, så hver enhed har en afbalanceret mængde paritetsinformation.

  • Krav: Minimum 3 lagerenheder
  • Primær fordel: Redundans med mere brugbar kapacitet.
  • Ting, du skal være opmærksom på: Mens paritetsoplysningerne distribueres, vil en disks kapacitet blive brugt til paritet. RAID 5 kan lide af meget dårlig ydeevne, når den er i en degraderet tilstand.

Identificer komponent-enhederne

For at komme i gang skal du finde identifikatorerne for de rå diske, du skal bruge:

  • lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Output
NAME SIZE FSTYPE TYPE MOUNTPOINTsda 100G disksdb 100G disksdc 100G diskvda 20G disk ├─vda1 20G ext4 part /└─vda15 1M part

Som du kan se ovenfor, har vi tre diske uden et filsystem, hver på 100 G i størrelse. I dette eksempel har disse enheder fået identifikatorerne /dev/sda, /dev/sdb og /dev/sdc for denne session. Disse vil være de rå komponenter, som vi vil bruge til at opbygge arrayet.

Skab arrayet

For at oprette et RAID 5-array med disse komponenter skal du sende dem ind i kommandoen mdadm --create. Du skal angive det enhedsnavn, du ønsker at oprette (/dev/md0 i vores tilfælde), RAID-niveauet og antallet af enheder:

  • sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sda /dev/sdb /dev/sdc

Værktøjet mdadm vil begynde at konfigurere arrayet (det bruger faktisk genoprettelsesprocessen til at opbygge arrayet af hensyn til ydeevnen). Det kan tage noget tid at gennemføre, men arrayet kan bruges i løbet af denne tid. Du kan overvåge spejlingens fremskridt ved at kontrollere /proc/mdstat-filen:

  • cat /proc/mdstat
Output
Personalities : md0 : active raid5 sdc sdb sda 209584128 blocks super 1.2 level 5, 512k chunk, algorithm 2 recovery = 15.6% (16362536/104792064) finish=7.3min speed=200808K/secunused devices: <none>

Som du kan se i den første fremhævede linje, er /dev/md0-enheden blevet oprettet i RAID 5-konfigurationen ved hjælp af /dev/sda-, /dev/sdb– og /dev/sdc-enhederne. Den anden fremhævede linje viser fremskridtet med opbygningen. Du kan fortsætte vejledningen, mens denne proces afsluttes.

Opret og monter filsystemet

Næst skal du oprette et filsystem på arrayet:

  • sudo mkfs.ext4 -F /dev/md0

Opret et monteringspunkt for at knytte det nye filsystem til det:

  • sudo mkdir -p /mnt/md0

Du kan montere filsystemet ved at skrive:

  • sudo mount /dev/md0 /mnt/md0

Kontroller, om den nye plads er tilgængelig, ved at skrive:

  • df -h -x devtmpfs -x tmpfs
Output
Filesystem Size Used Avail Use% Mounted on/dev/vda1 20G 1.1G 18G 6% //dev/md0 197G 60M 187G 1% /mnt/md0

Det nye filsystem er monteret og tilgængeligt.

Save the Array Layout

For at sikre, at arrayet samles igen automatisk ved opstart, skal vi justere /etc/mdadm/mdadm.conf-filen.

Før du justerer konfigurationen, skal du kontrollere igen, at arrayet er færdig med at blive samlet. På grund af den måde, som mdadm opbygger RAID 5-marrays på, vil antallet af reservedele i arrayet blive rapporteret unøjagtigt, hvis arrayet stadig er ved at blive opbygget:

  • cat /proc/mdstat
Output
Personalities : md0 : active raid5 sdc sdb sda 209584128 blocks super 1.2 level 5, 512k chunk, algorithm 2 unused devices: <none>

Overstående output viser, at genopbygningen er afsluttet. Nu kan vi automatisk scanne det aktive array og tilføje filen ved at skrive:

  • sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

Derpå kan du opdatere initramfs, eller det oprindelige RAM-filsystem, så arrayet er tilgængeligt under den tidlige opstartsproces:

  • sudo update-initramfs -u

Føj de nye mount-muligheder for filsystemet til filen /etc/fstab for automatisk montering ved opstart:

  • echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

Dit RAID 5 array skulle nu automatisk blive samlet og monteret ved hver opstart.

Skabelse af et RAID 6-array

Raid 6-arraytypen implementeres ved at strippe data på tværs af de tilgængelige enheder. To komponenter i hver stribe er beregnede paritetsblokke. Hvis en eller to enheder svigter, kan paritetsblokkene og de resterende blokke bruges til at beregne de manglende data. De enheder, der modtager paritetsblokkene, roteres, så hver enhed har en afbalanceret mængde paritetsinformation. Dette svarer til et RAID 5-array, men giver mulighed for fejl på to drev.

  • Krav: Minimum 4 lagerenheder
  • Primær fordel: Dobbelt redundans med større brugbar kapacitet.
  • Det skal du være opmærksom på: Mens paritetsoplysningerne distribueres, vil to diskers kapacitet blive brugt til paritet. RAID 6 kan lide under meget dårlig ydelse, når den er i en degraderet tilstand.

Identificer komponent-enhederne

For at komme i gang skal du finde identifikatorerne for de rå diske, som du vil bruge:

  • lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Output
NAME SIZE FSTYPE TYPE MOUNTPOINTsda 100G disksdb 100G disksdc 100G disksdd 100G diskvda 20G disk ├─vda1 20G ext4 part /└─vda15 1M part

Som du kan se ovenfor, har vi fire diske uden filsystem, hver på 100 G i størrelse. I dette eksempel har disse enheder fået identifikatorerne /dev/sda, /dev/sdb, /dev/sdc og /dev/sdd for denne session. Disse vil være de rå komponenter, som vi vil bruge til at opbygge arrayet.

Skab arrayet

For at oprette et RAID 6-array med disse komponenter skal du sende dem til kommandoen mdadm --create. Du skal angive det enhedsnavn, du ønsker at oprette (/dev/md0 i vores tilfælde), RAID-niveauet og antallet af enheder:

  • sudo mdadm --create --verbose /dev/md0 --level=6 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd

Værktøjet mdadm begynder at konfigurere arrayet (det bruger faktisk genoprettelsesprocessen til at opbygge arrayet af hensyn til ydeevnen). Det kan tage noget tid at gennemføre, men arrayet kan bruges i løbet af denne tid. Du kan overvåge spejlingens fremskridt ved at kontrollere /proc/mdstat-filen:

  • cat /proc/mdstat
Output
Personalities : md0 : active raid6 sdd sdc sdb sda 209584128 blocks super 1.2 level 6, 512k chunk, algorithm 2 resync = 0.6% (668572/104792064) finish=10.3min speed=167143K/secunused devices: <none>

Som du kan se i den første fremhævede linje, er /dev/md0-enheden blevet oprettet i RAID 6-konfigurationen ved hjælp af /dev/sda-, /dev/sdb-, /dev/sdc– og /dev/sdd-enhederne. Den anden fremhævede linje viser fremskridtet med opbygningen. Du kan fortsætte vejledningen, mens denne proces afsluttes.

Opret og monter filsystemet

Næst skal du oprette et filsystem på arrayet:

  • sudo mkfs.ext4 -F /dev/md0

Opret et monteringspunkt for at knytte det nye filsystem til det:

  • sudo mkdir -p /mnt/md0

Du kan montere filsystemet ved at skrive:

  • sudo mount /dev/md0 /mnt/md0

Kontroller, om den nye plads er tilgængelig, ved at skrive:

  • df -h -x devtmpfs -x tmpfs
Output
Filesystem Size Used Avail Use% Mounted on/dev/vda1 20G 1.1G 18G 6% //dev/md0 197G 60M 187G 1% /mnt/md0

Det nye filsystem er monteret og tilgængeligt.

Save the Array Layout

For at sikre, at arrayet samles automatisk igen ved opstart, skal vi justere filen /etc/mdadm/mdadm.conf. Vi kan automatisk scanne det aktive array og tilføje filen ved at skrive:

  • sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

Dernæst kan du opdatere initramfs, eller det indledende RAM-filsystem, så arrayet er tilgængeligt under den tidlige opstartsproces:

  • sudo update-initramfs -u

Føj de nye mount-muligheder for filsystemet til /etc/fstab-filen for automatisk montering ved opstart:

  • echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

Din RAID 6-array skulle nu automatisk blive samlet og monteret ved hver opstart.

Skabelse af et komplekst RAID 10-array

RAID 10-marraytypen implementeres traditionelt ved at oprette et stribet RAID 0-array bestående af sæt RAID 1-marrays. Denne nested array-type giver både redundans og høj ydeevne, men på bekostning af store mængder diskplads. Hjælpeprogrammet mdadm har sin egen RAID 10-type, der giver den samme type fordele med øget fleksibilitet. Den oprettes ikke ved at neste arrays, men har mange af de samme egenskaber og garantier. Vi vil bruge mdadm RAID 10 her.

  • Krav: Minimum 3 lagerenheder
  • Primær fordel: Ydelse og redundans
  • Ting du skal være opmærksom på: Omfanget af kapacitetsreduktion for arrayet er defineret af det antal datakopier, du vælger at beholde. Antallet af kopier, der gemmes med mdadm style RAID 10, kan konfigureres.

Som standard gemmes to kopier af hver datablok i det, der kaldes det “nærliggende” layout. De mulige layouts, der dikterer, hvordan hver datablok gemmes, er:

  • near: Standardopstillingen. Kopier af hver chunk skrives fortløbende ved striping, hvilket betyder, at kopierne af datablokkene skrives rundt om den samme del af flere diske.
  • far: Den første og de efterfølgende kopier skrives til forskellige dele lagerenhederne i arrayet. F.eks. kan den første klump blive skrevet nær begyndelsen af en disk, mens den anden klump bliver skrevet halvvejs nede på en anden disk. Dette kan give nogle læseydelsesgevinster for traditionelle spinning diske på bekostning af skriveydelsen.
  • offset: Hver stribe kopieres, forskudt med et drev. Det betyder, at kopierne er forskudt fra hinanden, men stadig tæt på hinanden på disken. Dette hjælper med at minimere overdreven søgning under visse arbejdsbelastninger.

Du kan få mere at vide om disse layouts ved at tjekke afsnittet “RAID10” på denne man side:

  • man 4 md

Du kan også finde denne man side online her.

Identificer komponent-enhederne

For at komme i gang skal du finde identifikatorerne for de rå diske, som du skal bruge:

  • lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Output
NAME SIZE FSTYPE TYPE MOUNTPOINTsda 100G disksdb 100G disksdc 100G disksdd 100G diskvda 20G disk ├─vda1 20G ext4 part /└─vda15 1M part

Som du kan se ovenfor, har vi fire diske uden filsystem, hver på 100 G i størrelse. I dette eksempel har disse enheder fået identifikatorerne /dev/sda, /dev/sdb, /dev/sdc og /dev/sdd for denne session. Disse vil være de rå komponenter, som vi vil bruge til at opbygge arrayet.

Skab arrayet

For at oprette et RAID 10-array med disse komponenter skal du sende dem til kommandoen mdadm --create. Du skal angive det enhedsnavn, du ønsker at oprette (/dev/md0 i vores tilfælde), RAID-niveauet og antallet af enheder.

Du kan oprette to kopier ved hjælp af det nærliggende layout ved ikke at angive et layout- og kopinummer:

  • sudo mdadm --create --verbose /dev/md0 --level=10 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd

Hvis du ønsker at bruge et andet layout eller ændre antallet af kopier, skal du bruge --layout=-indstillingen, som tager et layout- og kopi-id. Layouts er n for near (nær), f for far (fjern) og o for offset (forskydning). Antallet af kopier, der skal gemmes, tilføjes bagefter.

For eksempel for at oprette et array med 3 kopier i offset-layoutet ville kommandoen se således ud:

  • sudo mdadm --create --verbose /dev/md0 --level=10 --layout=o3 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd

Værktøjet mdadm vil begynde at konfigurere arrayet (det bruger faktisk genoprettelsesprocessen til at opbygge arrayet af hensyn til ydeevnen). Det kan tage noget tid at gennemføre, men arrayet kan bruges i løbet af denne tid. Du kan overvåge spejlingens fremskridt ved at kontrollere /proc/mdstat-filen:

  • cat /proc/mdstat
Output
Personalities : md0 : active raid10 sdd sdc sdb sda 209584128 blocks super 1.2 512K chunks 2 near-copies resync = 18.1% (37959424/209584128) finish=13.8min speed=206120K/secunused devices: <none>

Som du kan se i den første fremhævede linje, er /dev/md0-enheden blevet oprettet i RAID 10-konfigurationen ved hjælp af /dev/sda-, /dev/sdb-, /dev/sdc– og /dev/sdd-enhederne. Det andet fremhævede område viser det layout, der blev brugt til dette eksempel (2 kopier i den nærmeste konfiguration). Det tredje fremhævede område viser fremskridtet med opbygningen. Du kan fortsætte vejledningen, mens denne proces afsluttes.

Opret og monter filsystemet

Næst skal du oprette et filsystem på arrayet:

  • sudo mkfs.ext4 -F /dev/md0

Opret et monteringspunkt for at knytte det nye filsystem til det:

  • sudo mkdir -p /mnt/md0

Du kan montere filsystemet ved at skrive:

  • sudo mount /dev/md0 /mnt/md0

Kontroller, om den nye plads er tilgængelig, ved at skrive:

  • df -h -x devtmpfs -x tmpfs
Output
Filesystem Size Used Avail Use% Mounted on/dev/vda1 20G 1.1G 18G 6% //dev/md0 197G 60M 187G 1% /mnt/md0

Det nye filsystem er monteret og tilgængeligt.

Save the Array Layout

For at sikre, at arrayet samles igen automatisk ved opstart, skal vi justere filen /etc/mdadm/mdadm.conf. Vi kan automatisk scanne det aktive array og tilføje filen ved at skrive:

  • sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

Dernæst kan du opdatere initramfs, eller det indledende RAM-filsystem, så arrayet er tilgængeligt under den tidlige opstartsproces:

  • sudo update-initramfs -u

Føj de nye mountindstillinger for filsystemet til /etc/fstab-filen for automatisk montering ved opstart:

  • echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

Din RAID 10-array skulle nu automatisk blive samlet og monteret ved hver opstart.

Slutning

I denne vejledning demonstrerede vi, hvordan du opretter forskellige typer arrays ved hjælp af Linux’ mdadm software-RAID-værktøj mdadm. RAID-arrays tilbyder nogle overbevisende redundans- og ydelsesforbedringer i forhold til at bruge flere diske individuelt.

Når du har besluttet dig for den type array, der er nødvendig for dit miljø, og oprettet enheden, skal du lære, hvordan du udfører den daglige administration med mdadm. Vores vejledning om hvordan du administrerer RAID arrays med mdadm på Ubuntu 16.04 kan hjælpe dig i gang.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.