Betrouwbaarheid in virtuele-machineschaalsets
Dit artikel bevat informatie over ondersteuning voor beschikbaarheidszones voor virtuele-machineschaalsets.
Notitie
Virtuele-machineschaalsets kunnen slechts in één regio worden geïmplementeerd. Als u VM's in meerdere regio's wilt implementeren, raadpleegt u Herstel na noodgeval voor virtuele machines: failover tussen regio's.
Ondersteuning voor beschikbaarheidszone
Beschikbaarheidszones zijn fysiek afzonderlijke groepen datacenters binnen elke Azure-regio. Wanneer één zone uitvalt, kunnen services een failover uitvoeren naar een van de resterende zones.
Zie Wat zijn beschikbaarheidszones in Azure voor meer informatie over beschikbaarheidszones?
Met Virtuele-machineschaalsets van Azure kunt u een groep vm's met gelijke taakverdeling maken en beheren. Het aantal VM's kan automatisch toenemen of afnemen in reactie op de vraag of een gedefinieerd schema. Schaalsets bieden hoge beschikbaarheid voor uw toepassingen en bieden u de mogelijkheid om veel VM's centraal te beheren, te configureren en bij te werken. Er zijn geen kosten voor de schaalset zelf. U betaalt alleen voor elk VM-exemplaar dat u maakt.
Virtuele-machineschaalsets ondersteunen zonegebonden en zone-redundante implementaties binnen een regio:
Zonegebonden implementatie. Wanneer u een schaalset in één zone maakt, bepaalt u in welke zone alle VM's van die set worden uitgevoerd. De schaalset wordt alleen beheerd en automatisch geschaald binnen die zone.
Zone-redundante implementatie. Met een zoneredundante schaalset kunt u één schaalset maken die meerdere zones omvat. Wanneer vm's worden gemaakt, worden ze standaard gelijkmatig verdeeld over zones.
Vereisten
Als u beschikbaarheidszones wilt gebruiken, moet uw schaalset worden gemaakt in een ondersteunde Azure-regio.
Alle VM's , zelfs vm's met één exemplaar, moeten worden geïmplementeerd in een schaalset met behulp van de flexibele indelingsmodus om uw toepassing toekomstbestendig te maken voor schalen en beschikbaarheid.
SLA
Omdat beschikbaarheidszones fysiek gescheiden zijn en afzonderlijke energiebronnen, netwerk- en koeling bieden, worden service level agreements (SLA's) verhoogd. Zie de SLA voor Microsoft Online Services voor meer informatie.
Een virtuele-machineschaalset maken waarvoor beschikbaarheidszones zijn ingeschakeld
U kunt een schaalset maken die gebruikmaakt van beschikbaarheidszones met een van de volgende methoden:
Het proces voor het maken van een schaalset die gebruikmaakt van een zonegebonden implementatie is hetzelfde als in het artikel Aan de slag. Wanneer u een ondersteunde Azure-regio selecteert, kunt u een schaalset maken in een of meer beschikbare zones, zoals wordt weergegeven in het volgende voorbeeld:
De schaalset en ondersteunende resources, zoals de Azure Load Balancer en het openbare IP-adres, worden gemaakt in de enkele zone die u opgeeft.
Ondersteuning voor zonegebonden failover
Virtuele-machineschaalsets worden standaard gemaakt met vijf foutdomeinen in Azure-regio's zonder zones. Voor de regio's die ondersteuning bieden voor de implementatie van virtuele-machineschaalsets en deze optie is geselecteerd, is de standaardwaarde van het aantal foutdomeinen 1 voor elk van de zones. In dit geval impliceert FD=1 dat de VM-exemplaren die behoren tot de schaalset, op basis van best effort over veel racks worden verdeeld. Zie Voor meer informatie het kiezen van het juiste aantal foutdomeinen voor virtuele-machineschaalset.
Ontwerp met lage latentie
Het is raadzaam virtuele-machineschaalsets te configureren met zoneredundantie. Als uw toepassing echter strikte vereisten voor lage latentie heeft, moet u mogelijk een zonegebonden implementeren voor uw vm's met schaalsets. Bij een implementatie van zonegebonden schaalsets is het raadzaam om meerdere schaalset-VM's te maken in meer dan één zone. U kunt bijvoorbeeld één exemplaar van schaalsets maken dat is vastgemaakt aan zone 1 en één exemplaar dat is vastgemaakt aan zone 2 of 3. U moet ook een load balancer of andere toepassingslogica gebruiken om verkeer naar de juiste schaalsets te leiden tijdens een zonestoring.
Belangrijk
Als u zich afmeldt voor zonebewuste implementatie, moet u geen bescherming bieden tegen isolatie van onderliggende fouten. Als u zich afmeldt voor de configuratie van de beschikbaarheidszone, is het afhankelijk van resources die niet voldoen aan de plaatsing en scheiding van zones (inclusief onderliggende afhankelijkheden van deze resources). Deze resources moeten niet worden verwacht om scenario's met zone-down te overleven. Oplossingen die gebruikmaken van dergelijke resources moeten een strategie voor herstel na noodgevallen definiëren en een herstel van de oplossing in een andere regio configureren.
Veilige implementatietechnieken
Als u meer controle wilt hebben over de locatie waar u uw VM's implementeert, moet u zonegebonden implementeren in plaats van regionale VM's met schaalsets. Zone-VM's bieden echter alleen zone-isolatie en geen zoneredundantie. Als u volledige zoneredundantie met zonegebonden VM's wilt bereiken, moeten er twee of meer VM's in verschillende zones zijn.
Het wordt ook aanbevolen om de implementatieoptie voor maximale verspreiding voor uw zone-redundante VM's te gebruiken. Zie de spreidingsopties voor meer informatie.
Opties voor spreiden
Wanneer u een schaalset in een of meer beschikbaarheidszones implementeert, hebt u de volgende verspreidingsopties (vanaf API-versie 2017-12-01):
Maximale verspreiding (platformFaultDomainCount = 1). Maximale verspreiding is de aanbevolen implementatieoptie, omdat deze in de meeste gevallen de beste verspreiding biedt. Als u replica's verspreidt over afzonderlijke hardware-isolatie-eenheden, is het raadzaam dat u zich verspreidt over beschikbaarheidszones en maximaal spreiden binnen elke zone gebruikt.
Met maximale verspreiding verspreidt de schaalset uw VM's over zoveel mogelijk foutdomeinen binnen elke zone. Deze verspreiding kan bestaan uit meer dan vijf foutdomeinen per zone.
Notitie
Met maximale verspreiding, ongeacht hoeveel foutdomeinen de VM's zijn verspreid, kunt u slechts één foutdomein zien in zowel de weergave van het VM-exemplaar van de schaalset als de metagegevens van het exemplaar. De verspreiding binnen elke zone is impliciet.
Statische vaste verspreiding (platformFaultDomainCount = 5). Met statische vaste verspreiding verspreidt de schaalset uw VM's precies over vijf foutdomeinen per zone. Als de schaalset geen vijf afzonderlijke foutdomeinen per zone kan vinden om te voldoen aan de toewijzingsaanvraag, mislukt de aanvraag.
Spreiding die is afgestemd op foutdomeinen van beheerde schijven (platformFaultDomainCount = 2 of 3) U kunt overwegen het aantal foutdomeinen van de schaalset af te stemmen op het aantal foutdomeinen van beheerde schijven. Deze uitlijning kan helpen bij het verlies van quorum als een volledig foutdomein van beheerde schijven uitvalt. Het aantal foutdomeinen kan worden ingesteld op minder dan of gelijk aan het aantal foutdomeinen van beheerde schijven dat beschikbaar is in elk van de regio's. Zie [doc hier invoegen](koppeling hier) voor meer informatie over het aantal foutdomeinen voor beheerde schijven per regio.
Zoneverdeling
Voor schaalsets die zijn geïmplementeerd in meerdere zones (zone-redundant), kunt u een zoneverdeling met de beste inspanning of een strikte zoneverdeling kiezen. Een schaalset wordt beschouwd als 'evenwichtig' als elke zone hetzelfde aantal VIRTUELE machines (plus of min één VM) heeft als alle andere zones in de schaalset. Voorbeeld:
Schaalset | VM's in zone 1 | VM's in zone 2 | VM's in zone 3 | Zone Balancing |
---|---|---|---|---|
Schaalset met gelijke taakverdeling | 2 | 3 | 3 | Deze schaalset wordt beschouwd als evenwichtig. Er is slechts één zone met een ander aantal VM's en het is slechts 1 kleiner dan de andere zones. |
Onevenwichtige schaalset | 1 | 3 | 3 | Deze schaalset wordt beschouwd als onevenwichtig. Zone 1 heeft 2 minder VM's dan zones 2 en 3. |
Het is mogelijk dat VM's in de schaalset zijn gemaakt, maar extensies op deze VM's kunnen niet worden geïmplementeerd. De VM's met extensiefouten worden nog steeds meegeteld bij het bepalen of een schaalset evenwichtig is. Een schaalset met 3 VM's in zone 1, 3 VM's in zone 2 en 3 VM's in zone 3 wordt bijvoorbeeld als evenwichtig beschouwd, zelfs als alle extensies zijn mislukt in zone 1 en alle extensies zijn geslaagd in zones 2 en 3.
Met de best effort zone balance probeert de schaalset in en uit te schalen terwijl de balans behouden blijft. Als de verdeling om een of andere reden echter niet mogelijk is (bijvoorbeeld als één zone uitvalt, kan de schaalset geen nieuwe VIRTUELE machine in die zone maken), de schaalset tijdelijke onevenwichtigheid toestaan om in of uit te schalen. Bij volgende uitschaalpogingen voegt de schaalset VM's toe aan zones waarvoor meer VM's nodig zijn om de schaalset te verdelen. Op dezelfde manier verwijdert de schaalset bij volgende pogingen VM's uit zones waarvoor minder VM's nodig zijn om de schaalset te verdelen. Met 'strikt zonebalans' mislukt de schaalset pogingen om in of uit te schalen als dit een onbalans zou veroorzaken.
Als u de best effort zone balance wilt gebruiken, stelt u in zoneBalance
op false. De zoneBalance
instelling is de standaardinstelling in API-versie 2017-12-01. Als u een strikte zonebalans wilt gebruiken, stelt u in op zoneBalance
waar.
Migreren naar ondersteuning voor beschikbaarheidszones
Zie Virtual Machines en Virtual Machine Scale Sets migreren naar ondersteuning voor beschikbaarheidszones voor meer informatie over het opnieuw implementeren van een regionale schaalset naar ondersteuning voor beschikbaarheidszones.
Aanvullende richtlijnen
Plaatsingsgroepen
Belangrijk
Plaatsingsgroepen zijn alleen van toepassing op virtuele-machineschaalsets die worden uitgevoerd in de uniformindelingsmodus.
Wanneer u een virtuele-machineschaalset implementeert, hebt u de mogelijkheid om te implementeren met één of meerdere plaatsingsgroepen per beschikbaarheidszone. Voor regionale schaalsets is de keuze om één plaatsingsgroep in de regio te hebben of om meerdere plaatsingsgroepen in de regio te hebben. Als de eigenschap singlePlacementGroup
van de schaalset is ingesteld op false, kan de schaalset bestaan uit meerdere plaatsingsgroepen en een bereik van 0-1000 VM's hebben. Als deze is ingesteld op de standaardwaarde waar, bestaat de schaalset uit één plaatsingsgroep en heeft een bereik van 0-100 VM's. Voor de meeste workloads raden we meerdere plaatsingsgroepen aan, waardoor grotere schaal mogelijk is. In API-versie 2017-12-01 worden schaalsets standaard ingesteld op meerdere plaatsingsgroepen voor schaalsets met één zone en meerdere zones, maar ze worden standaard ingesteld op één plaatsingsgroep voor regionale schaalsets.