Raid: verschil tussen versies
(→RAID) |
|||
| (Een tussenliggende versie door dezelfde gebruiker niet weergegeven) | |||
| Regel 39: | Regel 39: | ||
De controller laat alle harde schijven zien aan het OS. Het OS gaat nu de raid doen. Dit werkt trager, maar heeft soms voordelen. We vinden het meestal terug in modernere OS'en | De controller laat alle harde schijven zien aan het OS. Het OS gaat nu de raid doen. Dit werkt trager, maar heeft soms voordelen. We vinden het meestal terug in modernere OS'en | ||
==raid clone== | ==klassiek: raid clone== | ||
De functionaliteit van de raid kaart wordt overgenomen door de CPU. Dit gaat altijd ten koste van performantie. | De functionaliteit van de raid kaart wordt overgenomen door de CPU. Dit gaat altijd ten koste van performantie. Veel NAS'sen durven grijpen naar dit schema omdat het de tands des tijds heeft doorstaan, maar de cpu moet veel doen om alle bewerkingen in orde te maken. Niet voor niets dat we hardware RAID hebben | ||
==ZFS== | ==modern: [https://en.wikipedia.org/wiki/ZFS ZFS] of [https://en.wikipedia.org/wiki/Btrfs btrfs]== | ||
Dit is een speciale categorie van raid omdat het eigenlijk ook een file systeem is. | Dit is een speciale categorie van raid omdat het eigenlijk ook een file systeem is. Zou je een bestandssysteem herdenken dan zou je eigenlijk niet je data zomaar overschrijven bij een save commando. Want stel dat het misloopt dan ben je het kwijt, moet je het herschijven en kan het OS even niet aan deze file. Laten we dus een andere manier bedenken. Ipv te overschrijven, schrijven we naar een lege plaats en pas als we zeker zijn dat alles goed geschreven is, wordt de pointer geupdate. Dit principe heet "copy-on-write". Het grote voordeel is dat je je totaal geen zorgen meer hoeft te maken dat de data corrupt wordt. Er zijn verschillende checks ingebouwd om te data-aging te voorkomen. | ||
===snapshots=== | |||
Een ander enorm voordeel dat je krijgt met deze manier van werken zijn snapshots. De naam zegt het zelf, "foto's" van de data. Door te werken met pointers kunnen eigenlijk de pointers heel gemakkelijk worden bijgehouden van een bepaald moment (en natuurlijk de achterliggende data). De snapshots gaan ook incrementeel kunnen zijn. | |||
===RAID-Z (alleen ZFS)=== | |||
ZFS wilt niet werken met raidcontrollers, als je dit systeem wilt bouwen, moet je ervoor zorgen dat de harde schijven rechtstreeks worden doorgestuurd naar het OS. Moderne RAID controllers kunnen in HBA mode gezet worden. RAID Z kan gebouw worden met een redundantie van 1, 2 of 3 schijven. | |||
==raid op het net== | ==raid op het net== | ||
*[https://www.youtube.com/watch?v=eE7Bfw9lFfs filmpje voor raid 0, 1 en 10] | *[https://www.youtube.com/watch?v=eE7Bfw9lFfs filmpje voor raid 0, 1 en 10] | ||
*[https://www.youtube.com/watch?v=1P8ZecG9iOI filmpje voor raid 5 of 6] | *[https://www.youtube.com/watch?v=1P8ZecG9iOI filmpje voor raid 5 of 6] | ||
Huidige versie van 7 feb 2019 om 11:35
RAID
Raid is het samen nemen van verschillende (zelfde type/grote) harde schijven tot 1 virtuele schijf. We gebruiken dit om de data te beschermen tegen het kapot gaan van de harde schijven (behalve met raid 0). Dit kan gebeuren met hardware of met software. Er zijn ook nog tussenliggende RAID (RAID 2, 3 en 4), maar deze komen hier niet aan bod.
raid 0 (0 reserve)
Een file wordt in stukken verdeeld en weggeschreven op de harde schijven (stuk 1 => HDD1, stuk 2 => HDD2, stuk3 => HDD1 of 3, ...). Er worden geen kopieën bijgehouden. Dit komt de performantie ten goede omdat de stukken tegelijk kunnen worden weggeschreven.
Dit wordt ook wel een stripen genoemd.
raid 1 (1 kopie)
De file wordt weer in stukken verdeeld en elk stuk wordt op alle harde schijven opgeslagen (stuk 1 => HDD1, stuk 1 => HDD2,...). Nu zijn er altijd kopieën, maar dit komt de performantie niet ten goede, maar je bent wel heel zeker dat je file in orde blijft.
Dit wordt ook mirroring genoemd.
raid 5
Raid 5 werkt pas vanaf 3 of meer harde schijven en de file wordt wiskundig in 3 stukken verdeeld. 2 stukken zoals raid 0 voor snelheid en een derde stuk waarmee je altijd het andere stuk van de file kan berekenen. In een gezonde raid 5 array, worden de stukken van de file gelezen, maar als een harde schijf kapot gaat, wordt het derde stuk gebruikt om de file volledig te maken. Als een harde schijf kapot is gegaan en je vervangt deze moet de array herberekenen (rebuilden).
raid 6
dit werkt kwa principe hetzelfde als raid 5, alleen mogen er 2 schijven kapot gaan vooraleer je data verliest, je hebt ook minimum 4 schijven nodig. Ook werk RAID 6 veel beter voor grotere en performantere systemen. Eigenlijk zou je RAID 6 moeten verkiezen boven RAID 5
raid 10, 50 of 60
Dit zijn combinaties van 2 raid arrays (nested arrays). Het eerste cijfer geeft aan welke raid je gebruikt op de harde schijven en het tweede cijfer geeft aan met welke raid je de arrays combineerd. Dit is meestal 0 voor performantie.
- raid 10: is een zeer eenvoudige (geen speciale hardware) manier om 4 schijven veilig te combineren
- raid 50/60: al iets complexere manier om schijven te combineren...
Dit kan ook misgaan: filmpje van linus tech tips en de les die je leert: RAID is geen backup.
hardware raid
Dit heeft altijd een controller nodig (kan ook op het moederbord zitten). Typisch is dat het OS maar 1 harde schijf ziet. De controller wordt best van een batterij voorzien omdat bij stroomuitval de controller nog de buffer moet wegschrijven. Soms kan het zijn dat je een driver nodig hebt om de harde schijf te zien. Stel dat je graag je storage virtualiseert, kan je de raid kaart passthroughen naar de VM zo heeft de NAS 100% controle over de harde schijven.
externe controller
Via een uitbreidingskaart, worden de harde schijven aangesloten. Spijtig genoeg, hoe duurder, hoe beter. Bij het booten van het systeem krijg je de optie om via een toestencombinatie in de configuratie te gaan. Dit is afhankelijk van merk tot merk. Soms kunnen deze kaarten in HBA mode gezet worden waardoor de harde schijven rechtstreeks worden doorgegeven aan het OS.
onboard controller
Alle moederborden hebben een soort van raid controller (ook laptop's). Vaak zijn dit magere varianten die ook een stuk steunen op de CPU en RAM van het systeem en eigenlijk een software raid zijn. Heel vaak hebben deze kaarten ook geen batterij waardoor ze alle bewerkingen onmiddellijk wegschrijven op de harde schijven en bijgevolg minder performant zijn.
software raid
De controller laat alle harde schijven zien aan het OS. Het OS gaat nu de raid doen. Dit werkt trager, maar heeft soms voordelen. We vinden het meestal terug in modernere OS'en
klassiek: raid clone
De functionaliteit van de raid kaart wordt overgenomen door de CPU. Dit gaat altijd ten koste van performantie. Veel NAS'sen durven grijpen naar dit schema omdat het de tands des tijds heeft doorstaan, maar de cpu moet veel doen om alle bewerkingen in orde te maken. Niet voor niets dat we hardware RAID hebben
modern: ZFS of btrfs
Dit is een speciale categorie van raid omdat het eigenlijk ook een file systeem is. Zou je een bestandssysteem herdenken dan zou je eigenlijk niet je data zomaar overschrijven bij een save commando. Want stel dat het misloopt dan ben je het kwijt, moet je het herschijven en kan het OS even niet aan deze file. Laten we dus een andere manier bedenken. Ipv te overschrijven, schrijven we naar een lege plaats en pas als we zeker zijn dat alles goed geschreven is, wordt de pointer geupdate. Dit principe heet "copy-on-write". Het grote voordeel is dat je je totaal geen zorgen meer hoeft te maken dat de data corrupt wordt. Er zijn verschillende checks ingebouwd om te data-aging te voorkomen.
snapshots
Een ander enorm voordeel dat je krijgt met deze manier van werken zijn snapshots. De naam zegt het zelf, "foto's" van de data. Door te werken met pointers kunnen eigenlijk de pointers heel gemakkelijk worden bijgehouden van een bepaald moment (en natuurlijk de achterliggende data). De snapshots gaan ook incrementeel kunnen zijn.
RAID-Z (alleen ZFS)
ZFS wilt niet werken met raidcontrollers, als je dit systeem wilt bouwen, moet je ervoor zorgen dat de harde schijven rechtstreeks worden doorgestuurd naar het OS. Moderne RAID controllers kunnen in HBA mode gezet worden. RAID Z kan gebouw worden met een redundantie van 1, 2 of 3 schijven.