Nybörjarfråga om Raidcontroller.
Volym
50% kost av volymen eftersom varje datablock kommer att speglas på två diskar.
Skrivning
50% kost av skrivningsprestandan eftersom varje skrivning måste skickas till två diskar.
Läsning
50% kost av läsningar eftersom enbart hälften av diskarna kan vara med att leverera data när vi vill komma åt det igen.
RAID5 (9+1)
Volym
10% Kost eftersom volymen av en disk kommer gå åt för paritetsdata för att skydda os mot en potentiell trasig disk.
Skrivning
75% kost eftersom varje skrivning mot en RAID5 volym kommer att generera fyra stycken IO i bakplanet. Två IO för att läsa den gamla pariteten och det gamla datablocket samt två skrivningar för att skriva den nya pariteten och det nya datablocket.
Läsning
10% kost eftersom varje stripe i exempel RAID5 har 9st data chunks och 1 paritets chunk. Enbart data chunk:arna levererar prestanda vid läsning.
RAID6 (8+2)
Volym
20% kost eftersom volymen av två diskar går åt för paritetsdata för att skydda oss mot två trasiga diskar.
Skrivning
ca 83% kost eftersom varje skrivning mot en RAID6 volym kommer att generera sex stycken IO i bakplanet. tre IO för att läsa den gamla pariteten och det gamla datablocket samt tre skrivningar för att skriva den nya pariteten och det nya datablocket.
Läsning
20% kost eftersom varje stripe i exempel RAID6 har 8st data chunks och 2 paritets chunks. Enbart data chunk:arna levererar prestanda vid läsning.
Så har man en last som är majoriteten läsningar så är både RAID6 och RAID5 ett bättre alternativ för prestandaoptimering än vad RAID10 är.
Har man dessutom en majoritet av sekventiella skrivningar (i kombination med en någorlunda kompetent RAID-kontroller) så är RAID6 och RAID5 ett bättre alternativ än RAID10. De flesta bra RAID-kontrollers kan identifiera en sekventiell dataström och spara ett helt stripe-set i cache innan den skriver HELA stripe-settet (inklusive pariteten) mot disk. Det innebär att i exempelet ovan så är kostnaden för skrivningarna 10% för RAID5 samt 20% för RAID6 jämfört med RAID10 som hade 50%
Det finns dock andra saker som man måste ta hänsyn till när man väljer vilken RAID-nivå man skall ha.
Man skall aktivt välja bort RAID5 om man vill bygga ett RAID-set med många diskar eller om man har väldigt stora diskar.
- Har du många diskar i ett RAID5 så ökar risken att två diskar går sönder i samma raid-set och du kan inte återskapa din data. Eller att en disk går sönder när du kör rebuild på en trasig disk.
- Du skall också välja bort RAID5 om du kör stora diskar (över 600-900GB i storlek) eftersom du ökar sannorlikheten att du råkar ut för en "unrecoverable read error". Det innebär att RAID-kontrollern läser en bit fel utan att upptäcka detta, och skulle detta ske när du gör en rebuild så riskerar du förlora all data.
RAID10 tillåter att fler diskar går sönder så länge det inte är två diskar i samma spegelpar.
SÃ¥, det finns ingen perfekt RAID.
Alla typer av RAID (ja, inklusive RAID4) har typer av last och tillämpningar som gör dem till perfekta för just den tillämpningen.
Just my 2 cents










22 Comments
Markus Lassfolk
Apr 20 2012 10:48
Teoretiskt sett skulle det gå bra, men jag tror inte det är någon bra lösning.
Om du har 6 diskar och gör en Raid 1 av 2 diskar. Då har du 4 diskar kvar.
En Raid6 använder 2 diskar för paritet, så du "tappar" 2 diskar där.
Till slut nyttjar du alltså bara utrymmet på 3 av dina 6 diskar.
Det finns en bra artikel om Raid 6 här: RAID 6 -- Do you really want it?
Så baserat på den artikeln borde det nog räcka med en Raid 5, så får du lite mer diskplats.
Alternativt, kanske skapa 2st Raid 0 och köra dem i en Raid 1, dvs en så kallad Raid10.
Då får du samma feltollerans men bättre presstanda än med en Raid5 eller Raid6.
Dock lika mycket förlust av disk som i din lösning (3 av 6 diskar).
Vad är det för sorts last som kommer köras på servern. Är det mycket Läs och/eller Skrivningar till diskarna?
dodgy
Apr 20 2012 11:48
Min tanke var att köra OS på en raid 1 och sen ha en disk till för VHD'erna.
Fast det kanske funkar lika bra att bara ta och raid 5, installera 2008r2 alt hyper-v på den och låta "allt ligga på samma"?
Som sagt, jag är lite av en nybörjare på det här.
Markus Lassfolk
Apr 20 2012 13:41
En Raid5 är ju lite långsammare på att skriva än en Raid10 men du tappar å andra sidan inte lika mycket disk.
Vad tror du om att helt enkelt köra OS på bara en disk. Skippa mirroring där. givetvis beroende på Uptime och SLA'er ni kan tänkas ha,
Om Host OS'et rasar, så går det ju förhållandevis snabbt att installera ett nytt OS på en ny disk och komma åt de virtuella maskinerna igen.
Då kan du ha 1st OS disk och så kör du Raid5 på de resterande diskarna?
dodgy
Apr 20 2012 13:58
Hur står skillnad är det på hastighet på raid10 gentemot en raid5? För det är inte så mycket plats som behövs, och med 4x600gb diskar så blir det ju iaf 1.2tb och det "borde" klara mitt företags behov kommande 3-4 år iaf.
Vi är rätt litet företag och har ingen policy för uptime och SLA, men om man räknar in gnällspiksfaktorn när något går sönder hade jag ju föredragit lite redundans.
Fast du har en poäng, det tar ju inte många minuter att installera upp hyper-v server på en ny disk och sen addera in de virtuella igen, hmm, nu är jag ännu mer kluven i hur jag ska göra, hehe =)
Jocke Bryttmar
Apr 20 2012 14:06
Markus Lassfolk
Apr 20 2012 14:12
Men kör med Raid1 för OS + Raid5 för VM's så har du redundans och som du säger, gott om disk.
ernefors
Apr 20 2012 14:26
RAID5 ska köras med ett jämnt antal diskar för bästa prestanda, så i ditt fall antingen en stor RAID10 eller en RAID1 för OS och en 4 diskars RAID5 för VM:s.
MatsW
Apr 20 2012 15:03
Hur står skillnad är det på hastighet på raid10 gentemot en raid5? För det är inte så mycket plats som behövs, och med 4x600gb diskar så blir det ju iaf 1.2tb och det "borde" klara mitt företags behov kommande 3-4 år iaf.
Jag tycker det låter som en bra plan, RAID 1 på två diskar för OS och en RAID 10 med 4 diskar för dina VMs. Du får visserligen 600 GB mer utrymme med en RAID 5, men prestandan blir som tidigare nämnts betydligt sämre.
lensv
Apr 20 2012 15:15
JohanLysen
Apr 20 2012 15:47
Hur fel är det att använda alla 6 diskarna i RAID10 för att få loss all prestanda som finns tillgänglig och låta både OS och gäster ligga där?
Utan att veta bättre hade jag kört så får att få ut max av prylarna.
Känns det bättre att karva ut två LUN ur den arrayen så gör det (ett för OS, ett för gäster).
Om inte så kanske du vill skapa en OS partition och en Gäst partition på diskytan, även om det är finlir..
Nu får jag väl skit men...
Om du väljer "gratis/freeware" ESXi och kör det på en USB-sticka/SD-kort så får du loss alla sex diskarna till gästerna, även om du inte har USB/SD och installerar ESXi på diskarna du ska köra gästerna på så är det ingen stor grej.
Även jag föreslår RAID10 istället för RAID5 - det är väldigt sällan "rätt" med RAID5 när man pratar virituella miljöer då man ser till prestanda/pris-per-IOPS.
Gratis ESXi har en begränsning i att du max kan nyttja 32GB RAM till gästerna i övrigt så det kanske stoppar dina planer?
/Johan
Markus Lassfolk
Apr 20 2012 16:01
fantomen
Apr 20 2012 16:05
Jocke Bryttmar
Apr 20 2012 16:05
Hur fel är det att använda alla 6 diskarna i RAID10 för att få loss all prestanda som finns tillgänglig och låta både OS och gäster ligga där?
Utan att veta bättre hade jag kört så får att få ut max av prylarna.
Känns det bättre att karva ut två LUN ur den arrayen så gör det (ett för OS, ett för gäster).
Om inte så kanske du vill skapa en OS partition och en Gäst partition på diskytan, även om det är finlir..
Nu får jag väl skit men...
Om du väljer "gratis/freeware" ESXi och kör det på en USB-sticka/SD-kort så får du loss alla sex diskarna till gästerna, även om du inte har USB/SD och installerar ESXi på diskarna du ska köra gästerna på så är det ingen stor grej.
Även jag föreslår RAID10 istället för RAID5 - det är väldigt sällan "rätt" med RAID5 när man pratar virituella miljöer då man ser till prestanda/pris-per-IOPS.
Gratis ESXi har en begränsning i att du max kan nyttja 32GB RAM till gästerna i övrigt så det kanske stoppar dina planer?
/Johan
Ja detta var mitt förslag också. Jag ser ingen anledning att lägga OS'et på en egen volym i det här scenariot. En stor RAID10 för allt. Undvik RAID5.
Silverminken
Apr 21 2012 00:21
Alternativt, kanske skapa 2st Raid 0 och köra dem i en Raid 1, dvs en så kallad Raid10.
Du fick nog lite fel på 1 och 0 här. Det du beskriver är en såkallad Raid 01 som man INTE vill köra.
En raid 10 på 4 diskar börjar ju med att speglar diskarna i två par (två raid 1), sedan kör man en stripe (raid 0) på dessa speglingar.
Att göra tvärtom, så är riktigt dåligt, speciellt när antalet diskar ökar.
Anta att vi har många diskar, 20 stycken,
Om vi gör två stripe set om 10 diskar vardera, som vi sedan speglar, så händer följande när EN disk går sönder, då förlorar man sin spegling, detta då den ena stripen som helt saknar redundans är trasig, vilket gör att man nu är helt utan redundans! Om en till disk går sönder, så är risken att den sitter i den andra speglingen som fortfarande är hel, så är då risken 10/19 att det är en disk i den seglingen, dvs över 50% risk! (2/3 risk vid en raid 01 med 4 diskar)
Om vi nu gör tvärtom, vi skapar 10 speglingar, som vi sedan gör en stripe av, då om en disk går sönder, så går bara den aktuella speglingen sönder, vi har nu 19 diskar kvar, varav 18 har kvar sin redundans, om en disk till går sönder, så är det ju bara en 1/19 dels chans att den disken tillhör vår redan trasiga spegling... helt klart bättre odds. (1/3 risk vid en raid 10 med 4 diskar)
Finns det ett bättre svenskt namn för stripe?
John Hertell
Apr 21 2012 06:13
Man kan fortfarande plocka hem 4.1 utan problem som ju stödjer 256GB RAM. om minnet är ett problem. Så min rekommendation är med: in med VmWare ESXi och använd all diskyta till VMs.
i RAID-10 då. Supporterar burken mer än 32GB Ram.kör på vmware 4.1 annars 5.0. (fattar inte hur vmware tänker där. dom vill tydligen förlora marknadsandelar..
Markus Lassfolk
Apr 21 2012 07:13
En raid 10 på 4 diskar börjar ju med att speglar diskarna i två par (två raid 1), sedan kör man en stripe (raid 0) på dessa speglingar.
Var själv lite osäker på om det rätta namnet var Raid 0+1, Raid 1+0 eller Raid 10 så jag slog upp det här; http://sv.wikipedia..../wiki/Raid och ser nu när jag dubbelkollar ser jag att du så klart har alldeles rätt, det var 1+0 jag tänkte på initialt, men jag beskrev en 0+1 Raid.
För att försöka hålla hedern i behåll så ger jag mig på en väldigt halvhjärtad räddning att
Citat
Men du har ju så klart alldeles rätt i att i en större installation skulle det inte vara en bra lösning, då är en Raid 0+1 inte ett alternativ utan din korrekta beskrivning av Raid 10 är det som jag också förespråkar. Framförallt här om man ska köra det över alla 6 diskarna.
Googlade föresten lite mer och stötte på den här arikeln, som förvisso är 5 år gammal, men ändå visar på väldigt olika performance resultat mellan Raid5 och Raid10 jämfört med den som Ernefors visade.
http://www.zdnet.com...ance-report/484
lensv
Apr 21 2012 10:12
Finns det ett bättre svenskt namn för stripe?
Strajp
dodgy
Apr 21 2012 10:30
Tror jag följer den rekommendation de flesta verkar ha med att köra en stor raid10 och har allt på den.
Micke_80
Apr 21 2012 11:07
fantomen
Apr 21 2012 12:32
Jonas Forsberg
May 24 2012 16:34
Det är inte alltid så att man skall undvika RAID5, och givetvis är kostnad alltid en fråga när man väljer vilken RAID-nivå man skall köra på.
De frågor man skall ställa sig är:
- Villen typ av last kommer belasta denna RAID? (random/sequential)
- Hur mycket last
- Vilken läs/skriv ratio kommer det vara mot volymen?
- Hur viktig är informationen på volymen (nästan alltid VIKTIG!
)
- Hur möter jag ovanstående krav på mest kostnadseffektivt sätt?
Om budgeten inte räcker till att lösa kraven så måste kraven revideras och ändras.Det är inte heller sant att RAID10 alltid är bättre, vare sig på att skydda data eller när det kommer till prestanda.
Jag gör ett exempel på RAID10, RAID5 och RAID6 baserat på 10st hårddiskar för att förklara. Jag jämför också med att INTE köra RAID för att belysa vilken "overhead" och kostnad de olika typer av RAID har.
RAID10 (5+5)
Volym
50% kost av volymen eftersom varje datablock kommer att speglas på två diskar.
Skrivning
50% kost av skrivningsprestandan eftersom varje skrivning måste skickas till två diskar.
Läsning
50% kost av läsningar eftersom enbart hälften av diskarna kan vara med att leverera data när vi vill komma åt det igen.
RAID5 (9+1)
Volym
10% Kost eftersom volymen av en disk kommer gå åt för paritetsdata för att skydda os mot en potentiell trasig disk.
Skrivning
75% kost eftersom varje skrivning mot en RAID5 volym kommer att generera fyra stycken IO i bakplanet. Två IO för att läsa den gamla pariteten och det gamla datablocket samt två skrivningar för att skriva den nya pariteten och det nya datablocket.
Läsning
10% kost eftersom varje stripe i exempel RAID5 har 9st data chunks och 1 paritets chunk. Enbart data chunk:arna levererar prestanda vid läsning.
RAID6 (8+2)
Volym
20% kost eftersom volymen av två diskar går åt för paritetsdata för att skydda oss mot två trasiga diskar.
Skrivning
ca 83% kost eftersom varje skrivning mot en RAID6 volym kommer att generera sex stycken IO i bakplanet. tre IO för att läsa den gamla pariteten och det gamla datablocket samt tre skrivningar för att skriva den nya pariteten och det nya datablocket.
Läsning
20% kost eftersom varje stripe i exempel RAID6 har 8st data chunks och 2 paritets chunks. Enbart data chunk:arna levererar prestanda vid läsning.
Så har man en last som är majoriteten läsningar så är både RAID6 och RAID5 ett bättre alternativ för prestandaoptimering än vad RAID10 är.
Har man dessutom en majoritet av sekventiella skrivningar (i kombination med en någorlunda kompetent RAID-kontroller) så är RAID6 och RAID5 ett bättre alternativ än RAID10. De flesta bra RAID-kontrollers kan identifiera en sekventiell dataström och spara ett helt stripe-set i cache innan den skriver HELA stripe-settet (inklusive pariteten) mot disk. Det innebär att i exempelet ovan så är kostnaden för skrivningarna 10% för RAID5 samt 20% för RAID6 jämfört med RAID10 som hade 50%
Det finns dock andra saker som man måste ta hänsyn till när man väljer vilken RAID-nivå man skall ha.
Man skall aktivt välja bort RAID5 om man vill bygga ett RAID-set med många diskar eller om man har väldigt stora diskar.
- Har du många diskar i ett RAID5 så ökar risken att två diskar går sönder i samma raid-set och du kan inte återskapa din data. Eller att en disk går sönder när du kör rebuild på en trasig disk.
- Du skall också välja bort RAID5 om du kör stora diskar (över 600-900GB i storlek) eftersom du ökar sannorlikheten att du råkar ut för en "unrecoverable read error". Det innebär att RAID-kontrollern läser en bit fel utan att upptäcka detta, och skulle detta ske när du gör en rebuild så riskerar du förlora all data.
Slutligen, RAID6 är mer säkert än RAID10 eftersom RAID6 tillåter att vilka två diskar som helst går sönder i ditt RAID-set.RAID10 tillåter att fler diskar går sönder så länge det inte är två diskar i samma spegelpar.
SÃ¥, det finns ingen perfekt RAID.
Alla typer av RAID (ja, inklusive RAID4) har typer av last och tillämpningar som gör dem till perfekta för just den tillämpningen.
Just my 2 cents
This post has been promoted to an article
Markus Lassfolk
May 24 2012 16:55
men då försvann det första inlägget i tråden med frågan...