Permalänk
Medlem

RAID 5 med mdadm.

Hej! Har en server som jag ett litet problem med. Det gäller upplägget av lagringen. Har testat att köra en helt vanlig LVM2 men det känns inte helt pålitligt. Så har tänkt fixa en RAID5 men det har uppstått ett problem. Gjorde en RAID5 i en virtuell maskin för att testa lite.

mdadm --create --verbose /dev/md0 --level=5 --raid-devices=2 /dev/sda1 /dev/sdb1 --spare-devices=1 /dev/sdc1

Det är 3x100MB diskar men får bara ut 1/3 dvs. 100MB. Ska man inte få ut 2/3 när man kör med en sparedisk?

/dev/md0: Version : 00.90.03 Creation Time : Wed Dec 17 18:57:59 2008 Raid Level : raid5 Array Size : 96256 (94.02 MiB 98.57 MB) Device Size : 96256 (94.02 MiB 98.57 MB) Raid Devices : 2 Total Devices : 3 Preferred Minor : 0 Persistence : Superblock is persistent Update Time : Wed Dec 17 19:00:08 2008 State : clean Active Devices : 2 Working Devices : 3 Failed Devices : 0 Spare Devices : 1 Layout : left-symmetric Chunk Size : 64K UUID : d5ed52db:1dca2088:9d4deba6:47ca997f (local to host debian) Events : 0.2 Number Major Minor RaidDevice State 0 8 1 0 active sync /dev/sda1 1 8 17 1 active sync /dev/sdb1 2 8 33 - spare /dev/sdc1

Tack på förhand.

Permalänk
Medlem

Re: RAID 5 med mdadm.

Citat:

Ursprungligen inskrivet av panGa

mdadm --create --verbose /dev/md0 --level=5 --raid-devices=2 /dev/sda1 /dev/sdb1 --spare-devices=1 /dev/sdc1

Det är 3x100MB diskar men får bara ut 1/3 dvs. 100MB. Ska man inte få ut 2/3 när man kör med en sparedisk?

Jag har bara kört RAID1 via mjukvara, mina kunder saknar sällan stålar och hostar glatt upp dom pengarna som behövs för att kunna köra det via en egen kontroller så jag kan med gott samvete sätta upp en 0+1/1+0/5:a eller vad dom ni kan tänkas ha för behov men visst stämmer din teori om att RAID5'an använder motsvarande en disk i utrymme för paritetsdata. Mer fem stycken diskar (likvärdigt stora) i en RAID5'a kan du beräkna fyra diskar till lagring - den sista för paritet.

Jag har dock en aning - men bara en aning - om att din mdadm konf säger "Använd två diskar till RAID5:a, men du får gärna ha en disk som online-spare ifall någon av dom två första havererar" vilket skulle förklara varför du bara får ut en tredjedel i mjukvaruraid'en. Om du inte redan börjat peta in massa data på volymen skulle i alla fall jag testat att riva den och bygga den igen men då med;

mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sda1 /dev/sdb1 /dev/sdc1

...med reservation för att syntaxen ev. kräver "--spare-devices=0" naturligtvis

Om det fungerar skulle jag inbilla mig att du klarar en disks bortfall/död då dom andra två själva klarar sig utan paritetsdisken medan du hastar iväg till blocket.se och letar upp en ny 100mb disk (menar du verkligen mb - inte gb?)

...men som sagt; RAID1 är det enda jag pillar med på mjukvaruraid-sidan så all reservation för att det är fullständigt uppåt väggarna

Visa signatur

WS: ASUS P7P55D/i5-750, Hydro H50, XFX6950/2GB, Intel X25-V/2Tb lagring, Corsair VX-550
Server: ASUS, AMD Athlon64 X2 6000+ Scyte Ninja, NVidia GS8400Silent, 2Gb ram, ~4Tb SATA, 500W, CM Stileo500 (tyst)
"-Sometimes all that is needed is a high five. In the face. With a chair!"

Permalänk
Medlem

Som Osan säger; det krävs tre diskar (minimum) för RAID5, hot spares exkluderade. Du behöver alltså fyra diskar för att köra en RAID5 med en hot spare, tre aktiva diskar och en reserv.

Permalänk
Medlem

Är det då rätt uppfattat att hot spare disken endast ligger i dvala fram till att en disk går sönder i arrayn och då ersätts med hot spare disken?

Visa signatur

01001000 01100001 01110010 00100000 01100100 01110101 00100000 01110100 01110010 10000110 01101011 01101001 01100111 01110100 00111111 00100000 00111010 00101001

Permalänk
Medlem

Är det inte bättre att köra RAID6 då istället för RAID5 + 1st hot-spare... om en disk till bestämmer sig för att pajja under återuppbyggnaden av en RAID5 så är det ju kört. I RAID6 så kan ju två pajja samtidigt och man klarar sig ändå.

Visa signatur

ASUS ROG STRIX B550-I - AMD Ryzen 5 4650G - 32GB G.SKILL DDR4 3600MHz - Dell U2515H - WD Blue SN550 500GB SSD - Linux Mint
Projekt iCom: Bygglogg - Feedback

Permalänk
Medlem

Den tredje disken är inte en aktiv del i arrayen, den används nu som spare. Du har alltså bara två aktiva i diskar i arrayen. Hade samma problem själv, med att den tredje disken inte lades till som aktiv.

Vad står det när du kör "cat /proc/mdstat/"?

Har själv haft mycket nytta av: http://linux-raid.osdl.org

Prova att köra följande:

mdadm --add /dev/mdx /dev/sdxy mdadm --grow --raid-devices=3 /dev/mdx

du måste eventuellt ta bort spare-disken från arrayen först.

EDIT: prova att bara köra grow-kommandot

Visa signatur

Intel Core i7 920, Gigabyte GA-EX58-UD5, 6x2 GB Corsair XMS3 Twin3X DDR3 1333 MHz, XFX GeForce GTX 280 1 GB, Gigabyte GeForce 8600 GT 512 MB, Corsair TX650 650W
NileCity 105,6 Playlist

Permalänk
Medlem

Tack för alla svar. Jag hade fått för mig att man har en separat disk som man "offrar", och att detta var sparedisken. Men efter att ha läst på lite till så fattar jag det som:

1. Om en disk kraschar så går sparedisken in och håller arrayn online, till att den döda disken ersätts.

2. Om man inte har en sparedisk så blir arrayn offline tills att man ersätter den döda disken.

Korrekt?

Nu ska jag prova lite mer, återkommer med resultatet.

Permalänk
Medlem

Om man inte har en spare och en disk går sönder i en raid5-array så kan den fortsätta fungera med de kvarvarande diskarna (men med viss försämrad läsprestanda eftersom datan måste beräknas utifrån paritetsinformationen) men går ytterligare en disk sönder så havererar den.

Sparedisken är till för att man ska slippa ha panik med att ersätta den trasiga disken eftersom detta då görs automatiskt. Arrayen återskapas och man får full prestanda och återfår sin redundans på kortast möjliga tid. Man kan alltså i lugn och ro beställa en ny hårddisk och ersätta den trasiga vid något lämpligt tillfälle så att man får en ny reservdisk.

En sparedisk (reservdisk) kan vara gemensam för flera raid-arrayer, t.ex. om du har två raid5-arrayer kan dessa två ha en gemensam reservdisk som ersätter en trasig disk i någon av arrayerna.

Istället för RAID5 med sparedisk så är det som sagt vettigare att köra RAID6 om man har möjlighet till det. Då har man två diskars redundans, alltså data finns kvar på arrayen även om två diskar går sönder samtidigt. Man kan förstås även ha sparediskar i en RAID-6 array.

Personligen tycker jag att RAID-5 känns vettigt upp till 5 stycken hårddiskar och RAID-6 om man kör fler än 5 hårddiskar i samma array. Ju fler hårddiskar man har desto större är ju risken att mer än en av dem går sönder. Sparedisk har man om man vill slippa besväret att snabbt behöva byta ut hårddisken manuellt.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av panGa
Tack för alla svar. Jag hade fått för mig att man har en separat disk som man "offrar", och att detta var sparedisken. Men efter att ha läst på lite till så fattar jag det som:

1. Om en disk kraschar så går sparedisken in och håller arrayn online, till att den döda disken ersätts.

2. Om man inte har en sparedisk så blir arrayn offline tills att man ersätter den döda disken.

Korrekt?

Nu ska jag prova lite mer, återkommer med resultatet.

Nej tanken med RAID5 är inte i grunden att ha en hot-spare disk. I stället stripas diskarna och paritet sprids jämnt över alla diskar. Pariteten tar alltså upp totalt en disk i storlek då man kör XOR, men är spridd över alla diskar. Om en disk sedan går sönder kan RAID-kontrollern (som är i mjukvara i fallet med mdadm) fortfarande hålla arrayen online och användbar om en disk kraschar genom att använda den lagrade pariteten för att ersätta den kraschade disken tills man fyller på arrayen med en ny fräsch disk.

Har man en hot-spare disk vilket var fallet för dig så kommer den automatiskt att läggas till arrayen om en av diskarna som är aktiva i arrayen går sönder. Arrayen börjar alltså automatiskt att restoras genom att spare-disken läggs till som aktiv disk i den och man börjar skriva data till den. Med mdadm ska man dock fortfarande kunna använda arrayen medan den restoras.

Visa signatur

Intel Core i7 920, Gigabyte GA-EX58-UD5, 6x2 GB Corsair XMS3 Twin3X DDR3 1333 MHz, XFX GeForce GTX 280 1 GB, Gigabyte GeForce 8600 GT 512 MB, Corsair TX650 650W
NileCity 105,6 Playlist

Permalänk
Medlem

Det har blivit lite klydd med RAID:en.

Först så satte jag upp en RAID med en sparedisk. Eftersom jag inte ville ha detta så formaterade jag diskarna och installerade om systemet. Sen så gjorde jag en ny utan sparedisk. När den skapades så "recheckade" den i ett par timmar, så jag antar att den hittade den gamla raiden på något sätt. När den var klar så fungerade den som jag ville men efter första omstarten så är den "clean, degraded" och körs på 2/3 diskar. /dev/sdd1 står som removed, fast att ingenting är ändrat sedan omstarten.

Så nu vill jag börja om från början men mdadm hittar hela tiden den gamla RAID:en

Systemet är ominstallerat och diskarna är formaterade både med fdisk och genom Windows.

Hur ska jag göra för att "rensa" diskarna totalt?

Tacksam för svar.

Permalänk

mdadm --zero-superblock <device>

Detta plockar bort mdadm's information på partitionen.

Visa signatur

If it works, tweak it!

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av tossebear
mdadm --zero-superblock <device>

Detta plockar bort mdadm's information på partitionen.

Tack. Det fungerade på /dev/sdb1 och dev/sdc1 men inte på /dev/sdd1.
_____

Edit: Nu har jag fått rätt på det.

1: mdadm --stop /dev/md0
2: mdadm --zero-superblock /dev/sdX

Ett stort tack till Osan, NakedApe, twan, drbrain, raaaz, ronnylov & tossebear.

Permalänk
Medlem

Ett tips till nästa gång kan vara att ögna igenom man-filen. Det mesta du kört fast på tror jag bestämt att du hade kunnat lösa med hjälp av den. Det går lite snabbare så

Visa signatur

Jag tänkte skriva något klyftigt här