Geneste tolerantie voor Opslagruimten Direct
Van toepassing op: Azure Stack HCI, versies 22H2 en 21H2; Windows Server 2022 en Windows Server 2019
Belangrijk
Azure Stack HCI maakt nu deel uit van Azure Local. De naam van productdocumentatie wordt nog steeds bijgewerkt. Oudere versies van Azure Stack HCI, bijvoorbeeld 22H2, blijven verwijzen naar Azure Stack HCI en geven de naamwijziging niet weer. Meer informatie.
Geneste tolerantie is een mogelijkheid van Opslagruimten Direct in Azure Stack HCI en Windows Server. Hiermee kan een cluster met twee servers tegelijkertijd bestand zijn tegen meerdere hardwarefouten zonder verlies van opslagbeschikbaarheid, zodat gebruikers, apps en virtuele machines zonder onderbreking kunnen blijven werken. In dit artikel wordt uitgelegd hoe geneste tolerantie werkt, stapsgewijze instructies biedt om aan de slag te gaan en de meest gestelde vragen te beantwoorden.
Voordat u begint
Overweeg geneste tolerantie als:
- Uw cluster voert een van deze besturingssystemen uit: Azure Stack HCI, versie 21H2, Azure Stack HCI, versie 20H2, Windows Server 2022 of Windows Server 2019; en
- Uw cluster heeft precies twee serverknooppunten.
U kunt geneste tolerantie niet gebruiken als:
- Uw cluster voert Windows Server 2016 uit; of
- Uw cluster heeft slechts één serverknooppunt of heeft drie of meer serverknooppunten.
Waarom geneste tolerantie
Volumes die gebruikmaken van geneste tolerantie, kunnen online blijven en toegankelijk blijven, zelfs als er tegelijkertijd meerdere hardwarefouten optreden, in tegenstelling tot klassieke tolerantie voor spiegeling in twee richtingen . Als bijvoorbeeld twee stations tegelijkertijd mislukken of als een server uitvalt en een station uitvalt, blijven volumes die gebruikmaken van geneste tolerantie online en toegankelijk. Voor hypergeconvergeerde infrastructuur verhoogt dit de uptime voor apps en virtuele machines; voor bestandsserverworkloads betekent dit dat gebruikers ononderbroken toegang hebben tot hun bestanden.
De afweging is dat geneste tolerantie een lagere capaciteitsefficiëntie heeft dan klassieke spiegeling in twee richtingen, wat betekent dat u iets minder bruikbare ruimte krijgt. Zie de sectie Capaciteitsefficiëntie in de volgende sectie voor meer informatie.
Hoe het werkt
Deze sectie bevat de achtergrond van geneste tolerantie voor Opslagruimten Direct en beschrijft de twee nieuwe tolerantieopties en hun capaciteitsefficiëntie.
Inspiratie: RAID 5+1
RAID 5+1 is een gevestigde vorm van gedistribueerde opslagtolerantie die nuttige achtergrond biedt voor inzicht in geneste tolerantie. In RAID 5+1, binnen elke server, wordt lokale tolerantie geleverd door RAID-5 of één pariteit, om te beschermen tegen het verlies van een enkele schijf. Vervolgens wordt verdere tolerantie geboden door RAID-1, of spiegeling in twee richtingen, tussen de twee servers om te beschermen tegen het verlies van een van beide servers.
Opties voor tolerantie
Opslagruimten Direct in Azure Stack HCI en Windows Server biedt twee tolerantieopties die zijn geïmplementeerd in software, zonder dat speciale RAID-hardware nodig is:
Geneste spiegel in twee richtingen. Binnen elke server wordt lokale tolerantie geboden door spiegeling in twee richtingen en vervolgens wordt verdere tolerantie geboden door spiegeling in twee richtingen tussen de twee servers. Het is in wezen een spiegel in vier richtingen, met twee kopieën op elke server die zich op verschillende fysieke schijven bevinden. Geneste spiegeling in twee richtingen biedt onpromitterende prestaties: schrijfbewerkingen gaan naar alle kopieën en leesbewerkingen zijn afkomstig van elke kopie.
Geneste pariteit met versnelling op basis van spiegeling. Combineer geneste spiegeling in twee richtingen, uit de vorige afbeelding, met geneste pariteit. Binnen elke server wordt lokale tolerantie voor de meeste gegevens geboden door rekenkundige berekeningen met één bitsgewijze pariteit, met uitzondering van nieuwe recente schrijfbewerkingen die gebruikmaken van spiegeling in twee richtingen. Vervolgens wordt verdere tolerantie voor alle gegevens geboden door spiegeling in twee richtingen tussen de servers. Nieuwe schrijfbewerkingen naar het volume gaan naar het gespiegelde deel met twee kopieën op afzonderlijke fysieke schijven op elke server. Als het gespiegelde deel van het volume op elke server wordt gevuld, worden de oudste gegevens geconverteerd en opgeslagen in het pariteitsonderdeel op de achtergrond. Als gevolg hiervan heeft elke server de gegevens voor het volume in twee richtingen of in één pariteitsstructuur. Dit is vergelijkbaar met de werking van pariteit met versnelling op basis van spiegeling. Het verschil is dat pariteit met versnelling met spiegeling vier servers in het cluster en de opslaggroep vereist en een ander pariteitsalgoritmen gebruikt.
Capaciteitsefficiëntie
Capaciteitsefficiëntie is de verhouding tussen bruikbare ruimte en volumevoetafdruk. Hierin wordt de capaciteitsoverhead beschreven die toe te schrijven is aan tolerantie en is afhankelijk van de tolerantieoptie die u kiest. Als eenvoudig voorbeeld is het opslaan van gegevens zonder tolerantie 100% efficiënt (1 TB aan gegevens neemt 1 TB fysieke opslagcapaciteit in beslag), terwijl spiegeling in twee richtingen 50% efficiënt is (1 TB aan gegevens neemt 2 TB fysieke opslagcapaciteit in beslag).
Geneste spiegel in twee richtingen schrijft vier kopieën van alles. Dit betekent dat u voor het opslaan van 1 TB aan gegevens 4 TB aan fysieke opslagcapaciteit nodig hebt. Hoewel de eenvoud aantrekkelijk is, is de capaciteitsefficiëntie van geneste spiegel in twee richtingen van 25% het laagste van elke tolerantieoptie in Opslagruimten Direct.
Geneste gespiegelde pariteit bereikt een hogere capaciteitsefficiëntie, ongeveer 35%-40%, die afhankelijk is van twee factoren: het aantal capaciteitsstations op elke server en de combinatie van spiegeling en pariteit die u voor het volume opgeeft. Deze tabel bevat een zoekactie voor algemene configuraties:
Capaciteitsstations per server 10% spiegel 20% spiegel 30% spiegel 4 35.7% 34.1% 32.6% 5 37.7% 35.7% 33.9% 6 39.1% 36.8% 34.7% 7+ 40.0% 37.5% 35.3% Hier volgt een voorbeeld van de volledige wiskunde. Stel dat er zes capaciteitsstations op elk van twee servers zijn en dat we één volume van 100 GB willen maken dat bestaat uit 10 GB aan spiegeling en 90 GB pariteit. Server-lokale spiegel in twee richtingen is 50,0% efficiënt, wat betekent dat de 10 GB aan gespiegelde gegevens 20 GB kost om op elke server op te slaan. Gespiegeld aan beide servers is de totale footprint 40 GB. Server-lokale enkele pariteit, in dit geval, is 5/6 = 83,3% efficiënt, wat betekent dat de 90 GB pariteitsgegevens 108 GB nodig hebben om op elke server op te slaan. Gespiegeld aan beide servers is de totale footprint 216 GB. De totale footprint is dus [(10 GB / 50,0%) + (90 GB / 83,3%)] × 2 = 256 GB, voor 39,1% totale capaciteitsefficiëntie.
U ziet dat de capaciteitsefficiëntie van klassieke spiegeling in twee richtingen (ongeveer 50%) en geneste pariteit met spiegeling (tot 40%) niet erg verschillen. Afhankelijk van uw vereisten kan de iets lagere capaciteitsefficiëntie de aanzienlijke toename van de beschikbaarheid van opslagruimte waard zijn. U kiest tolerantie per volume, zodat u geneste tolerantievolumes en klassieke tweerichtingsspiegelvolumes binnen hetzelfde cluster kunt combineren.
Geneste tolerantievolumes maken
U kunt vertrouwde opslag-cmdlets in PowerShell gebruiken om volumes met geneste tolerantie te maken, zoals beschreven in de volgende sectie.
Stap 1: Opslaglaagsjablonen maken (alleen Windows Server 2019)
Voor Windows Server 2019 moet u nieuwe opslaglaagsjablonen maken met behulp van de New-StorageTier
cmdlet voordat u volumes maakt. U hoeft dit slechts één keer te doen en vervolgens kan elk nieuw volume dat u maakt verwijzen naar deze sjablonen.
Notitie
Als u Windows Server 2022, Azure Stack HCI 21H2 of Azure Stack HCI 20H2 gebruikt, kunt u deze stap overslaan.
Geef de -MediaType
capaciteitsstations en desgewenst de -FriendlyName
gewenste schijf op. Wijzig geen andere parameters.
Als uw capaciteitsstations bijvoorbeeld harde schijven (HDD) zijn, start u PowerShell als administrator en voert u de volgende cmdlets uit.
Ga als volgende te werk om een NestedMirror-laag te maken:
New-StorageTier -StoragePoolFriendlyName S2D* -FriendlyName NestedMirrorOnHDD -ResiliencySettingName Mirror -MediaType HDD -NumberOfDataCopies 4
Een NestedParity-laag maken:
New-StorageTier -StoragePoolFriendlyName S2D* -FriendlyName NestedParityOnHDD -ResiliencySettingName Parity -MediaType HDD -NumberOfDataCopies 2 -PhysicalDiskRedundancy 1 -NumberOfGroups 1 -FaultDomainAwareness StorageScaleUnit -ColumnIsolation PhysicalDisk
Als uw capaciteitsstations ssd's (Solid-State Drives) zijn, stelt u in plaats daarvan het -MediaType
SSD
in en wijzigt u het -FriendlyName
in *OnSSD
. Wijzig geen andere parameters.
Tip
Get-StorageTier
Controleer of de lagen zijn gemaakt.
Stap 2: Geneste volumes maken
Maak nieuwe volumes met behulp van de New-Volume
cmdlet.
Geneste spiegel in twee richtingen
Als u geneste spiegel in twee richtingen wilt gebruiken, verwijst u naar de
NestedMirror
laagsjabloon en geeft u de grootte op. Voorbeeld:New-Volume -StoragePoolFriendlyName S2D* -FriendlyName Volume01 -StorageTierFriendlyNames NestedMirrorOnHDD -StorageTierSizes 500GB
Als uw capaciteitsstations ssd's (Solid-State Drives) zijn, wijzigt u
-StorageTierFriendlyNames
in*OnSSD
.Geneste pariteit met gespiegelde versnelling
Als u geneste pariteit met gespiegelde spiegeling wilt gebruiken, verwijst u naar zowel de sjablonen als
NestedParity
deNestedMirror
laag en geeft u twee grootten op, één voor elk deel van het volume (spiegel eerst, pariteits tweede). Als u bijvoorbeeld een volume van 500 GB wilt maken dat 20% is genest in twee richtingen en 80% geneste pariteit, voert u het volgende uit:New-Volume -StoragePoolFriendlyName S2D* -FriendlyName Volume02 -StorageTierFriendlyNames NestedMirrorOnHDD, NestedParityOnHDD -StorageTierSizes 100GB, 400GB
Als uw capaciteitsstations ssd's (Solid-State Drives) zijn, wijzigt u
-StorageTierFriendlyNames
in*OnSSD
.
Stap 3: Doorgaan in het Windows-beheercentrum
Volumes die gebruikmaken van geneste tolerantie worden weergegeven in het Windows-beheercentrum met duidelijke labels, zoals in de volgende schermopname. Zodra ze zijn gemaakt, kunt u ze beheren en bewaken met behulp van het Windows-beheercentrum, net als elk ander volume in Opslagruimten Direct.
Optioneel: uitbreiden naar cachestations
Met de standaardinstellingen beschermt geneste tolerantie tegen het verlies van meerdere capaciteitsstations tegelijk, of één server en één capaciteitsstation tegelijk. Om deze beveiliging uit te breiden naar cachestations, is er nog een andere overweging: omdat cachestations vaak lees- en schrijfcache bieden voor meerdere capaciteitsstations, is de enige manier om ervoor te zorgen dat u het verlies van een cachestation tolereert wanneer de andere server niet in de cache schrijft, maar dat van invloed is op de prestaties.
Om dit scenario aan te pakken, biedt Opslagruimten Direct de mogelijkheid om schrijfcaching automatisch uit te schakelen wanneer één server in een cluster met twee servers is uitgeschakeld en schrijfcache vervolgens opnieuw inschakelen zodra de server een back-up heeft. Om routine opnieuw opstarten zonder invloed op de prestaties toe te staan, wordt schrijfcache pas uitgeschakeld nadat de server 30 minuten offline is geweest. Zodra schrijfcache is uitgeschakeld, wordt de inhoud van de schrijfcache naar capaciteitsapparaten geschreven. Hierna kan de server een mislukt cacheapparaat op de onlineserver tolereren, hoewel leesbewerkingen uit de cache mogelijk worden vertraagd of mislukken als een cacheapparaat mislukt.
Notitie
Voor een fysiek systeem met alle caches (één mediatype) hoeft u niet te overwegen om schrijfcaching automatisch uit te schakelen wanneer één server in een cluster met twee servers uitvalt. U moet dit alleen overwegen met de SBL-cache (Storage Bus Layer), die alleen vereist is als u HDD's gebruikt.
(Optioneel) Als u schrijfcaching automatisch wilt uitschakelen wanneer één server in een cluster met twee servers offline is, start u PowerShell als beheerder en voert u het volgende uit:
Get-StorageSubSystem Cluster* | Set-StorageHealthSetting -Name "System.Storage.NestedResiliency.DisableWriteCacheOnNodeDown.Enabled" -Value "True"
Zodra deze is ingesteld op Waar, is het cachegedrag:
Situatie | Cachegedrag | Kan verlies van cachestations worden getolereerd? |
---|---|---|
Beide servers omhoog | Lees- en schrijfbewerkingen in cache, volledige prestaties | Ja |
Server offline, eerste 30 minuten | Lees- en schrijfbewerkingen in cache, volledige prestaties | Nee (tijdelijk) |
Na de eerste 30 minuten | Alleen-lezen cache, de prestaties zijn beïnvloed | Ja (nadat de cache naar capaciteitsstations is geschreven) |
Veelgestelde vragen
Vind antwoorden op veelgestelde vragen over geneste tolerantie.
Kan ik een bestaand volume converteren tussen spiegeling in twee richtingen en geneste tolerantie?
Nee, volumes kunnen niet worden geconverteerd tussen tolerantietypen. Voor nieuwe implementaties in Azure Stack HCI, Windows Server 2022 of Windows Server 2019 bepaalt u op voorhand welk tolerantietype het beste bij uw behoeften past. Als u een upgrade uitvoert van Windows Server 2016, kunt u nieuwe volumes maken met geneste tolerantie, uw gegevens migreren en vervolgens de oudere volumes verwijderen.
Kan ik geneste tolerantie gebruiken met meerdere typen capaciteitsstations?
Ja, geef de -MediaType
laag dienovereenkomstig op tijdens stap 1 hierboven. Met NVMe, SSD en HDD in hetzelfde cluster biedt de NVMe bijvoorbeeld cache terwijl de laatste twee capaciteit bieden: stel de NestedMirror
laag -MediaType SSD
in op en de NestedParity
laag op -MediaType HDD
. In dit geval is de efficiëntie van de pariteitscapaciteit afhankelijk van het aantal HDD-schijven en hebt u ten minste 4 schijven per server nodig.
Kan ik geneste tolerantie gebruiken met drie of meer servers?
Nee, gebruik alleen geneste tolerantie als uw cluster precies twee servers heeft.
Hoeveel stations moet ik geneste tolerantie gebruiken?
Het minimale aantal stations dat is vereist voor Opslagruimten Direct is vier capaciteitsstations per serverknooppunt, plus twee cachestations per serverknooppunt (indien van toepassing). Dit is ongewijzigd ten laste van Windows Server 2016. Er is geen andere vereiste voor geneste tolerantie en de aanbeveling voor reservecapaciteit is ook ongewijzigd.
Verandert geneste tolerantie hoe vervanging van stations werkt?
Nee
Verandert geneste tolerantie hoe vervanging van serverknooppunten werkt?
Nee Als u een serverknooppunt en de bijbehorende stations wilt vervangen, volgt u deze volgorde:
- De stations op de uitgaande server buiten gebruik stellen
- De nieuwe server, met de stations, toevoegen aan het cluster
- De opslaggroep wordt opnieuw in balans gebracht
- De uitgaande server en de bijbehorende stations verwijderen
Zie het artikel Servers verwijderen voor meer informatie.