Har du extra hårddiskar som du vill använda mer effektivt med din Linux-dator? RAID kan ge en prestandahöjning eller lägga till redundans, beroende på hur den är konfigurerad. Låt oss ta ett snabbt dyk in i multidiskvärlden.
RAID 101
En redundant array av billiga (eller oberoende) diskar (RAID) är en samling enheter som arbetar sammanhängande för att ge fördelar till ett system. Dessa fördelar kan antingen vara prestanda, redundans eller båda. De vanliga konfigurationerna du kommer att stöta på är RAID 0, RAID 1, RAID 5, RAID 6 och RAID 10. Vi har sammanfattat dem nedan.
Andra konfigurationer finns, men dessa är de vanligaste.
Oavsett vilken RAID-nivå du vill använda, RAID är ingen backuplösning.
Även om det kan hjälpa dig att snabbt komma igång igen och tillhandahålla ytterligare ett lager för att skydda dina data, ersätter det inte faktiska säkerhetskopior. RAID är ett utmärkt användningsfall där hög tillgänglighet är ett måste. Vår guide till RAID förklarar ytterligare.
RAID 0: Icke-kritisk lagring
RAID 0 fungerar genom att strippa data över flera enheter. Du behöver minst två enheter för RAID 0, men du kan teoretiskt lägga till så många du vill. Eftersom din dator skriver över flera enheter samtidigt, ger detta en prestandaökning.
Du kan också använda enheter av olika storlekar. Din array kommer dock att vara begränsad till den minsta enheten i arrayen. Om du har en enhet som är 100 GB och en enhet som är 250 GB striped i en RAID 0-array, blir det totala utrymmet för arrayen 200 GB. Det är 100 GB från varje disk.
RAID 0 är utmärkt för icke-kritisk lagring som kräver högre läs- och skrivhastigheter som en enda disk inte kan erbjuda. RAID 0 är inte feltolerant.
Om några av enheterna i din array misslyckas, kommer du att förlora all data i den arrayen. Du har blivit varnad.
RAID 1: Spegla din hårddisk
RAID 1 är en enkel spegel. Vad som än händer på en enhet kommer att hända på de andra enheterna. Även om det inte kommer att finnas någon prestandafördel med RAID 1, finns det en exakt kopia av dina data på varje enhet, vilket betyder att det finns en redundansfördel med RAID 1. Så länge en enhet i din array är levande kommer dina data att vara intakta .
Den maximala storleken på din array kommer att vara lika med storleken på den minsta enheten i arrayen. Om du har en enhet som är 100 GB och en enhet som är 250 GB i en RAID 1-array kommer det totala utrymmet för arrayen att vara 100 GB. Denna kostnadskonsekvens måste bara hållas i åtanke.
RAID 5 och 6: Prestanda och redundans
RAID 5 och 6 kommer att ge både prestanda och redundans. Data är randiga över enheterna tillsammans med paritetsinformation. RAID 5 använder totalt en enhets paritet med RAID 6 som använder två. Med hjälp av paritetsdata kan datorn räkna om data från ett av de andra datablocken om data inte längre är tillgängliga. Detta innebär att RAID 5 kan drabbas av förlust av en enda enhet medan RAID 6 kan överleva två enheter som misslyckas vid varje enskild tidpunkt.
Lagringsmässigt betyder detta att RAID 5 och 6 kommer att vara lika med total enhetsstorlek minus en enhet respektive två enheter. Så om du hade fyra enheter vardera med en kapacitet på 100 GB kommer din arraystorlek i RAID 5 att vara 300 GB, medan RAID 6 ger dig 200 GB.
RAID 5 behöver minst tre enheter och RAID 6 kräver fyra. Även om du kan blanda och matcha hårddiskstorlekar, kommer arrayen att se alla diskar som storleken på den minsta enheten i arrayen. I den olyckliga händelsen att en enhet misslyckas kommer din array fortfarande att fungera och du kommer att kunna komma åt alla data. Vid det här laget måste du byta ut den döda enheten och bygga om arrayen.
I sitt försämrade tillstånd kommer arrayen att fungera långsammare än vanligt, och det är inte en bra idé att använda den förrän arrayen har byggts om.
RAID 10: Striped and Mirrored
RAID 10 är i grunden RAID 1 + 0. Det är en kombination av dessa nivåer. Du behöver par diskar för att detta ska uppnås. Data är randad över två diskar, och det speglas sedan på en annan uppsättning diskar. Du får prestandafördelen med RAID 0 och redundansen hos RAID 1.
Konfigurera RAID i Linux
Att konfigurera all denna redundanta godhet kan göras på antingen hårdvaru- eller mjukvarunivå. Hårdvaruvarianten kräver en RAID-kontroller som vanligtvis finns i hårdvara av serverklass. Lyckligtvis har Linux en mjukvaruversion av RAID. Principerna är desamma, men kom ihåg att overheaden kommer att ligga på din CPU i motsats till RAID-kontrollern.
Låt oss gå igenom en RAID 5-konfiguration med bara ett terminalfönster, några enheter och lite beslutsamhet. När du är klar öppnar du ett terminalfönster med ditt favoritskal och skriver:
sudo apt install mdadm
Förbereda enheterna
I vårt exempel kommer vi att använda tre 1GB-enheter, för enkelhetens skull (i verkligheten kommer dessa att vara större). Kontrollera vilka diskar som är anslutna till ditt system med dessa terminalkommandon:
sudo fdisk -l
Från utgången kan vi se sda som startenhet och sdb, sdd, och sdc bara kopplad till systemet.
Nu måste vi partitionera dessa diskar. Se till att din kusins examensbilder är säkerhetskopierade och inte på dessa enheter eftersom detta är en destruktiv process. I en terminal anger du:
sudo fdisk /dev/sdb
Vi måste då svara med följande input:
- n: Lägger till en ny partition p: Gör partitionen till den primära på disken 1: Tilldelar detta nummer till partitionen t: För att ändra partitionstyp fd: Detta är RAID-partitionstypen w: Sparar ändringarna och avslutar
Utför exakt samma steg för de återstående två enheterna. Nämligen /dev/sdc och /dev/sdd. Vi måste nu informera vårt operativsystem om de ändringar vi just gjorde:
sudo partprobe /dev/sdb
Följ detta med:
sudo partprobe /dev/sdc
sudo partprobe /dev/sdd
Konfigurera RAID 5
Låt oss ta en snabb titt på partitionstabellen nu. Återigen, kör:
fdisk -l
Grymt bra! Våra enheter och deras partitioner är redo att RAID-behandlas!
Så här ställer du in dem i RAID 5-körning:
mdadm -C /dev/md0 --level=raid5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1
Ta en närmare titt på syntaxen:
mdadm: Verktyget vi använder C: Detta är växeln för att skapa en RAID-array /dev/md0: Där arrayen kommer att poolas nivå: Önskad RAID-nivå raid-enhet: antalet enheter och deras platser
Vi kan se detaljerna om vår RAID genom att skriva:
sudo mdadm --detail /dev/md0
De sista stegen blir att skapa ett filsystem för arrayen och montera det så att vi faktiskt kan använda det! För att formatera arrayen och tilldela en plats den kan nås, skriv:
sudo mkfs.ext4 /dev/md0
sudo mkdir /data
Montering av Arrayen
Det finns två alternativ för att montera den nyskapade arrayen. Den första är tillfälligt, vilket kräver att den monteras varje gång datorn startas. Eller så kan du montera den permanent så att den monteras vid varje omstart. För att montera tillfälligt skriv:
mount /dev/md0 /data/
Om du föredrar att bevara lagringen måste du redigera din /etc/fstab-fil och se till att du lägger till i raden som bilden nedan:
sudo nano /etc/fstab
När du har sparat och stängt filen, uppdatera monteringstabellen:
sudo mount -a
Vi kan sedan se våra monterade enheter genom att skriva:
df -h
Grattis! Du har framgångsrikt skapat en RAID-array, formaterat och monterat den. Du kan nu använda den katalogen som vilken annan som helst, och dra nytta av fördelarna!
Felsökning av RAID
Kommer du ihåg uppsägningsförmånerna vi pratade om? Tja, vad händer om en enhet misslyckas? Med mdadm kan du ta bort den felaktiga enheten med mdadm -r växla. Förhoppningsvis stöder ditt moderkort hot-swapping av enheter och du kan koppla in en ersättningsenhet.
Följer fdisk kommandot ovan kan du ställa in den nya enheten. Lägg helt enkelt till den nya enheten till arrayen med hjälp av mdadm -a växla. Din array kommer nu att börja byggas om. Eftersom detta är RAID 5 borde all din data finnas där, och till och med tillgänglig när enheten inte var tillgänglig.
Behöver du RAID?
Tabellen ovan listar några möjliga användningsfall där RAID kan vara till nytta för dig. Om du har ett affärsbehov som driver detta krav kan det vara värt att titta på hårdvaru-RAID-kontroller eller alternativ som FreeNAS för att bättre passa dina behov.
Om du letar efter ett kostnadseffektivt sätt att pressa lite extra prestanda eller tillhandahålla ytterligare ett lager av redundans för hemmet, kan mdadm vara en värdig kandidat.
Använder du för närvarande RAID? Hur ofta går du igenom hårddiskar? Har du en skräckhistoria om dataförlust?
Om författaren
Yusuf Limalia (47 artiklar publicerade)
Yusuf vill leva i en värld fylld av innovativa företag, smartphones som levereras med mörkrostat kaffe och datorer som har hydrofoba kraftfält som dessutom stöter bort damm. Som affärsanalytiker och utexaminerad från Durban University of Technology, med över 10 års erfarenhet av en snabbt växande teknikbransch, tycker han om att vara mellanhanden mellan tekniska och icke-tekniska människor och hjälpa alla att komma igång med avancerad teknologi.
Mer från Yusuf Limalia
Prenumerera på vårt nyhetsbrev
Gå med i vårt nyhetsbrev för tekniska tips, recensioner, free e-böcker och exklusiva erbjudanden!
Klicka här för att prenumerera
