- Inleiding
- RAID
- Kardinale kenmerken van Software RAID. Bron (access.redhat.com)
- LVM
- Voordelen van LVM boven fysische partities. Bron (access.redhat.com)
- Flexibele capaciteit
- Vergrootbare opslagpools
- Online verplaatsing van gegevens
- Gemakkelijke apparaatnaamgeving
- Disk striping
- Mirroring volumes
- Volume Snapshots
- ZFS
- Features of ZFS
- RAID-Z
- Redundantie
- Spare
- L2ARC
- Mirroring
- SSD Hybride Storage Pools
- Copy on Write
- Checksum
- Conclusies
Inleiding
Als het op opslag aankomt, is de kans groot dat uw hoofd een beetje in de war raakt door de vele opties en tonnen terminologieën die zich in die arena bevinden. Waarom kunnen we niet gewoon een schijf op de host aansluiten en het een dag noemen? Dat was een van mijn frustraties, tot ik de essentie van alle bestaande technologieën inzag. De problemen die storage je als systeembeheerder of Engineer oplevert, zullen je de verschillende technologieën doen waarderen die zijn ontwikkeld om ze te helpen beperken en oplossen.
In dit korte artikel gaan we kijken naar RAID, Logical Volume Manager (LVM) en ZFS technologieën. We zullen onderzoeken hoe ze het best kunnen worden geïmplementeerd en wat hun verschillen zijn. Welkom en blijf op de hoogte.
Vergelijk: Ext4 vs XFS – Welke te kiezen
RAID
RAID staat voor Redundant Array of Independent Disks. Het is in principe ontwikkeld om vele goedkope en kleine schijven in een array te combineren om zo redundantiedoelen te realiseren. Redundantie kan niet worden bereikt door één enorme schijf in uw project te pluggen. Ook al bestaat de array uit meerdere schijven, de computer “ziet” het als één schijf of één enkele logische opslageenheid, wat nogal verbazingwekkend is.
Met technieken als disk striping (RAID Level 0), disk mirroring (RAID Level 1), en disk striping met pariteit (RAID Level 5), is RAID in staat om redundantie, lagere latency, verhoogde bandbreedte, en gemaximaliseerd vermogen om te herstellen van harde schijf crashes te bereiken.
De belangrijkste redenen waarom u zou moeten overwegen RAID in te zetten in uw projecten waarin grote hoeveelheden gegevens worden beheerd, zijn onder meer de volgende:
- Het bereiken van betere snelheden
- Verhoogt de opslagcapaciteit met behulp van een enkele virtuele schijf
- Minimaliseert gegevensverlies door schijfstoring. Afhankelijk van uw RAID type, zult u in staat zijn om redundantie te bereiken die u later zal redden in geval van incidenten van gegevensverlies.
Deze RAID technologie komt in drie smaken: Firmware RAID, Hardware RAID en Software RAID. Hardware RAID behandelt zijn arrays onafhankelijk van de host en presenteert de host nog steeds een enkele schijf per RAID array. Er wordt gebruik gemaakt van een Hardware RAID-controller-kaart die de RAID-taken transparant uitvoert voor het besturingssysteem. Software RAID daarentegen implementeert de verschillende RAID-niveaus in de kernel disk (block device) code en biedt de goedkoopst mogelijke oplossing, aangezien dure disk controller cards of hot-swap chassis niet nodig zijn. Er zijn snellere CPU’s in het huidige tijdperk, daarom presteert Software RAID over het algemeen beter dan Hardware RAID.
Kardinale kenmerken van Software RAID. Bron (access.redhat.com)
- Draagbaarheid van arrays tussen Linux machines zonder reconstructie
- Array reconstructie in de achtergrond met gebruik van ongebruikte systeembronnen
- Hot-swappable drive support
- Automatische CPU detectie om voordeel te halen uit bepaalde CPU features zoals streaming SIMD support
- Automatische correctie van slechte sectoren op schijven in een array
- Regelmatige consistentie controles van RAID data om de gezondheid van de array te verzekeren
- Proactieve monitoring van arrays met email alerts die naar een aangewezen email adres worden gestuurd bij belangrijke gebeurtenissen
- Schrijf-intent bitmaps die de snelheid van resync gebeurtenissen drastisch verhogen door de kernel in staat te stellen precies te weten welke delen van een schijf geresynchroniseerd moeten worden in plaats van de hele array te moeten resyncen
LVM
Hier komt de mooie Logical Volume Manager. Wat LVM mooi doet, is het idee van individuele schijven abstraheren en u als beheerder toestaan om “stukken” ruimte af te snijden om als schijven te gebruiken. Het laat u toe om zoveel fysieke schijven op uw individueel systeem aan te sluiten en dan flexibel uw logische volumes te vergroten en verkleinen op uw live host. Je kan in de toekomst andere fysieke schijven toevoegen en je ruimte uitbreiden zonder te herformatteren of je zorgen te maken over het stoppen van toepassingen of het unmounten van bestandssystemen of het afsluiten van je host. Dit soort flexibiliteit maakt het werken met LVM zo’n vlot proces.
Voordelen van LVM boven fysische partities. Bron (access.redhat.com)
Flexibele capaciteit
Bij gebruik van logische volumes kunnen bestandssystemen zich over meerdere schijven uitstrekken, omdat u schijven en partities kunt samenvoegen tot een enkel logisch volume.
Vergrootbare opslagpools
U kunt logische volumes uitbreiden of logische volumes verkleinen met eenvoudige softwareopdrachten, zonder de onderliggende schijfapparaten opnieuw te formatteren en te partitioneren.
Online verplaatsing van gegevens
Om nieuwere, snellere of veerkrachtigere opslagsubsystemen te implementeren, kunt u gegevens verplaatsen terwijl uw systeem actief is. Gegevens kunnen op schijven worden herschikt terwijl de schijven in gebruik zijn. U kunt bijvoorbeeld een hot-swappable schijf leegmaken voordat u deze verwijdert.
Gemakkelijke apparaatnaamgeving
Logische opslagvolumes kunnen worden beheerd in door de gebruiker gedefinieerde groepen en groepen met aangepaste namen.
Disk striping
U kunt een logisch volume maken dat gegevens over twee of meer schijven striped. Dit kan de doorvoer drastisch verhogen. Het specificeren van de stripe configuratie gebeurt bij het aanmaken van het Logisch Volume met lvcreate
Mirroring volumes
Logische volumes bieden een handige manier om een mirror voor uw gegevens te configureren. Hoewel LVM dit in het verleden niet van nature ondersteunde, bieden recente versies dit wel.
Volume Snapshots
Met logische volumes kan U snapshots maken voor consistente backups of het effect van wijzigingen testen zonder de echte data te beïnvloeden.
Het enige verschil tussen RAID en LVM is dat LVM geen opties voor redundantie of pariteit biedt die RAID wel biedt.
ZFS
ZFS is oorspronkelijk ontwikkeld door Sun Microsystems voor Solaris (eigendom van Oracle), maar is geport naar Linux.
ZFS is fundamenteel anders in deze arena omdat het meer is dan alleen een bestandssysteem. ZFS combineert de rol van bestandssysteem en volumebeheerder, waardoor extra opslagapparaten aan een live systeem kunnen worden toegevoegd en de nieuwe ruimte onmiddellijk beschikbaar is op alle bestaande bestandssystemen in die pool. Het doet wat LVM en RAID doen in één pakket. Daarom is ZFS in staat eerdere beperkingen te overwinnen die verhinderden dat RAID-groepen konden groeien. Het combineren van de traditioneel gescheiden rollen van volume manager en bestandssysteem geeft ZFS een unieke set van voordelen.
Traditioneel konden bestandssystemen op een enkele schijf tegelijk worden aangemaakt. Dit betekent dat als er twee schijven waren, er twee bestandssystemen zouden moeten worden aangemaakt. RAID omzeilde dit probleem door het besturingssysteem een enkele logische schijf voor te stellen, bestaande uit de ruimte die werd geboden door de combinatie van vele fysieke schijven. Het besturingssysteem plaatste er vervolgens een bestandssysteem bovenop. Maar met ZFS is het bestandssysteem zich bewust van de onderliggende schijfstructuur. Deze bewustwording maakt de automatische groei van het bestaande bestandssysteem mogelijk wanneer extra schijven aan de pool worden toegevoegd. Bovendien kan in ZFS een aantal verschillende eigenschappen worden toegepast op elk bestandssysteem, vandaar de mogelijkheid om een aantal verschillende bestandssystemen en datasets te maken in plaats van een enkel monolithisch bestandssysteem.
Features of ZFS
RAID-Z
ZFS implementeert RAID-Z, een variatie op standaard RAID-5 die een betere verdeling van pariteit biedt en het “RAID-5 write hole” elimineert waarin de gegevens en pariteitsinformatie inconsistent worden in geval van stroomuitval.
Redundantie
Redundantie is mogelijk in ZFS omdat het drie niveaus van RAID-Z ondersteunt. De types worden RAID-Z1 tot RAID-Z3 genoemd, gebaseerd op het aantal pariteitsapparaten in de array en het aantal schijven dat kan falen terwijl de pool operationeel blijft.
Spare
ZFS heeft een speciaal pseudo-vdev type voor het bijhouden van beschikbare hot spares. Merk op dat geïnstalleerde hot spares niet automatisch worden ingezet; ze moeten handmatig worden geconfigureerd om het defecte apparaat te vervangen met zfs replace.
L2ARC
Dit is het tweede niveau van het ZFS caching systeem. De primaire Adaptive Replacement Cache (ARC) is opgeslagen in RAM. Aangezien de hoeveelheid beschikbaar RAM vaak beperkt is, kan ZFS ook cache vdevs gebruiken (een enkele schijf of een groep schijven). Solid State Disks (SSDs) worden vaak gebruikt als deze cache devices vanwege hun hogere snelheid en lagere latency
Mirroring
Een mirror bestaat uit twee of meer devices en alle data zal naar alle aangesloten devices geschreven worden. Een mirror vdev zal slechts zoveel gegevens bevatten als zijn kleinste lid. Een mirror vdev kan het falen van alle leden op één na weerstaan zonder data te verliezen.
SSD Hybride Storage Pools
Hoog presterende SSD’s kunnen worden toegevoegd aan de ZFS storage pool om een hybride soort pool te maken. Deze goed presterende SSD’s kunnen worden geconfigureerd als een cache om vaak geraadpleegde gegevens te bewaren om de prestaties te verbeteren.
Copy on Write
De Copy on Write techniek wordt door ZFS gebruikt om de consistentie van de gegevens op de schijven te controleren.
Checksum
Elk blok dat wordt toegewezen, wordt gecontroleerd met de checksum-algoritme fletcher2, fletcher4, sha25) van de eigenschappen per dataset. De controlesom van elk blok wordt transparant gevalideerd terwijl het wordt gelezen, zodat ZFS stille corruptie kan detecteren. In het geval dat de gelezen gegevens niet overeenkomen met de verwachte controlesommen. ZFS probeert de gegevens te herstellen via geconfigureerde redundantie zoals mirror of RAID-Z.
Meer informatie over ZFS: https://www.freebsd.org/doc/handbook/zfs-term.html
Conclusies
Er is nog veel meer te vinden over ZFS, RAID, en LVM. Ik hoop dat u een goede basis hebt gelegd voor wat betreft deze drie technologieën en dat u er een kunt kiezen die bij uw project past. Bedankt voor het doorlezen.
Ook lezen:
Hoe een ext2/3/4 en XFS root partitie te vergroten zonder LVM
Hoe LVM op te zetten
Hoe het root bestandssysteem uit te breiden met LVM op Linux
Hoe uit te breiden/te vergroten KVM Virtual Machine (VM) schijfgrootte
Beste Linux Boeken voor Beginners & Experts