Azure Stack Hub-beräkningskapacitet
Storlekarna virtuella maskiner (VM) som stöds av Azure Stack Hub är en delmängd av dem som stöds på Azure. Azure inför resursgränser längs många vektorer för att undvika överförbrukning av resurser (lokal server och tjänstnivå). Utan att införa vissa begränsningar för klientanvändningen blir klientupplevelsen lidande när andra klienter överkonsumerar resurser. För utgående nätverk från den virtuella datorn finns det bandbreddsbegränsningar på plats på Azure Stack Hub som matchar Azure-begränsningar. För lagringsresurser på Azure Stack Hub förhindrar IOPS-lagringsgränser överdriven resursförbrukning av hyresgäster för lagringsåtkomst.
Viktig
Azure Stack Hub Capacity Planner överväger eller garanterar inte IOPS-prestanda. Administratörsportalen visar en varning när den totala systemminnesförbrukningen når 85%. Den här aviseringen kan åtgärdas genom att lägga till mer kapaciteteller genom att ta bort virtuella datorer som inte längre krävs.
Placering av virtuell dator
Placeringsmotorn för Azure Stack Hub placerar virtuella klientdatorer över de tillgängliga värdarna.
Azure Stack Hub använder två saker att tänka på när du placerar virtuella datorer. Ett, finns det tillräckligt med minne på värden för den virtuella datortypen? Och två, är de virtuella datorerna en del av en tillgänglighetsuppsättning eller är de en del av skalningsuppsättningar?
För att uppnå hög tillgänglighet för en produktionsarbetsbelastning för flera virtuella datorer i Azure Stack Hub placeras virtuella datorer (VM) i en tillgänglighetsuppsättning som sprider dem över flera feldomäner. En feldomän i en tillgänglighetsuppsättning definieras som en enskild nod i skalningsenheten. Azure Stack Hub har stöd för att ha en tillgänglighetsuppsättning med högst tre feldomäner som ska vara konsekventa med Azure. Virtuella datorer som placeras i en tillgänglighetsuppsättning är fysiskt isolerade från varandra genom att sprida dem så jämnt som möjligt över flera feldomäner (Azure Stack Hub-noder). Om det uppstår ett maskinvarufel startas virtuella datorer från feldomänen om i andra feldomäner. Om möjligt hålls de i separata feldomäner från de andra virtuella datorerna i samma tillgänglighetsuppsättning. När värden kommer tillbaka online balanseras de virtuella datorerna om för att upprätthålla hög tillgänglighet.
VM-skalningsuppsättningar använder tillgänglighetsuppsättningar på backend och ser till att varje VM-skalningsuppsättningsinstans placeras i en annan feldomän. Det innebär att de använder separata Azure Stack Hub-infrastrukturnoder. I ett Azure Stack Hub-system med fyra noder kan det till exempel finnas en situation där en vm-skalningsuppsättning med tre instanser inte kan skapas på grund av bristen på kapacitet med fyra noder för att placera tre vm-skalningsuppsättningsinstanser på tre separata Azure Stack Hub-noder. Dessutom kan Azure Stack Hub-noder fyllas i på olika nivåer innan du provar placering.
Azure Stack Hub överbelastar inte minne. Däremot är det tillåtet att överboka antalet fysiska kärnor.
Eftersom placeringsalgoritmer inte ser det befintliga överetableringsförhållandet mellan virtuell och fysisk kärna som en faktor, kan varje värd ha ett annat förhållande. Som Microsoft ger vi ingen vägledning om förhållandet mellan fysiska och virtuella kärnor på grund av variationen i arbetsbelastningar och krav på tjänstnivå.
Överväganden för totalt antal virtuella datorer
Det finns en gräns för det totala antalet virtuella datorer som kan skapas. Det maximala antalet virtuella datorer på Azure Stack Hub är 700 och 60 per skalningsenhetsnod. En vm-gräns på åtta servrar i Azure Stack Hub skulle till exempel vara 480 (8 * 60). För en Azure Stack Hub-lösning på 12 till 16 servrar skulle gränsen vara 700. Den här gränsen var skapad med alla överväganden för beräkningskapacitet i åtanke, såsom återhämtningsreserven och det virtuella till fysiska CPU-förhållandet som en operatör vill behålla i systemet.
Om gränsen för VM-skalning nås returneras följande felkoder som ett resultat: VMsPerScaleUnitLimitExceeded
, VMsPerScaleUnitNodeLimitExceeded
.
Obs
En del av maxgränsen på 700 virtuella datorer är reserverad för virtuella Azure Stack Hub-infrastrukturdatorer. Mer information finns i Kapacitetsplanering för Azure Stack Hub.
Överväganden för batchdistribution av virtuella datorer
I versioner före och inklusive 2002 tillhandahöll 2–5 virtuella datorer per batch med 5 min mellanrum mellan batchar tillförlitliga VM-distributioner för att nå en skala på 700 virtuella datorer. Med 2005-versionen av Azure Stack Hub och senare kan vi på ett tillförlitligt sätt etablera virtuella datorer i batchstorlekar på 40 med 5 min mellanrum mellan batchdistributioner. Start-, stoppa allokering- och uppdateringsåtgärder bör utföras med en batchstorlek på 30, med 5 minuters mellanrum mellan varje batch.
Överväganden för virtuella GPU-datorer
Azure Stack Hub reserverar minne för infrastrukturen och hyresgäst-VMar för att möjliggöra failover. Till skillnad från andra virtuella datorer körs virtuella GPU-datorer i ett icke-HA-läge (hög tillgänglighet) och redundansväxlar därför inte. Därför är reserverat minne för en GPU VM-stämpel vad som krävs av infrastrukturen för redundansväxling, i motsats till att även ta hänsyn till ha-klientens VM-minne.
Azure Stack Hub-minne
Azure Stack Hub är utformat för att hålla VMs igång som framgångsrikt har etablerats. Om en värd till exempel är offline på grund av ett maskinvarufel försöker Azure Stack Hub starta om den virtuella datorn på en annan värd. Ett andra exempel vid korrigering och uppdatering av Azure Stack Hub-programvaran. Om det finns ett behov av att starta om en fysisk värd görs ett försök att flytta de virtuella datorer som körs på värden till en annan tillgänglig värd i lösningen.
Den här VM-hanteringen eller förflyttningen kan bara uppnås om det finns reserverad minneskapacitet för att möjliggöra omstart eller migrering. En del av det totala värdminnet är reserverat och otillgängligt för placering av virtuella klientdatorer.
Du kan granska ett cirkeldiagram i administratörsportalen som visar ledigt och använt minne i Azure Stack Hub. Följande diagram visar den fysiska minneskapaciteten på en Azure Stack Hub-skalningsenhet i Azure Stack Hub:
Använt minne består av flera komponenter. Följande komponenter förbrukar minnet i användningsavsnittet i cirkeldiagrammet:
- Användning eller reserverad av värdoperativsystem: Minnet som används av operativsystemet (OS) på värden, tabeller för virtuella minnessidor, processer som körs på värdoperativsystemet och minnescachen för Spaces Direct. Eftersom det här värdet är beroende av det minne som används av de olika Hyper-V-processer som körs på värden, kan det variera.
- Infrastrukturtjänster: De virtuella infrastrukturdatorer som utgör Azure Stack Hub. Som tidigare nämnts är dessa virtuella datorer en del av maxgränsen på 700 virtuella datorer. Minnesanvändningen för komponenten infrastrukturtjänster kan ändras när vi arbetar med att göra våra infrastrukturtjänster mer skalbara och motståndskraftiga. Mer information finns i Kapacitetsplanering för Azure Stack Hub
- Återhämtningsreserv: Azure Stack Hub reserverar en del av minnet för att möjliggöra klienttillgänglighet vid ett enda värdfel samt under korrigering och uppdatering för att möjliggöra en lyckad direktmigrering av virtuella datorer.
- Hyresgäst-VM: De virtuella maskiner som skapats av Azure Stack Hub-användare. Förutom att driva virtuella maskiner förbrukas minne av alla virtuella maskiner som har landat på infrastrukturen. Det innebär att virtuella datorer i tillståndet "Skapas" eller "Misslyckades", och virtuella datorer som stängs av från gästoperativsystemet, förbrukar minne. Virtuella datorer som avallokerats med alternativet 'stoppa avallokerad' från portalen/powershell/cli förbrukar dock inte minne från Azure Stack Hub.
- Resursleverantörer för mervärdestjänster: virtuella datorer som distribuerats för mervärdestjänster som SQL, MySQL, App Service och så vidare.
Det bästa sättet att förstå minnesförbrukningen på portalen är att använda Azure Stack Hub Capacity Planner för att se effekten av olika arbetsbelastningar. Följande beräkning är samma som används av planeraren.
Den här beräkningen resulterar i det totala tillgängliga minnet som kan användas för placering av virtuell klientdator. Den här minneskapaciteten gäller för hela Azure Stack Hub-skalningsenheten.
Tillgängligt minne för vm-placering = totalt värdminne – återhämtningsreserv – minne som används av virtuella klientdatorer – Azure Stack Hub Infrastructure Overhead 1
- Totalt värdminne = Summa minne från alla noder
- Återhämtningsreserv = H + R * ((N-1) * H) + V * (N-2)
- Minne som används av virtuella klientdatorer = Verkligt minne som förbrukas av klientarbetsbelastningen, är inte beroende av HA-konfiguration
- Infrastrukturkostnader för Azure Stack Hub = 268 GB + (4 GB x N)
Var:
- H = Storleken på minne för en enskild server
- N = Storlek på skalningsenhet (antal servrar)
- R = operativsystemets reserv för operativsystemomkostnader, som är .15 i den här formeln2
- V = Största virtuella HA-dator i skalningsenheten
1 Infrastrukturöverhead för Azure Stack Hub = 268 GB + (4 GB x antal noder). Cirka 31 virtuella datorer används som värd för Azure Stack Hubs infrastruktur och förbrukar totalt cirka 268 GB + (4 GB x antal noder) minne och 146 virtuella kärnor. Syftet med det här antalet virtuella datorer är att uppfylla den tjänstavgränsning som krävs för att uppfylla kraven på säkerhet, skalbarhet, service och korrigering. Den här interna tjänststrukturen möjliggör framtida introduktion av nya infrastrukturtjänster när de utvecklas.
2 Operativsystemets reserv för overhead = 15% (.15) av nodens minne. Operativsystemets reservvärde är en uppskattning och varierar beroende på serverns fysiska minneskapacitet och allmänna operativsystemkostnader.
Värdet V, den största virtuella ha-datorn i skalningsenheten, baseras dynamiskt på den största minnesstorleken för den virtuella klientdatorn. Det största värdet för virtuell HA-dator är till exempel minst 12 GB (med hänsyn till den virtuella infrastrukturens virtuella dator) eller 112 GB eller någon annan vm-minnesstorlek som stöds i Azure Stack Hub-lösningen. Om du ändrar den största HA virtuella datorn i Azure Stack Hubs infrastruktur resulterar det i en ökning av reserver för motståndskraft och en ökning av minnet för själva den virtuella datorn. Kom ihåg att virtuella GPU-datorer körs i icke-HA-läge.
Exempelberäkning
Vi har en liten Azure Stack Hub-distribution med fyra noder med 768 GB RAM-minne på varje nod. Vi planerar att placera en virtuell dator för SQL Server med 128 GB RAM-minne (Standard_E16_v3). Vad är tillgängligt minne för VM-placering?
- Totalt värdminne = Summa minne från alla noder = 4 * 768 GB = 3 072 GB
- Återhämtningsreserv = H + R * ((N-1) * H) + V * (N-2) = 768 + 0,15 * ((4 - 1) * 768) + 128 * (4 - 2) = 1370 GB
- Minne som används av virtuella klientdatorer = Verkligt minne som förbrukas av klientarbetsbelastningen, är inte beroende av HA-konfiguration = 0 GB
- Infrastrukturkostnader för Azure Stack Hub = 268 GB + (4 GB x N) = 268 + (4 * 4) = 284 GB
Tillgängligt minne för VM-placering = totalt värdminne – återhämtningsreserv – minne som används av virtuella klientdatorer – Omkostnader för Azure Stack Hub-infrastruktur
Tillgängligt minne för VM-placering = 3072 – 1370 – 0 – 284 = 1 418 GB
Överväganden för avallokering
När en virtuell dator är i deallokerat läge används inga minnesresurser. Detta gör att andra virtuella datorer kan placeras i systemet.
Om den frigjorda virtuella datorn sedan startas igen behandlas minnesanvändningen eller allokeringen som en ny virtuell dator som placeras i systemet och tillgängligt minne förbrukas. Om det inte finns något tillgängligt minne startar inte den virtuella datorn.
Aktuella distribuerade stora virtuella datorer visar att det allokerade minnet är 112 GB, men minnesbehovet för dessa virtuella datorer är cirka 2–3 GB.
Namn | Tilldelade minne (GB) | Minnesbehov (GB) | Datornamn |
---|---|---|---|
ca7ec2ea-40fd-4d41-9d9b-b11e7838d508 | 112 | 2.2392578125 | LISSA01P-NODE01 |
10cd7b0f-68f4-40ee-9d98-b9637438ebf4 | 112 | 2.2392578125 | LISSA01P-NODE01 |
2e403868-ff81-4abb-b087-d9625ca01d84 | 112 | 2.2392578125 | LISSA01P-NODE04 |
Det finns tre sätt att frigöra minne för vm-placering med hjälp av formeln Återhämtningsreserv = H + R * ((N-1) * H) + V * (N-2):
- Minska storleken på den största virtuella datorn
- Öka minnet för en nod
- Lägga till en nod
Minska storleken på den största virtuella datorn
Om du minskar storleken på den största virtuella datorn till den näst minsta virtuella datorn i stämpel (24 GB) minskar storleken på återhämtningsreserven.
Återhämtningsreserv = 384 + 172,8 + 48 = 604,8 GB
Totalt minne | Infra GB | Hyresgäst GB | Motståndskraftreserv | Totalt reserverat minne | Totalt antal GB tillgängligt för placering |
---|---|---|---|---|---|
1 536 GB | 258 GB | 329,25 GB | 604,8 GB | 258 + 329,25 + 604,8 = 1168 GB | ~344 GB |
Lägga till en nod
Att lägga till en Azure Stack Hub-nod frigör minne genom att fördela minnet mellan de två noderna på samma sätt.
Återhämtningsreserv = 384 + (0,15) ((5)*384) + 112 * (3) = 1 008 GB
Totalt minne | Infra GB | Hyresgäst GB | Motståndskraftreserv | Totalt reserverat minne | Totalt GB Tillgängligt för Placering |
---|---|---|---|---|---|
1 536 GB | 258 GB | 329,25 GB | 604,8 GB | 258 + 329,25 + 604,8 = 1168 GB | ~ 344 GB |
Öka minnet på varje nod till 512 GB
Öka minnet för varje nod ökar det totala tillgängliga minnet.
Återhämtningsreserv = 512 + 230,4 + 224 = 966,4 GB
Totalt minne | Infra GB | Klientorganisation GB | Återhämtningsreserv | Totalt reserverat minne | Totalt gb tillgängligt för placering |
---|---|---|---|---|---|
2048 (4*512) GB | 258 GB | 505,75 GB | 966,4 GB | 1730,15 GB | ~ 318 GB |
Vanliga frågor och svar
Q: Min klientorganisation har distribuerat en ny virtuell dator, hur lång tid tar det för funktionsdiagrammet på administratörsportalen att visa återstående kapacitet?
A: Kapacitetsbladet uppdateras var 15:e minut, så ta hänsyn till detta.
Q: Hur kan jag se tillgängliga kärnor och tilldelade kärnor?
A: I PowerShell körtest-azurestack -include AzsVmPlacement -debug
, som genererar utdata som detta:
Starting Test-AzureStack
Launching AzsVmPlacement
Azure Stack Scale Unit VM Placement Summary Results
Cluster Node VM Count VMs Running Physical Core Total Virtual Co Physical Memory Total Virtual Mem
------------ -------- ----------- ------------- ---------------- --------------- -----------------
LNV2-Node02 20 20 28 66 256 119.5
LNV2-Node03 17 16 28 62 256 110
LNV2-Node01 11 11 28 47 256 111
LNV2-Node04 10 10 28 49 256 101
PASS : Azure Stack Scale Unit VM Placement Summary
Q: Antalet distribuerade virtuella datorer på min Azure Stack Hub har inte ändrats, men min kapacitet varierar. Varför?
A: Det tillgängliga minnet för VM-placering har flera beroenden, varav ett är värdoperativsystemets reserv. Det här värdet är beroende av det minne som används av de olika Hyper-V-processer som körs på värddatorn, eftersom detta värde inte är konstant.
Q: Vilket tillstånd måste virtuella klientdatorer finnas i för att förbruka minne?
A: Förutom att köra virtuella datorer förbrukas minne av alla virtuella datorer som finns på nätverket. Det innebär att virtuella datorer som har tillståndet "Skapa" eller "Misslyckades" förbrukar minne. Virtuella datorer som stängs av från gästen i stället för att sluta frigöra från portalen/powershell/cli förbrukar också minne.
Q: Jag har en Azure Stack Hub med fyra värdar. Min klientorganisation har 3 virtuella datorer som förbrukar 56 GB RAM-minne (D5_v2) vardera. En av de virtuella datorerna storleksändrades till 112 GB RAM (D14_v2), och rapporteringen av tillgängligt minne på dashbordet resulterade i en ökning till 168 GB användning på kapacitetsbladet. Efterföljande storleksändringar av de andra två D5_v2 virtuella datorerna till D14_v2 resulterade i att RAM-minnet ökade till endast 56 GB för var och en. Varför är det så?
A: Det tillgängliga minnet är en funktion av återhämtningsreserven som underhålls av Azure Stack Hub. Återhämtningsreserven är en funktion av den största VM-storleken på Azure Stack Hub-stämpeln. Först var den största virtuella datorn på stämpeln 56 GB minne. När den virtuella datorn ändrades blev den största virtuella datorn på stämpeln 112 GB minne, vilket inte bara ökade det minne som användes av den virtuella klientdatorn utan också ökade återhämtningsreserven. Den här ändringen resulterade i en ökning med 56 GB (56 GB till 112 GB minnesökning för den virtuella klientdatorn) + 112 GB minnesökning för återhämtningsreserven. När efterföljande virtuella datorer ändrades, förblev den största storleken på den virtuella datorn 112 GB och därför ökade inte återhämtningsreserven. Minnesförbrukningens ökning berodde endast på hyresgästens virtuella maskins minnesökning (56 GB).
Anmärkning
Kapacitetsplaneringskraven för nätverk är minimala eftersom endast storleken på den offentliga VIP:en kan konfigureras. Information om hur du lägger till fler offentliga IP-adresser i Azure Stack Hub finns i Lägg till offentliga IP-adresser.
Nästa steg
Lär dig mer om Azure Stack Hub-lagring