Dela via


Närhetsplaceringsgrupper

Gäller för: ✔️ Virtuella Linux-datorer ✔️ med virtuella Windows-datorer ✔️ – flexibla skalningsuppsättningar ✔️ Enhetliga skalningsuppsättningar

Om du placerar virtuella datorer i en enda region minskar det fysiska avståndet mellan instanserna. Genom att placera dem i en enda tillgänglighetszon förs de också fysiskt närmare varandra. Men när Azure-fotavtrycket växer kan en enda tillgänglighetszon omfatta flera fysiska datacenter, vilket kan leda till att nätverksfördröjningen påverkar ditt program.

För att få virtuella datorer så nära som möjligt och uppnå lägsta möjliga svarstid bör du distribuera dem inom en närhetsplaceringsgrupp.

En närhetsplaceringsgrupp är en logisk gruppering som används för att se till att Azure-beräkningsresurser finns fysiskt nära varandra. Närhetsplaceringsgrupper är användbara för arbetsbelastningar där låg svarstid är ett krav.

  • Låg svarstid mellan fristående virtuella datorer.
  • Låg svarstid mellan virtuella datorer i en enda tillgänglighetsuppsättning eller en VM-skalningsuppsättning.
  • Låg svarstid mellan fristående virtuella datorer, virtuella datorer i flera tillgänglighetsuppsättningar eller flera skalningsuppsättningar. Du kan ha flera beräkningsresurser i en enda placeringsgrupp för att sammanföra ett program med flera nivåer.
  • Låg svarstid mellan flera programnivåer med olika maskinvarutyper. Du kan till exempel köra serverdelen med hjälp av M-serien i en tillgänglighetsuppsättning och klientdelen på en D-serieinstans, i en skalningsuppsättning, i en enda närhetsplaceringsgrupp.

Bild för närhetsplaceringsgrupper

Använda närhetsplaceringsgrupper

En närhetsplaceringsgrupp är en resurs i Azure. Du måste skapa en innan du använder den med andra resurser. När den har skapats kan den användas med virtuella datorer, tillgänglighetsuppsättningar eller VM-skalningsuppsättningar. Du anger en närhetsplaceringsgrupp när du skapar beräkningsresurser som tillhandahåller närhetsplaceringsgruppens ID.

Du kan också flytta en befintlig resurs till en närhetsplaceringsgrupp. När du flyttar en resurs till en närhetsplaceringsgrupp bör du stoppa (frigöra) tillgången först eftersom den distribueras om potentiellt till ett annat datacenter i regionen för att uppfylla samlokaliseringsbegränsningen.

När det gäller tillgänglighetsuppsättningar och VM-skalningsuppsättningar bör du ange närhetsplaceringsgruppen på resursnivå i stället för de enskilda virtuella datorerna.

En närhetsplaceringsgrupp är en samlokaliseringsbegränsning snarare än en fästmekanism. Den fästs på ett specifikt datacenter med distributionen av den första resursen som ska användas. När alla resurser som använder närhetsplaceringsgruppen har stoppats (frigjorts) eller tagits bort fästs den inte längre. När du använder en närhetsplaceringsgrupp med flera VM-serier är det därför viktigt att ange alla nödvändiga typer i förväg i en mall om möjligt eller följa en distributionssekvens, vilket förbättrar dina chanser för en lyckad distribution. Om distributionen misslyckas startar du om distributionen med vm-storleken, som misslyckades som den första storleken som ska distribueras.

Använd avsikt för att ange VM-storlekar

Du kan använda den valfria intent parametern för att ange de avsedda VM-storlekar som ska ingå i närhetsplaceringsgruppen. Den här parametern kan anges när du skapar en närhetsplaceringsgrupp eller så kan den läggas till/ändras när du uppdaterar en närhetsplaceringsgrupp efter att alla virtuella datorer har frigjorts.

När du anger intentkan du också lägga till den valfria zone parametern för att ange en tillgänglighetszon, vilket anger att närhetsplaceringsgruppen måste skapas inom en specifik tillgänglighetszon. Observera följande punkter när du anger parametern zone :

  • Parametern tillgänglighetszon kan endast anges när närhetsplaceringsgruppen skapas och kan inte ändras senare.
  • Parametern zone kan bara användas med intent, den kan inte användas ensam.
  • Endast en tillgänglighetszon kan anges.

Skapande eller uppdatering av närhetsplaceringsgrupp lyckas bara när minst ett datacenter stöder alla VM-storlekar som anges i avsikten. Annars misslyckas skapandet eller uppdateringen med "OverconstrainedAllocationRequest", vilket indikerar att kombinationen av VM-storlekar inte kan stödjas i en närhetsplaceringsgrupp. Avsikten ger ingen kapacitetsreservation eller garanti. Vm-storlekar och zon som anges i intent används för att välja ett lämpligt datacenter, vilket minskar risken för fel om önskad VM-storlek inte är tillgänglig i ett datacenter. Allokeringsfel kan fortfarande inträffa om det inte finns någon mer kapacitet för en VM-storlek vid tidpunkten för distributionen.

Kommentar

Om du vill använda avsikten för dina närhetsplaceringsgrupper kontrollerar du att API-versionen är 2021-11-01 eller högre

Metodtips vid användning av avsikt

  • Ange en tillgänglighetszon endast för närhetsplaceringsgruppen när du anger en avsikt. Om du tillhandahåller en tillgänglighetszon utan avsikt uppstår ett fel när närhetsplaceringsgruppen skapas.
  • Om du anger en tillgänglighetszon i avsikten kontrollerar du att tillgänglighetszonen för de virtuella datorer som du distribuerar matchar det som anges i avsikten för att undvika fel när du distribuerar virtuella datorer.
  • Det är tillåtet att skapa eller lägga till virtuella datorer med storlekar som inte ingår i avsikten, men rekommenderas inte. Storleken kanske inte finns i det valda datacentret och kan resultera i fel vid tidpunkten för vm-distributionen.
  • För befintliga placeringsgrupper rekommenderar vi att du inkluderar storleken på de befintliga virtuella datorerna när du uppdaterar avsikten för att undvika fel när du distribuerar om de virtuella datorerna.

Avsikten kan påverkas vid inaktivering

  • När du har skapat en närhetsplaceringsgrupp med avsikt och innan du distribuerar virtuella datorer kan planerade underhållshändelser, till exempel maskinvaruavstängning vid ett Azure-datacenter, inträffa, vilket resulterar i att kombinationen av VM-storlekar som anges i avsikten inte är tillgängliga i datacentret. I sådana fall uppstår ett "OverconstrainedAllocationRequest"-fel, även när virtuella datorer med storlekar som anges i avsikten distribueras. Du kan prova att frigöra alla resurser i närhetsplaceringsgruppen och återskapa dem för att få ett datacenter som kan hantera avsikten. Om det inte finns något datacenter med de angivna VM-storlekarna efter inaktiveringen kan du behöva ändra avsikten att använda en annan kombination av VM-storlekar, eftersom kombinationen av VM-storlekar inte längre stöds.
  • Azure kan dra tillbaka en hel VM-familj eller en specifik uppsättning VM-storlekar. Om du har en sådan VM-storlek i avsikten kan du behöva antingen ta bort den eller ersätta den med en annan storlek före slutdatumet för den ursprungliga VM-storleken. Annars är avsikten inte längre giltig.

Vad du kan förvänta dig när du använder närhetsplaceringsgrupper

Närhetsplaceringsgrupper erbjuder samlokalisering i samma datacenter. Men eftersom närhetsplaceringsgrupper representerar ytterligare en distributionsbegränsning kan allokeringsfel inträffa. Det finns få användningsfall där du kan se allokeringsfel när du använder närhetsplaceringsgrupper:

  • När du frågar efter den första virtuella datorn i närhetsplaceringsgruppen väljs datacentret automatiskt. I vissa fall kan en andra begäran om en annan VM-storlek misslyckas om den inte finns i det datacentret. I det här fallet returneras ett OverconstrainedAllocationRequest-fel. För att undvika det här felet kan du prova att ändra i vilken ordning du distribuerar dina VM-storlekar eller har båda resurserna distribuerade med hjälp av en enda ARM-mall.
  • Om närhetsplaceringsgruppen skapas med avsikt behöver de virtuella datorerna inte distribueras i någon viss ordning och behöver inte batchhanteras med en enda ARM-mall, eftersom avsikten används för att välja ett datacenter som stöder alla VM-storlekar som anges i avsikten.
  • När det gäller elastiska arbetsbelastningar, där du lägger till och tar bort virtuella datorinstanser, kan en begränsning för närhetsplaceringsgruppen för distributionen leda till att begäran inte uppfylls, vilket resulterar i Ett AllocationFailure-fel .
  • Att stoppa (frigöra) och starta dina virtuella datorer efter behov är ett annat sätt att uppnå elasticitet. Eftersom kapaciteten inte behålls när du stoppar (frigör) en virtuell dator kan det leda till ett AllocationFailure-fel om du startar den igen.
  • Åtgärder för att starta och distribuera om virtuella datorer fortsätter att respektera närhetsplaceringsgruppen efter konfiguration.

Planerat underhåll och närhetsplaceringsgrupper

Planerade underhållshändelser, till exempel maskinvaruavstängning i ett Azure-datacenter, kan potentiellt påverka anpassningen av resurser i närhetsplaceringsgrupper. Resurser kan flyttas till ett annat datacenter, vilket stör förväntningarna på samverkan och svarstid som är associerade med närhetsplaceringsgruppen.

Kontrollera justeringsstatusen

Du kan göra följande för att kontrollera justeringsstatusen för dina närhetsplaceringsgrupper.

  • Samlokaliseringsstatus för närhetsplaceringsgrupper kan visas med hjälp av portalen, CLI och PowerShell.

    • PowerShell – samlokaliseringsstatus kan hämtas via cmdleten Get-AzProximityPlacementGroup genom att inkludera den valfria parametern "-ColocationStatus".

    • CLI – samlokaliseringsstatus kan erhållas genom az ppg show att inkludera den valfria parametern "--include-colocation-status".

  • För varje närhetsplaceringsgrupp ger en egenskap för samlokaliseringsstatus den aktuella justeringsstatussammanfattningen för de grupperade resurserna.

    • Justerad: Resursen ligger inom samma svarstidsslutpunkt för närhetsplaceringsgruppen.

    • Okänd: Minst en av de virtuella datorresurserna frigörs. När de har startats igen bör statusen gå tillbaka till Justerad.

    • Inte justerad: Minst en VM-resurs är inte anpassad till närhetsplaceringsgruppen. De specifika resurser som inte är justerade kommer också att framhävas separat i medlemskapsavsnittet

  • För tillgänglighetsuppsättningar kan du se information om justering av enskilda virtuella datorer på sidan Översikt över tillgänglighetsuppsättningar.

  • För skalningsuppsättningar kan information om justering av enskilda instanser visas på fliken Instansersidan Översikt för skalningsuppsättningen.

Justera resurser

Om en närhetsplaceringsgrupp är Not Alignedkan du stoppa\frigöra och sedan starta om de berörda resurserna. Om den virtuella datorn finns i en tillgänglighetsuppsättning eller en skalningsuppsättning måste alla virtuella datorer i tillgänglighetsuppsättningen eller skalningsuppsättningen stoppas\frigöras först innan de startas om.

Om det uppstår ett allokeringsfel på grund av distributionsbegränsningar kan du behöva stoppa\frigöra alla resurser i den berörda närhetsplaceringsgruppen (inklusive de justerade resurserna) först och sedan starta om dem för att återställa justeringen.

Bästa praxis

  • Använd närhetsplaceringsgrupper tillsammans med accelererat nätverk för den lägsta svarstiden. Mer information finns i Skapa en virtuell Linux-dator med accelererat nätverk eller Skapa en virtuell Windows-dator med accelererat nätverk.
  • Använd avsikten för närhetsplaceringsgrupper för att undvika att landa på maskinvara som inte stöder alla VM-SKU:er och storlekar som du behöver. Om det redan är en befintlig närhetsplaceringsgrupp utan avsikt kan du använda en enda ARM-mall med alla vm-storlekar angivna för att undvika det här problemet.
  • När du återanvänder en befintlig placeringsgrupp som virtuella datorer har tagits bort från väntar du tills borttagningen har slutförts helt innan du lägger till virtuella datorer i den.
  • Om svarstiden är din första prioritet placerar du virtuella datorer i en närhetsplaceringsgrupp och hela lösningen i en tillgänglighetszon. Men om återhämtning är din högsta prioritet sprider du dina instanser över flera tillgänglighetszoner (en enda närhetsplaceringsgrupp kan inte sträcka sig över zoner).

Nästa steg