Introduktion
Verktyget mdadm
kan användas för att skapa och hantera lagringsarrayer med hjälp av Linux mjukvaru-RAID-funktioner. Administratörer har stor flexibilitet när det gäller att samordna sina enskilda lagringsenheter och skapa logiska lagringsenheter som har högre prestanda eller redundansegenskaper.
I den här guiden kommer vi att gå igenom ett antal olika RAID-konfigurationer som kan ställas in med hjälp av en Ubuntu 16.04-server.
Förutsättningar
För att kunna genomföra stegen i den här guiden bör du ha:
- En icke-root-användare med
sudo
-privilegier på en Ubuntu 16.04-server: Stegen i den här guiden kommer att genomföras med ensudo
-användare. Om du vill veta hur du konfigurerar ett konto med dessa privilegier följer du vår guide för Ubuntu 16.04 inledande serverinstallation. - En grundläggande förståelse för RAID-terminologi och -koncept: Även om den här guiden kommer att beröra en del RAID-terminologi i förbigående, är en mer fullständig förståelse mycket användbar. Om du vill veta mer om RAID och få en bättre förståelse för vilken RAID-nivå som är rätt för dig kan du läsa vår artikel Introduktion till RAID.
- Flera rå lagringsenheter tillgängliga på din server: Vi kommer att demonstrera hur du konfigurerar olika typer av matriser på servern. Därför behöver du några enheter att konfigurera. Om du använder DigitalOcean kan du använda Block Storage-volymer för att fylla den här rollen. Beroende på matrisens typ behöver du minst mellan två och fyra lagringsenheter.
Återställning av befintliga RAID-enheter
I den här guiden kommer vi att presentera stegen för att skapa ett antal olika RAID-nivåer. Om du vill följa med kommer du troligen att vilja återanvända dina lagringsenheter efter varje avsnitt. Det här avsnittet kan refereras till för att lära dig hur du snabbt återställer dina lagringsenheter innan du testar en ny RAID-nivå. Hoppa över det här avsnittet för tillfället om du ännu inte har konfigurerat några matriser.
Den här processen kommer att helt förstöra matrisen och all data som skrivits till den. Se till att du arbetar på rätt matris och att du har kopierat bort alla data som du behöver behålla innan du förstör matrisen.
Hitta de aktiva matriserna i filen /proc/mdstat
genom att skriva:
- cat /proc/mdstat
OutputPersonalities : md0 : active raid0 sdc sdd 209584128 blocks super 1.2 512k chunks unused devices: <none>
Unmount the array from the filesystem:
- sudo umount /dev/md0
Stoppa sedan och ta bort matrisen genom att skriva:
- sudo mdadm --stop /dev/md0
- sudo mdadm --remove /dev/md0
Finn de enheter som användes för att bygga matrisen med följande kommando:
Tänk på att/dev/sd*
-namnen kan ändras varje gång du startar om! Kontrollera dem varje gång för att se till att du arbetar på rätt enheter.
- lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
OutputNAME 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 upptäckt de enheter som användes för att skapa en matris nollställer du deras superblock för att återställa dem till det normala:
- sudo mdadm --zero-superblock /dev/sdc
- sudo mdadm --zero-superblock /dev/sdd
Du bör ta bort alla bestående referenser till matrisen. Redigera filen /etc/fstab
och kommentera ut eller ta bort referensen till din array:
- sudo nano /etc/fstab
. . .# /dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0
Kommentera också ut eller ta bort arraydefinitionen från filen /etc/mdadm/mdadm.conf
:
- sudo nano /etc/mdadm/mdadm.conf
. . .# ARRAY /dev/md0 metadata=1.2 name=mdadmwrite:0 UUID=7261fb9c:976d0d97:30bc63ce:85e76e91
Finnligen uppdaterar du initramfs
igen:
- sudo update-initramfs -u
I det här läget bör du vara redo att återanvända lagringsenheterna individuellt eller som komponenter i en annan matris.
Skapande av en RAID 0-matris
Raid 0-matrisen fungerar genom att data bryts upp i bitar och strippas över de tillgängliga diskarna. Detta innebär att varje disk innehåller en del av data och att flera diskar kommer att refereras när information hämtas.
- Krav: minst 2 lagringsenheter
- Primär fördel: Prestanda
- Ting att tänka på: Se till att du har fungerande säkerhetskopior. Ett enda enhetsfel förstör all data i matrisen.
Identifiera komponentenheterna
För att komma igång ska du hitta identifierarna för de råa diskarna som du kommer att använda:
- lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
OutputNAME SIZE FSTYPE TYPE MOUNTPOINTsda 100G disksdb 100G diskvda 20G disk ├─vda1 20G ext4 part /└─vda15 1M part
Som du kan se ovan har vi två diskar utan filsystem, vardera 100G i storlek. I det här exemplet har dessa enheter fått identifierarna /dev/sda
och /dev/sdb
för den här sessionen. Dessa kommer att vara de råkomponenter som vi kommer att använda för att bygga matrisen.
Skapa matrisen
För att skapa en RAID 0-matris med dessa komponenter skickar du in dem i kommandot mdadm --create
. Du måste ange det enhetsnamn du vill skapa (/dev/md0
i vårt fall), RAID-nivån och antalet enheter:
- sudo mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/sda /dev/sdb
Du kan försäkra dig om att RAID:en skapades framgångsrikt genom att kontrollera filen /proc/mdstat
:
- cat /proc/mdstat
OutputPersonalities : md0 : active raid0 sdb sda 209584128 blocks super 1.2 512k chunks unused devices: <none>
Som du kan se i den markerade raden har enheten /dev/md0
skapats i RAID 0-konfigurationen med hjälp av enheterna /dev/sda
och /dev/sdb
.
Skapa och montera filsystemet
Nästan skapar du ett filsystem på matrisen:
- sudo mkfs.ext4 -F /dev/md0
Skapa en monteringspunkt för att fästa det nya filsystemet:
- sudo mkdir -p /mnt/md0
Du kan montera filsystemet genom att skriva:
- sudo mount /dev/md0 /mnt/md0
Kontrollera om det nya utrymmet är tillgängligt genom att skriva:
- df -h -x devtmpfs -x tmpfs
OutputFilesystem Size Used Avail Use% Mounted on/dev/vda1 20G 1.1G 18G 6% //dev/md0 197G 60M 187G 1% /mnt/md0
Det nya filsystemet är monterat och tillgängligt.
Spara matrislayouten
För att se till att matrisen återmonteras automatiskt vid uppstart måste vi justera filen /etc/mdadm/mdadm.conf
. Du kan automatiskt skanna den aktiva matrisen och lägga till filen genom att skriva:
- sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
Därefter kan du uppdatera initramfs, eller det initiala RAM-filsystemet, så att matrisen blir tillgänglig under den tidiga uppstartsprocessen:
- sudo update-initramfs -u
Lägg till de nya monteringsalternativen för filsystemet till /etc/fstab
-filen för automatisk montering vid uppstart:
- echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab
Din RAID 0-matris bör nu automatiskt monteras ihop och monteras varje uppstart.
Skapa en RAID 1-array
Raid 1-array-typen implementeras genom att spegla data på alla tillgängliga diskar. Varje disk i en RAID 1-array får en fullständig kopia av data, vilket ger redundans i händelse av fel på en enhet.
- Krav: minst 2 lagringsenheter
- Primär fördel: Redundans
- Ting att tänka på: Eftersom två kopior av data upprätthålls kommer endast hälften av diskutrymmet att vara användbart
Identifiera komponentenheterna
För att komma igång hittar du identifierarna för de obehandlade diskarna som du kommer att använda:
- lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
OutputNAME SIZE FSTYPE TYPE MOUNTPOINTsda 100G disksdb 100G diskvda 20G disk ├─vda1 20G ext4 part /└─vda15 1M part
Som du kan se ovan har vi två diskar utan ett filsystem, vardera 100G i storlek. I det här exemplet har dessa enheter fått identifierarna /dev/sda
och /dev/sdb
för den här sessionen. Dessa kommer att vara de råkomponenter som vi kommer att använda för att bygga matrisen.
Skapa matrisen
För att skapa en RAID 1-matris med dessa komponenter skickar du in dem i kommandot mdadm --create
. Du måste ange det enhetsnamn du vill skapa (/dev/md0
i vårt fall), RAID-nivån och antalet enheter:
- sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sda /dev/sdb
Om de komponentenheter du använder inte är partitioner med flaggan boot
aktiverad kommer du troligen att få följande varning. Det är säkert att skriva y för att fortsätta:
Outputmdadm: 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
Verktyget mdadm
börjar spegla enheterna. Detta kan ta en viss tid att slutföra, men matrisen kan användas under denna tid. Du kan övervaka hur speglingen fortskrider genom att kontrollera /proc/mdstat
-filen:
- cat /proc/mdstat
OutputPersonalities : 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örsta markerade raden har /dev/md0
-enheten skapats i RAID 1-konfigurationen med hjälp av /dev/sda
– och /dev/sdb
-enheterna. Den andra markerade raden visar hur det går med speglingen. Du kan fortsätta guiden medan denna process avslutas.
Skapa och montera filsystemet
Nästan skapar du ett filsystem på matrisen:
- sudo mkfs.ext4 -F /dev/md0
Skapa en monteringspunkt för att fästa det nya filsystemet:
- sudo mkdir -p /mnt/md0
Du kan montera filsystemet genom att skriva:
- sudo mount /dev/md0 /mnt/md0
Kontrollera om det nya utrymmet är tillgängligt genom att skriva:
- df -h -x devtmpfs -x tmpfs
OutputFilesystem Size Used Avail Use% Mounted on/dev/vda1 20G 1.1G 18G 6% //dev/md0 99G 60M 94G 1% /mnt/md0
Det nya filsystemet är monterat och tillgängligt.
Spara matrislayouten
För att se till att matrisen sätts ihop automatiskt vid uppstart måste vi justera filen /etc/mdadm/mdadm.conf
. Du kan automatiskt skanna den aktiva matrisen och lägga till filen genom att skriva:
- sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
Därefter kan du uppdatera initramfs, eller det initiala RAM-filsystemet, så att matrisen blir tillgänglig under den tidiga uppstartsprocessen:
- sudo update-initramfs -u
Lägg till de nya monteringsalternativen för filsystemet till /etc/fstab
-filen för automatisk montering vid uppstart:
- echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab
Din RAID 1-matris bör nu automatiskt sättas ihop och monteras varje uppstart.
Skapa en RAID 5-matris
Raid 5-matrisens typ implementeras genom att strippa data över de tillgängliga enheterna. En komponent i varje remsa är ett beräknat paritetsblock. Om en enhet går sönder kan paritetsblocket och de återstående blocken användas för att beräkna de saknade uppgifterna. Den enhet som tar emot paritetsblocket roteras så att varje enhet har en balanserad mängd paritetsinformation.
- Krav: minst 3 lagringsenheter
- Primär fördel: Redundans med mer användbar kapacitet.
- Ting att tänka på: Medan paritetsinformationen distribueras kommer en disks kapacitet att användas för paritet. RAID 5 kan drabbas av mycket dålig prestanda när den är i ett försämrat tillstånd.
Identifiera komponentenheterna
För att komma igång ska du hitta identifierarna för de obehandlade diskarna som du kommer att använda:
- lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
OutputNAME SIZE FSTYPE TYPE MOUNTPOINTsda 100G disksdb 100G disksdc 100G diskvda 20G disk ├─vda1 20G ext4 part /└─vda15 1M part
Som du kan se ovan har vi tre diskar utan filsystem, var och en med en storlek på 100G. I det här exemplet har dessa enheter fått identifierarna /dev/sda
, /dev/sdb
och /dev/sdc
för den här sessionen. Dessa kommer att vara de råkomponenter som vi kommer att använda för att bygga matrisen.
Skapa matrisen
För att skapa en RAID 5-matris med de här komponenterna skickar du in dem till kommandot mdadm --create
. Du måste ange enhetsnamnet som du vill skapa (/dev/md0
i vårt fall), RAID-nivån och antalet enheter:
- sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sda /dev/sdb /dev/sdc
Verktyget mdadm
börjar konfigurera matrisen (det använder faktiskt återställningsprocessen för att bygga matrisen av prestandaskäl). Detta kan ta en viss tid att slutföra, men matrisen kan användas under denna tid. Du kan övervaka hur speglingen fortskrider genom att kontrollera /proc/mdstat
-filen:
- cat /proc/mdstat
OutputPersonalities : 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örsta markerade raden har enheten /dev/md0
skapats i RAID 5-konfigurationen med hjälp av enheterna /dev/sda
, /dev/sdb
och /dev/sdc
. Den andra markerade raden visar hur långt framskridandet av uppbyggnaden har kommit. Du kan fortsätta guiden medan denna process avslutas.
Skapa och montera filsystemet
Nästan skapar du ett filsystem på matrisen:
- sudo mkfs.ext4 -F /dev/md0
Skapa en monteringspunkt för att fästa det nya filsystemet:
- sudo mkdir -p /mnt/md0
Du kan montera filsystemet genom att skriva:
- sudo mount /dev/md0 /mnt/md0
Kontrollera om det nya utrymmet är tillgängligt genom att skriva:
- df -h -x devtmpfs -x tmpfs
OutputFilesystem Size Used Avail Use% Mounted on/dev/vda1 20G 1.1G 18G 6% //dev/md0 197G 60M 187G 1% /mnt/md0
Det nya filsystemet är monterat och tillgängligt.
Spara matrislayouten
För att se till att matrisen återmonteras automatiskt vid uppstart måste vi justera filen /etc/mdadm/mdadm.conf
.
För att justera konfigurationen ska du kontrollera igen att matrisen är färdigmonterad. På grund av det sätt som mdadm
bygger RAID 5-matriser kommer antalet reservdelar i matrisen att rapporteras felaktigt om matrisen fortfarande håller på att byggas upp:
- cat /proc/mdstat
OutputPersonalities : md0 : active raid5 sdc sdb sda 209584128 blocks super 1.2 level 5, 512k chunk, algorithm 2 unused devices: <none>
Utmatningen ovan visar att återuppbyggnaden är klar. Nu kan vi automatiskt skanna den aktiva matrisen och lägga till filen genom att skriva:
- sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
Därefter kan du uppdatera initramfs, eller det initiala RAM-filsystemet, så att matrisen blir tillgänglig under den tidiga uppstartsprocessen:
- sudo update-initramfs -u
Lägg till de nya monteringsalternativen för filsystemet till filen /etc/fstab
för automatisk montering vid uppstart:
- echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab
Din RAID 5-matris bör nu automatiskt byggas ihop och monteras varje uppstart.
Skapa en RAID 6-matris
Raid 6-matrisens typ implementeras genom att strippa data över de tillgängliga enheterna. Två komponenter i varje remsa är beräknade paritetsblock. Om en eller två enheter går sönder kan paritetsblocken och de återstående blocken användas för att beräkna de saknade uppgifterna. De enheter som tar emot paritetsblocken roteras så att varje enhet har en balanserad mängd paritetsinformation. Detta liknar en RAID 5-array, men tillåter fel på två enheter.
- Krav: Minst 4 lagringsenheter
- Primär fördel: Dubbel redundans med mer användbar kapacitet.
- Ting att tänka på: Medan paritetsinformationen distribueras kommer två diskars kapacitet att användas för paritet. RAID 6 kan drabbas av mycket dålig prestanda när den är i ett försämrat tillstånd.
Identifiera komponentenheterna
För att komma igång ska du hitta identifierarna för de obehandlade diskarna som du kommer att använda:
- lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
OutputNAME 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 ovan har vi fyra diskar utan filsystem, var och en med en storlek på 100G. I det här exemplet har dessa enheter fått identifierarna /dev/sda
, /dev/sdb
, /dev/sdc
och /dev/sdd
för den här sessionen. Dessa kommer att vara de råkomponenter som vi kommer att använda för att bygga matrisen.
Skapa matrisen
För att skapa en RAID 6-matris med de här komponenterna skickar du in dem till kommandot mdadm --create
. Du måste ange det enhetsnamn du vill skapa (/dev/md0
i vårt fall), RAID-nivån och antalet enheter:
- sudo mdadm --create --verbose /dev/md0 --level=6 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd
Verktyget mdadm
kommer att börja konfigurera matrisen (det använder faktiskt återställningsprocessen för att bygga matrisen av prestandaskäl). Detta kan ta en viss tid att slutföra, men matrisen kan användas under denna tid. Du kan övervaka hur speglingen fortskrider genom att kontrollera /proc/mdstat
-filen:
- cat /proc/mdstat
OutputPersonalities : 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örsta markerade raden har enheten /dev/md0
skapats i RAID 6-konfigurationen med hjälp av enheterna /dev/sda
, /dev/sdb
, /dev/sdc
och /dev/sdd
. Den andra markerade raden visar hur långt framskridandet av uppbyggnaden har kommit. Du kan fortsätta guiden medan denna process avslutas.
Skapa och montera filsystemet
Nästan skapar du ett filsystem på matrisen:
- sudo mkfs.ext4 -F /dev/md0
Skapa en monteringspunkt för att fästa det nya filsystemet:
- sudo mkdir -p /mnt/md0
Du kan montera filsystemet genom att skriva:
- sudo mount /dev/md0 /mnt/md0
Kontrollera om det nya utrymmet är tillgängligt genom att skriva:
- df -h -x devtmpfs -x tmpfs
OutputFilesystem Size Used Avail Use% Mounted on/dev/vda1 20G 1.1G 18G 6% //dev/md0 197G 60M 187G 1% /mnt/md0
Det nya filsystemet är monterat och tillgängligt.
Spara matrislayouten
För att se till att matrisen återmonteras automatiskt vid uppstart måste vi justera filen /etc/mdadm/mdadm.conf
. Vi kan automatiskt skanna den aktiva matrisen och lägga till filen genom att skriva:
- sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
Därefter kan du uppdatera initramfs, eller det initiala RAM-filsystemet, så att matrisen blir tillgänglig under den tidiga uppstartsprocessen:
- sudo update-initramfs -u
Lägg till de nya monteringsalternativen för filsystemet till /etc/fstab
-filen för automatisk montering vid uppstart:
- echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab
Din RAID 6-matris bör nu automatiskt monteras ihop och monteras vid varje uppstart.
Skapa en komplex RAID 10-matris
Raid 10-matris typ implementeras traditionellt genom att skapa en strippad RAID 0-matris som består av uppsättningar av RAID 1-matriser. Den här inbäddade matrisstypen ger både redundans och hög prestanda, på bekostnad av stora mängder diskutrymme. Verktyget mdadm
har en egen RAID 10-typ som ger samma typ av fördelar med ökad flexibilitet. Den skapas inte genom nesting arrays, men har många av samma egenskaper och garantier. Vi kommer att använda mdadm
RAID 10 här.
- Krav: minst 3 lagringsenheter
- Primär fördel: Prestanda och redundans
- Ting att tänka på: Kapacitetsminskningen för matrisen definieras av antalet datakopior som du väljer att behålla. Antalet kopior som lagras med
mdadm
style RAID 10 är konfigurerbart.
Som standard lagras två kopior av varje datablock i vad som kallas ”nära” layout. De möjliga layouter som bestämmer hur varje datablock lagras är:
- nära: Standardarrangemanget. Kopior av varje block skrivs i följd vid striping, vilket innebär att kopiorna av datablocken skrivs runt samma del av flera diskar.
- långt: Den första och efterföljande kopiorna skrivs till olika delar lagringsenheterna i matrisen. Till exempel kan det första blocket skrivas nära början av en disk, medan det andra blocket skrivs halvvägs ner på en annan disk. Detta kan ge vissa läsförmågelyftsvinster för traditionella snurrande diskar på bekostnad av skrivprestanda.
- offset: Varje remsa kopieras, förskjutet med en enhet. Detta innebär att kopiorna är förskjutna från varandra, men fortfarande ligger nära varandra på disken. Detta bidrar till att minimera överdriven sökning under vissa arbetsbelastningar.
Du kan läsa mer om dessa layouter genom att kolla in avsnittet ”RAID10” på den här man
sidan:
- man 4 md
Du kan också hitta den här man
sidan online här.
Identifiera komponentenheterna
För att komma igång ska du hitta identifierarna för de råa diskarna som du kommer att använda:
- lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
OutputNAME 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 ovan har vi fyra diskar utan filsystem, var och en 100G stor. I det här exemplet har dessa enheter fått identifierarna /dev/sda
, /dev/sdb
, /dev/sdc
och /dev/sdd
för den här sessionen. Dessa kommer att vara de råkomponenter som vi kommer att använda för att bygga matrisen.
Skapa matrisen
För att skapa en RAID 10-matris med de här komponenterna skickar du in dem till kommandot mdadm --create
. Du måste ange det enhetsnamn du vill skapa (/dev/md0
i vårt fall), RAID-nivån och antalet enheter.
Du kan ställa in två kopior som använder den närliggande layouten genom att inte ange en layout och ett kopianummer:
- sudo mdadm --create --verbose /dev/md0 --level=10 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd
Om du vill använda en annan layout eller ändra antalet kopior måste du använda alternativet --layout=
, som tar emot en layout- och kopieringsidentifierare. Layouterna är n för nära, f för långt och o för offset. Antalet kopior som ska lagras läggs till efteråt.
För att till exempel skapa en matris som har 3 kopior i offset-layouten skulle kommandot se ut så här:
- sudo mdadm --create --verbose /dev/md0 --level=10 --layout=o3 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd
Verktyget mdadm
börjar konfigurera matrisen (det använder faktiskt återställningsprocessen för att bygga matrisen av prestandaskäl). Detta kan ta en viss tid att slutföra, men matrisen kan användas under denna tid. Du kan övervaka hur speglingen fortskrider genom att kontrollera /proc/mdstat
-filen:
- cat /proc/mdstat
OutputPersonalities : 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örsta markerade raden har enheten /dev/md0
skapats i RAID 10-konfigurationen med hjälp av enheterna /dev/sda
, /dev/sdb
, /dev/sdc
och /dev/sdd
. Det andra markerade området visar den layout som användes för det här exemplet (2 kopior i den nära konfigurationen). Det tredje markerade området visar framstegen i uppbyggnaden. Du kan fortsätta guiden medan denna process avslutas.
Skapa och montera filsystemet
Nästan skapar du ett filsystem på matrisen:
- sudo mkfs.ext4 -F /dev/md0
Skapa en monteringspunkt för att fästa det nya filsystemet:
- sudo mkdir -p /mnt/md0
Du kan montera filsystemet genom att skriva:
- sudo mount /dev/md0 /mnt/md0
Kontrollera om det nya utrymmet är tillgängligt genom att skriva:
- df -h -x devtmpfs -x tmpfs
OutputFilesystem Size Used Avail Use% Mounted on/dev/vda1 20G 1.1G 18G 6% //dev/md0 197G 60M 187G 1% /mnt/md0
Det nya filsystemet är monterat och tillgängligt.
Spara matrislayouten
För att se till att matrisen återmonteras automatiskt vid uppstart måste vi justera filen /etc/mdadm/mdadm.conf
. Vi kan automatiskt skanna den aktiva matrisen och lägga till filen genom att skriva:
- sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
Därefter kan du uppdatera initramfs, eller det initiala RAM-filsystemet, så att matrisen blir tillgänglig under den tidiga uppstartsprocessen:
- sudo update-initramfs -u
Lägg till de nya monteringsalternativen för filsystemet till /etc/fstab
-filen för automatisk montering vid uppstart:
- echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab
Din RAID 10-matris ska nu automatiskt sättas ihop och monteras varje uppstart.
Slutsats
I den här guiden visade vi hur man skapar olika typer av matriser med hjälp av Linux mdadm
programvaru-RAID-verktyg. RAID-matriser erbjuder några övertygande redundans- och prestandaförbättringar jämfört med att använda flera diskar individuellt.
När du har bestämt dig för vilken typ av matris som behövs för din miljö och skapat enheten måste du lära dig hur du utför den dagliga hanteringen med mdadm
. Vår guide om hur man hanterar RAID-matriser med mdadm
på Ubuntu 16.04 kan hjälpa dig att komma igång.