Ervaringen met unRAID?

Started by Bolle, November 24, 2010, 15:23:40

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

jowi

#525
Quote from: skank1 on July  2, 2012, 09:28:49
en toch is het zo, je mag de ganse disk laten crashen , hij zal hem volledig opbouwen
Ik wil het niet aannemen, ik wil het weten... want dit kan namelijk niet (of niet zo simpel) werken. Of het moet betekenen dat data niet fysiek op 1 schijf staat, maar toch 'verdeeld' wordt over de array... maar dat gaat in tegen de bewering dat individuele disks gewoon los te gebruiken zijn...

Ik denk dat het anders zit dan wat ze zeggen. Ik denk dat 1 disk mag 'crashen' in de zin dat ie een beperkt aantal fouten mag krijgen. unRAID zal om het ding te herstellen dan de data die nog goed is (!) gewoon copieren naar een andere disk in de array (!!) en de corrupte data herstellen met de parity data... als DAT gedaan is, kun je de schijf uitnemen en vervangen. En dan nog mag er maar een beperkte hoeveelheid data fout gaan, en moet je altijd vrije ruimte hebben ter grootte van de disk die fouten geeft. Iets anders kan ik me niet voorstellen.

Dat zou dus betekenen dat als een disk COMPLEET faalt, dus in 1x in zijn geheel niet meer werkt, alsof je hem fysiek uit de array trekt, voor unRAID ONHERSTELBAAR is.

De reden dat klasieke RAID werkt is omdat data niet op 1 schijf staat, maar verdeeld is over alle schijven. Simpel gezegd, een bestand van 6KB in een RAID array van 6 disks, heeft op elke disk 1KB staan, naast paritydata (de virtuele '7e' schijf). Als er dan een complete disk faalt, ben je van je 6KB bestand maar 1KB echt kwijt. In dat geval kun je met parity het hele ding (en dus de hele disk) herstellen. Zodra je NIET striped, gaat dat verhaal niet op...

Iemand die me uit kan leggen waarom ik het mis heb? Want ik MOET het mis hebben ;)

skank1

#526
Quote from: jowi on July  2, 2012, 10:03:23
Ik wil het niet aannemen, ik wil het weten... want dit kan namelijk niet (of niet zo simpel) werken. Of het moet betekenen dat data niet fysiek op 1 schijf staat, maar toch 'verdeeld' wordt over de array... maar dat gaat in tegen de bewering dat individuele disks gewoon los te gebruiken zijn...

Ik denk dat het anders zit dan wat ze zeggen. Ik denk dat 1 disk mag 'crashen' in de zin dat ie een beperkt aantal fouten mag krijgen. unRAID zal om het ding te herstellen dan de data die nog goed is (!) gewoon copieren naar een andere disk in de array (!!) en de corrupte data herstellen met de parity data... als DAT gedaan is, kun je de schijf uitnemen en vervangen. En dan nog mag er maar een beperkte hoeveelheid data fout gaan, en moet je altijd vrije ruimte hebben ter grootte van de disk die fouten geeft. Iets anders kan ik me niet voorstellen.

Dat zou dus betekenen dat als een disk COMPLEET faalt, dus in 1x in zijn geheel niet meer werkt, alsof je hem fysiek uit de array trekt, voor unRAID ONHERSTELBAAR is.

De reden dat klasieke RAID werkt is omdat data niet op 1 schijf staat, maar verdeeld is over alle schijven. Simpel gezegd, een bestand van 6KB in een RAID array van 6 disks, heeft op elke disk 1KB staan, naast paritydata (de virtuele '7e' schijf). Als er dan een complete disk faalt, ben je van je 6KB bestand maar 1KB echt kwijt. In dat geval kun je met parity het hele ding (en dus de hele disk) herstellen. Zodra je NIET striped, gaat dat verhaal niet op...

Iemand die me uit kan leggen waarom ik het mis heb?

Vraag het gewoon. Op unraidforum...
edit: Ik denk dat het inderdaad zo is dat de data verdeeld wordt...
zoals bij klassieke raid...


Je tekst hier:

Ik denk dat 1 disk mag 'crashen' in de zin dat ie een beperkt aantal fouten mag krijgen. unRAID zal om het ding te herstellen dan de data die nog goed is (!) gewoon copieren naar een andere disk in de array (!!) en de corrupte data herstellen met de parity data... als DAT gedaan is, kun je de schijf uitnemen en vervangen. En dan nog mag er maar een beperkte hoeveelheid data fout gaan, en moet je altijd vrije ruimte hebben ter grootte van de disk die fouten geeft. Iets anders kan ik me niet voorstellen.

Dat zou dus betekenen dat als een disk COMPLEET faalt, dus in 1x in zijn geheel niet meer werkt, alsof je hem fysiek uit de array trekt, voor unRAID ONHERSTELBAAR is.

Is het absoluut niet!
HT stijnopolis: Epson TW9300, Marantz sr7010, Custom 21:9 widescreen, Vero 4K, Fronts: Focal 826V, Center: Focal CC800V, Surrounds: Focal SR700 SurroundBacks: Focal 807V + Norstone stylum 2 stands.., Dual sub: SVS PC12SND-DSP/SVS Pb12+
Woonkamer setup: LG 4K Oled Tv 55C7V, Shield TV, Orange TV , JBL Bar 9.1
Gaming: : PS5, PS4, Nintendo Switch, Wii

jowi

#527
Nee, de data kan niet verdeeld worden, dan zou je een losse disk namelijk niet buiten de array kunnen gebruiken... en ze claimen dat dát wel kan. Je zou gewoon een disk uit de unRAID array moeten kunnen trekken en deze in een (windows) pc stoppen, en die kan gewoon de data lezen. Ik zal er wel eens naar vragen daar. Ik heb er naar gezocht maar ik kan niet echt een bevredigend antwoord vinden anders dan wat jij zegt 'het kan gewoon';)

Heb verder een boodschappenlijstje gemaakt voor de hardware van mijn beoogde 12 disk unRAID server. Kom ik toch nog op bijna 1000 euro... en dan heb ik echt geen dure spullen, maar wel goede. Dus unRIAD is niet echt goedkoper. Ok, een 12 disk Synology is 1200 euro, maar echt veel scheelt het niet.

skank1

even offtopic
ik haal nu met sabnzb 6,7 MB/s is dit +- gelijk aan 60 Mbps?
ik sla al die dingen door elkaar en kan het maar niet blijven onthouden
HT stijnopolis: Epson TW9300, Marantz sr7010, Custom 21:9 widescreen, Vero 4K, Fronts: Focal 826V, Center: Focal CC800V, Surrounds: Focal SR700 SurroundBacks: Focal 807V + Norstone stylum 2 stands.., Dual sub: SVS PC12SND-DSP/SVS Pb12+
Woonkamer setup: LG 4K Oled Tv 55C7V, Shield TV, Orange TV , JBL Bar 9.1
Gaming: : PS5, PS4, Nintendo Switch, Wii

jowi

1 byte = 8 bits... Dus 60 mega BITS per seconde zou ongeveer 7 mega BYTE per seconde zijn. Dus ja, die 6.7 is wel zo'n beetje maximaal, rekening houdend met wat overhead.

jowi

#530
Quote from: jowi on July  2, 2012, 10:03:23
Iemand die me uit kan leggen waarom ik het mis heb? Want ik MOET het mis hebben ;)
HA! Ik heb het mis! (uiteraard)... en ik weet nu hoe het werkt, het klopt inderaad :headbanging:
Typisch voorbeeld van 'once you see it, you'll shit bricks' :D het is supersimpel :D
Ik snap nu ook het belang van de pre-clearing... dat is ESSENTIEEL ;)

Automaat

Is het de moeite waard (en mogelijk natuurlijk) om e.e.a. hier duidelijk uit te leggen?
Reading the HTForum is learning every day!!

jowi

Oh jawel. Ik zal even iets voorbereiden.

Automaat

Reading the HTForum is learning every day!!

jowi

#534
Ok, hoe werkt unRAID :D

Eerst, ik probeer het principe uit te leggen, op een versimpelde manier. In het echt ligt het verhaal complexer dan ik het laat zien, laat dat duidelijk zijn! Maar ik denk dat het verhaal wel een aardig idee geeft hoe eea in zijn werk gaat. Ik geef als voorbeeld een unRAID server met 3 even grote disks, plus 1 parity disk, hier weergegeven als mooie vierkantjes.

Ten eerste, zodra je een unRAID systeem bouwt en installeert, moet je de disks gaan 'pre-clearen'. Dit is letterlijk het schrijven van '0' op ALLE locaties op de schijf. Dit lijkt onzinnig, maar je zult later zien dat dit essentieel is voor de werking, omdat het ALLE posities op de schijf test. Ook moet je je realiseren dat als je harddisk volgens je OS (windows, linux etc) 'leeg' is, er wel degelijk overal 1 en 0 staat, ze hebben echter geen betekenis voor het OS. Preclear maakt dus letterlijk de disks leeg door overal '0' te schrijven, en het is feitelijk een uitgebreide test. Als je disk tijdens/na pre-clear geen fouten geeft, is de kans erg groot dat je disk het jarenlang uit zal houden.



Zodra dat gedaan is, en unRAID loopt, gaan we wat bestanden neerzetten op deze enorme harde schijven (uiteraard eea weer simplistisch weergegeven):



Je ziet nu dat op de plekken waar we GEEN eigen bestanden neerzetten, overal nog steeds '0' staat. Ook zie je dat de parity nog leeg is, en in het echt zou deze nu ook al gevuld en aangemaakt zijn, maar omdat dit enige uitleg geeft, heb ik het even leeg gelaten. Als je nu, en dit is belangrijk, NIET naar de fysieke bestanden zou kijken, maar puur naar de data op de (data) disks, zou je iets dergelijks zien:



Je ziet hier dus dat ons test.zip bestand op harddisk niet meer is dan een verzameling '1' en '0'... ook is te zien dat een bestand niet verspreid staat over meerdere disks, maar gewoon in zijn geheel op 1 schijf. Dat is dan ook de reden dat we zo'n schijf gewoon uit de array kunnen trekken, en in een pc of mac kunnen stoppen, en dan gewoon kunnen lezen.

Maar goed, we hebben nog steeds geen 'parity'... hoe dat gebeurt, na de break, ik krijg een beetje honger :D

Is het tot zover duidelijk?

RonG


jowi

#536
Vervolg...

De truuk van unRAID is nu dat ze voor het bepalen van de parity, feitelijk een 'dwarsdoorsnede' maken van de data over ALLE schijven heen... zie de gele balk in de tekening. Ze kijken dus puur op 'low level' niveau naar de harddisk, en ze doen dat dus voor elke harddisk op DEZELFDE positie... vervolgens gaan ze, en nogmaals, dit is een versimpelde weergave, de parity bepalen door het aantal '1' te tellen die ze op alle disks op die plek tegenkomen. In ons voorbeeld zie je in de gele balk 0 + 0 + 1 staan, dus een ONEVEN aantal '1'. Voor een oneven aantal '1' schrijven we een '0' weg en voor een EVEN aantal '1' in zo'n rij, schrijven we een '1' weg als parity:



Dit wordt dus feitelijk 'realtime' gedaan door unRAID, zodra je bestanden op het volume plaatst. als je een bestand op positie X plaatst op disk 1, gaat unRAID vervolgens ook op positie X kijken op disk2, disk3, disk4 etc en bepaalt zo de 'parity' en schrijft deze weg.

En nu wordt het leuk :)

Stel, disk2 crashed en we weten niet meer op welke positie welke data stond:



Nu kunnen we eigenlijk heel simpel alle 'rijen' langs gaan om te bepalen wat er hoorde te staan. Neem weer de gele rij. Ook al hebben we de echte data van disk2 niet meer, we weten wel de data van disk1 en van disk3, en dat het totaal aan '1' in die rij, volgens de parity, een oneven aantal moet zijn 8) en aangezien we op die rij al een 0 en een 1 hebben, en het aantal '1' oneven moet zijn, MOET de missende data wel een '0' zijn :D



En zo doe je dat voor elke 'rij' aan data... en herstel je een complete disk, met een beetje parity :)

Zoals gezegd, dit is een versimpeld voorbeeld, in het echt worden er veel grotere en complexere XOR berekeningen op losgelaten met CRC checks, om te bepalen wat de data 'was'. In het echt ligt de boel dus veel complexer, maar het principe blijft.

unRAID kan dus niet alleen complete disks op deze wijze uit het 'niets' creeëren, maar ook on the fly read-errors corrigeren.

Beetje duidelijk zo?

Automaat

Ja, dit begrijp ik.
Lijkt een beetje op de oude truc vroeger met bankbiljetten uit het guldentijdperk: daar stond een heel lang getal op.
Dan ging je een weddenschap aan om een bankbiljet met een zekere waarde dat je kon raden welk getal iemand bij het opnoemen van alle getallen op 1 na had overgeslagen. Nu was de som van het totaal van de getallen (als ik me goed herinner) een veelvoud van 9. Dus simpel uit te rekenen welk getal er werd overgeslagen.
Reading the HTForum is learning every day!!

skank1

HT stijnopolis: Epson TW9300, Marantz sr7010, Custom 21:9 widescreen, Vero 4K, Fronts: Focal 826V, Center: Focal CC800V, Surrounds: Focal SR700 SurroundBacks: Focal 807V + Norstone stylum 2 stands.., Dual sub: SVS PC12SND-DSP/SVS Pb12+
Woonkamer setup: LG 4K Oled Tv 55C7V, Shield TV, Orange TV , JBL Bar 9.1
Gaming: : PS5, PS4, Nintendo Switch, Wii

jowi

#539
Quote from: skank1 on July  2, 2012, 20:08:09
En nu overtuigd?
Yep :) al zouden ze wat mij betreft dubbele parity disks mogen introduceren, zodat er 2 schijven mogen crashen... maar dat zal denk ik een te grote wissel op de performance trekken. Maar het is in de basis een simpel en daardoor fraai systeem, zeker voor onze hobby, audio en video in een beperkt publiek.

Ben wel een beetje huiverig voor overige dingen installeren... zo lees ik heel veel problemen met de squeezebox server plugin. Dat vind ik dan wel weer een groot nadeel, bij synology etc is het Logitech ZELF die gewoon een package bouwt, bij unraid ben je veel meer afhankelijk van gebruikers die iets in elkaar hacken... al kunnen die hele mooie dingen maken, hou me ten goede. Maar goed het is 'gewoon' een linux systeem dus zo heel anders dan andere linux systemen zal het toch ook niet zijn.

Wat ik verder een erg prettig idee vind is het feit dat elke schijf buiten de array gewoon te lezen is, en het energie plaatje. Bij RAID moeten ALLE schijven draaien, bij unRAID alleen de disk waar het bestand op staat. Dat gaat heel veel schelen in warmte, dus energie en levensduur denk ik...

Ik denk dat ik dan toch een unRAID machine ga bouwen :) en mocht het dan in de praktijk niet bevallen, dan is eea qua hardware ook wel weer door te verkopen, zo'n ramp is dat ook weer niet.

jowi

Nog wel een vraagje; kun je een unRAID machine ook scheduled in sleep mode zetten bijv. 's avonds en dan de volgende morgen weer aan laten springen? En dan in het weekend ook maar op iets andere tijdstippen? Dat soort dingen? En WOL, werkt dat nog een beetje? Of laten jullie de machine gewoon 24/7 draaien?

skank1

Ivm sleep moet je wel zien dat je mobo het kan, unraid ondersteunt zelf nog geen sleep maar het kan wel

Ik. Kan hem perfect laten slapen en wakker maken met wol, zelfs via dune
Of met de ipad
Ivm squeezebox, ik heb 0 problemen met de plugin!
HT stijnopolis: Epson TW9300, Marantz sr7010, Custom 21:9 widescreen, Vero 4K, Fronts: Focal 826V, Center: Focal CC800V, Surrounds: Focal SR700 SurroundBacks: Focal 807V + Norstone stylum 2 stands.., Dual sub: SVS PC12SND-DSP/SVS Pb12+
Woonkamer setup: LG 4K Oled Tv 55C7V, Shield TV, Orange TV , JBL Bar 9.1
Gaming: : PS5, PS4, Nintendo Switch, Wii

jowi

#542
Dat wil ik dus eigenlijk niet... het ding moet ook uit zichzelf aan en uit kunnen... daar zie je wel aan dat het toch een hoog hobby gehalte heeft...

Maar met wol, hoe snel is het ding weer up & running? Snapt de dune het dan ook allemaal? Ik moet met mijn dune ELKE keer als de pc uit is geweest, de dune shares verversen, anders ziet ie niks... komt je dat bekend voor?

skank1

Nee ik druk gewoon op een file en de server slaapt of is wakker binnen de 5 sec
HT stijnopolis: Epson TW9300, Marantz sr7010, Custom 21:9 widescreen, Vero 4K, Fronts: Focal 826V, Center: Focal CC800V, Surrounds: Focal SR700 SurroundBacks: Focal 807V + Norstone stylum 2 stands.., Dual sub: SVS PC12SND-DSP/SVS Pb12+
Woonkamer setup: LG 4K Oled Tv 55C7V, Shield TV, Orange TV , JBL Bar 9.1
Gaming: : PS5, PS4, Nintendo Switch, Wii

jowi

Quote from: skank1 on July  2, 2012, 20:53:08
Ivm squeezebox, ik heb 0 problemen met de plugin!
Da's goed nieuws :)

skank1

Met de dropbox plugin daarentegen ;) maar dat ligt zeker aan mij  :D
HT stijnopolis: Epson TW9300, Marantz sr7010, Custom 21:9 widescreen, Vero 4K, Fronts: Focal 826V, Center: Focal CC800V, Surrounds: Focal SR700 SurroundBacks: Focal 807V + Norstone stylum 2 stands.., Dual sub: SVS PC12SND-DSP/SVS Pb12+
Woonkamer setup: LG 4K Oled Tv 55C7V, Shield TV, Orange TV , JBL Bar 9.1
Gaming: : PS5, PS4, Nintendo Switch, Wii

jaco

Kun je met unraid makkelijk uitbreiden (als je de jusite licentie hebt)
Wat moet er dan gebeuren als je zeg maar 5 disks hebt, en een 6e en 7e er bij steekt.

Wordt dan alleen die parity opnieuw berekend ? ER hoeft geen data gemoved to worden omdat het normaal per disk opgeslagen is lijkt me.

Ik heb nog wel een stacker case, voeding en hot swap racks liggen.
Dan zou ik met een simple Moderbord/CPU/Ram en een licentie al een heel eind komen.

Ook heb ik nog een areca ARC-1300ix-16 liggen (SAS non raid) als die ondersteund zou worden heb je met 6 SATA interfaces op een mainbord een 22 poort server potentieel.
9.1.6 setup  Marantz AV10, Genelec G4 x9 voor base layer. Genelec G3 x6  voor hoogte kanalen. Genelec hts-4 subwoofer. VPL-XW5000ES. Screen Excelence enlightor 4k scherm

Rob_Dingen

#547
Hoi Jowi en Jaco

Jowi mijn setup gebruikt zo weinig dat snacht's uitzetten bijna niets uitmaakt.
Hier is mijn setup. http://www.htforum.nl/yabbse/index.php?topic=106749.msg1983168#msg1983168
Let ook goed op welke hardware je koopt want anders kun je best wel problemen krijgen dus bouw met spullen die hun daar aanraden ook wat betreft HDD.
Jaco schijven kun je zo toevoegen eerst preclearen en dan toevoegen en hij gebuild the parity disk.

Rob

jowi

#548
Bedankt Rob. Mooi mobo, maar ERG duur, bijna 200 euro... en maar 1 Pci slot, ik wil een 12 of 15 bay maken, dan heb je al gauw 2 sloten met Adaptec SATA controllers extra nodig, of gebruik jij zo'n 8 poorts SAS met SATA-breakout?

Overigens lees je veel gedoe rondom WOL. Er lijken niet veel mensen te zijn die WOL werkend hebben. Skank, wat voor mobo/cpu heb jij?

De hardware compatibility lijst is wel een beetje eeeh... antiek.. ze adviseren een Asus mobo uit 2007... kom op hee... moet zeggen dat ik niet echt het idee heb dat er heel veel activiteit is rondom unRAID. Zoeken naar recente mobo's en controller op het forum is ook zinloos, alleen maar ouwe meuk die achterhaald is of niet meer verkrijgbaar. Dat geeft je dan weer te denken... ik wil niet voor 1000 euro een ding in elkaar zetten wat het vervolgens niet goed doet of wat niet uit sleep wil komen ofzo... daar ga ik me kapot aan ergeren.

Rob_Dingen

Ik gebruik nu de 6 poorten van het MB en voeg straks een sata controler met 8 poorten toe dus in totaal 14 schijven.
Het is inderdaad niet goedkoop maar erg goed spul plus het MB is via netwerk altijd te benaderen ook als de server uit staat lekker makkelijk .

Rob