Gestire la disponibilità delle macchine virtuali Windows in AzureManage the availability of Windows virtual machines in Azure

Informazioni su come configurare e gestire più macchine virtuali per garantire disponibilità elevata per un'applicazione Windows in Azure.Learn ways to set up and manage multiple virtual machines to ensure high availability for your Windows application in Azure. È anche possibile gestire la disponibilità delle macchine virtuali Linux.You can also manage the availability of Linux virtual machines.

Per istruzioni sulla creazione e l'uso dei set di disponibilità con il modello di distribuzione classica, vedere Come configurare un set di disponibilità.For instructions on creating and using availability sets when using the classic deployment model, see How to Configure an Availability Set.

Informazioni sui riavvii delle VM: manutenzione e tempo di inattivitàUnderstand VM Reboots - maintenance vs. downtime

Sono tre gli scenari che possono interessare la macchina virtuale in Azure: manutenzione dell'hardware non pianificata, tempo di inattività imprevisto e manutenzione pianificata.There are three scenarios that can lead to virtual machine in Azure being impacted: unplanned hardware maintenance, unexpected downtime, and planned maintenance.

  • Un evento di manutenzione hardware non pianificata si verifica quando la piattaforma Azure prevede che stanno per verificarsi problemi all'hardware o a un componente della piattaforma associato a un computer fisico.Unplanned Hardware Maintenance Event occurs when the Azure platform predicts that the hardware or any platform component associated to a physical machine, is about to fail. Quando la piattaforma prevede un errore, genera un evento di manutenzione hardware non pianificata per ridurre l'impatto sulle macchine virtuali ospitate in tale hardware.When the platform predicts a failure, it will issue an unplanned hardware maintenance event to reduce the impact to the virtual machines hosted on that hardware. Azure usa la tecnologia Live Migration per eseguire la migrazione delle macchine virtuali dall'hardware guasto a un computer fisico integro.Azure uses Live Migration technology to migrate the Virtual Machines from the failing hardware to a healthy physical machine. Live Migration è un'operazione di mantenimento della VM che sospende la macchina virtuale solo per un breve periodo.Live Migration is a VM preserving operation that only pauses the Virtual Machine for a short time. Memoria, file aperti e connessioni di rete vengono conservati, ma le prestazioni potrebbero subire un rallentamento prima e/o dopo l'evento.Memory, open files, and network connections are maintained, but performance might be reduced before and/or after the event. Nei casi in cui non è possibile usare Live Migration, si verificheranno problemi di tempi di inattività imprevisti nella VM, come descritto sotto.In cases where Live Migration cannot be used, the VM will experience Unexpected Downtime, as described below.

  • Si verificano tempi di inattività imprevisti in presenza di malfunzionamenti inaspettati dell'hardware o dell'infrastruttura fisica per la macchina virtuale.An Unexpected Downtime is when the hardware or the physical infrastructure for the virtual machine fails unexpectedly. Può trattarsi, ad esempio, di errori della rete locale, guasti di un disco locale o altri errori a livello di rack.This can include local network failures, local disk failures, or other rack level failures. Quando viene rilevato un errore di questo tipo, la piattaforma Azure esegue automaticamente la migrazione (riparazione) della macchina virtuale a un computer fisico integro nello stesso data center.When detected, the Azure platform automatically migrates (heals) your virtual machine to a healthy physical machine in the same datacenter. Durante la procedura di riparazione, nelle macchine virtuali si verificano tempi di inattività (riavvio) e in alcuni casi la perdita dell'unità temporanea.During the healing procedure, virtual machines experience downtime (reboot) and in some cases loss of the temporary drive. Il sistema operativo e i dischi dati collegati vengono sempre conservati.The attached OS and data disks are always preserved.

    Le macchine virtuali possono anche subire tempi di inattività nell'improbabile eventualità di un'interruzione o emergenza che interessa un intero data center o anche un'intera area.Virtual machines can also experience downtime in the unlikely event of an outage or disaster that affects an entire datacenter, or even an entire region. Per questi scenari, Azure offre opzioni di protezione che includono zone di disponibilità e aree abbinate.For these scenarios, Azure provides protection options including availability zones and paired regions.

  • Gli eventi di manutenzione pianificata sono aggiornamenti periodici effettuati da Microsoft sulla piattaforma Azure sottostante per migliorare l'affidabilità, la sicurezza e le prestazioni complessive dell'infrastruttura della piattaforma su cui sono in esecuzione le macchine virtuali.Planned Maintenance events are periodic updates made by Microsoft to the underlying Azure platform to improve overall reliability, performance, and security of the platform infrastructure that your virtual machines run on. La maggior parte di questi aggiornamenti viene eseguita senza alcuna conseguenza per le macchine virtuali o i servizi cloud. Vedere Manutenzione con mantenimento delle macchine virtuali.Most of these updates are performed without any impact upon your Virtual Machines or Cloud Services (see VM Preserving Maintenance). Anche se la piattaforma Azure cerca di usare la manutenzione con mantenimento delle VM in tutte le occasioni possibili, in alcuni rari casi questi aggiornamenti richiedono un riavvio della macchina virtuale per applicare gli aggiornamenti necessari all'infrastruttura sottostante.While the Azure platform attempts to use VM Preserving Maintenance in all possible occasions, there are rare instances when these updates require a reboot of your virtual machine to apply the required updates to the underlying infrastructure. In tal caso, è possibile eseguire la manutenzione pianificata di Azure con l'operazione di ridistribuzione della manutenzione avviando la manutenzione per le VM nell'intervallo di tempo adatto.In this case, you can perform Azure Planned Maintenance with Maintenance-Redeploy operation by initiating the maintenance for their VMs in the suitable time window. Per altre informazioni, vedere Manutenzione pianificata per le macchine virtuali.For more information, see Planned Maintenance for Virtual Machines.

Per ridurre le conseguenze dei tempi di inattività causati da uno o più di questi eventi, è possibile attuare le seguenti procedure consigliate per aumentare la disponibilità delle macchine virtuali:To reduce the impact of downtime due to one or more of these events, we recommend the following high availability best practices for your virtual machines:

Usare le zone di disponibilità per la protezione dagli errori a livello di data centerUse availability zones to protect from datacenter level failures

Le zone di disponibilità ampliano il livello di controllo necessario per mantenere la disponibilità delle applicazioni e dei dati nelle macchine virtuali.Availability zones expand the level of control you have to maintain the availability of the applications and data on your VMs. Le zone di disponibilità sono località fisiche esclusive all'interno di un'area di Azure.Availability Zones are unique physical locations within an Azure region. Ogni zona è costituita da uno o più data center dotati di impianti indipendenti per l'alimentazione, il raffreddamento e la connettività di rete.Each zone is made up of one or more datacenters equipped with independent power, cooling, and networking. Per garantire la resilienza, sono disponibili almeno tre zone separate in tutte le aree abilitate.To ensure resiliency, there are a minimum of three separate zones in all enabled regions. La separazione fisica delle zone di disponibilità all'interno di un'area consente di proteggere le applicazioni e i dati da eventuali guasti del data center.The physical separation of Availability Zones within a region protects applications and data from datacenter failures. I servizi con ridondanza della zona replicano le applicazioni e i dati tra aree di disponibilità per garantire la protezione da singoli punti di errore.Zone-redundant services replicate your applications and data across Availability Zones to protect from single-points-of-failure.

Una zona di disponibilità in un'area di Azure è una combinazione di un dominio di errore e un dominio di aggiornamento.An Availability Zone in an Azure region is a combination of a fault domain and an update domain. Ad esempio, se si creano tre o più macchine virtuali in tre aree in un'area di Azure, le macchine virtuali vengono distribuite in modo efficace in tre domini di errore e tre domini di aggiornamento.For example, if you create three or more VMs across three zones in an Azure region, your VMs are effectively distributed across three fault domains and three update domains. La piattaforma di Azure riconosce questa distribuzione in domini di aggiornamento per assicurarsi che le macchine virtuali in diverse aree non vengano aggiornate contemporaneamente.The Azure platform recognizes this distribution across update domains to make sure that VMs in different zones are not updated at the same time.

Con le zone di disponibilità, Azure offre un contratto di servizio con tempo di attività delle VM del 99,99% tra i migliori del settore.With Availability Zones, Azure offers industry best 99.99% VM uptime SLA. Progettando le soluzioni per l'uso di macchine virtuali replicate in zone, è possibile proteggere le applicazioni e i dati dalla perdita di un Data Center.By architecting your solutions to use replicated VMs in zones, you can protect your applications and data from the loss of a datacenter. Se una zona è compromessa, le app e i dati replicati diventano immediatamente disponibili in un'altra zona.If one zone is compromised, then replicated apps and data are instantly available in another zone.

Zone di disponibilità

Altre informazioni sulla distribuzione di una macchina virtuale Windows o Linux in una zona di disponibilità.Learn more about deploying a Windows or Linux VM in an Availability Zone.

Configurare più macchine virtuali in un set di disponibilità per la ridondanzaConfigure multiple virtual machines in an availability set for redundancy

I set di disponibilità sono un'altra configurazione del Data Center per garantire la ridondanza e la disponibilità delle VM.Availability sets are another datacenter configuration to provide VM redundancy and availability. Questa configurazione in un data center assicura infatti che, nel corso di un evento di manutenzione pianificata o non pianificata, almeno una delle macchine virtuali sia sempre disponibile e soddisfi per almeno il 99,95% i requisiti del contratto di servizio di Azure.This configuration within a datacenter ensures that during either a planned or unplanned maintenance event, at least one virtual machine is available and meets the 99.95% Azure SLA. Per altre informazioni, vedere Contratto di Servizio per Macchine virtuali.For more information, see the SLA for Virtual Machines.

Importante

Evitare di lasciare un'unica istanza di macchina virtuale in un set di disponibilità.Avoid leaving a single instance virtual machine in an availability set by itself. Le macchine virtuali in questa configurazione non si qualificano per la garanzia del Contratto di servizio e sono soggette a tempi di inattività durante gli eventi di manutenzione pianificata di Azure, fatta eccezione per quando una macchina virtuale singola usa unità SSD Premium di Azure.VMs in this configuration do not qualify for a SLA guarantee and face downtime during Azure planned maintenance events, except when a single VM is using Azure premium SSDs. Il Contratto di servizio di Azure si applica alle macchine virtuali singole che usano unità SSD Premium.For single VMs using premium SSDs, the Azure SLA applies.

A ciascuna macchina virtuale nel set di disponibilità viene assegnato un dominio di aggiornamento e un dominio di errore dalla piattaforma Azure sottostante.Each virtual machine in your availability set is assigned an update domain and a fault domain by the underlying Azure platform. Per ogni set di disponibilità vengono assegnati cinque domini di aggiornamento non configurabili dall'utente per impostazione predefinita, è possibile quindi aumentare le distribuzioni Resource Manager per fornire fino a venti domini di aggiornamento, per indicare i gruppi di macchine virtuali con il relativo hardware fisico sottostante che è possibile riavviare contemporaneamente.For a given availability set, five non-user-configurable update domains are assigned by default (Resource Manager deployments can then be increased to provide up to 20 update domains) to indicate groups of virtual machines and underlying physical hardware that can be rebooted at the same time. Se in un set di disponibilità vengono configurate più di cinque macchine virtuali, la sesta macchina viene inserita nello stesso dominio di aggiornamento della prima, la settima nel dominio di aggiornamento della seconda e così via.When more than five virtual machines are configured within a single availability set, the sixth virtual machine is placed into the same update domain as the first virtual machine, the seventh in the same update domain as the second virtual machine, and so on. I domini di aggiornamento non vengono necessariamente riavviati in ordine sequenziale durante la manutenzione pianificata, ma ne viene riavviato uno solo alla volta.The order of update domains being rebooted may not proceed sequentially during planned maintenance, but only one update domain is rebooted at a time. Un dominio di aggiornamento riavviato ha 30 minuti di tempo per eseguire il ripristino prima che venga avviata la manutenzione in un altro dominio di aggiornamento.A rebooted update domain is given 30 minutes to recover before maintenance is initiated on a different update domain.

I domini di errore definiscono il gruppo di macchine virtuali che condividono una fonte di alimentazione e uno switch di rete comuni.Fault domains define the group of virtual machines that share a common power source and network switch. Per impostazione predefinita, le macchine virtuali configurate in un set di disponibilità vengono suddivise tra un massimo di tre domini di errore per le distribuzioni di Resource Manager e in due domini di errore per la distribuzione classica.By default, the virtual machines configured within your availability set are separated across up to three fault domains for Resource Manager deployments (two fault domains for Classic). Il raggruppamento di più macchine virtuali in un set di disponibilità non garantisce la protezione dell'applicazione da eventuali errori del sistema operativo o di singole applicazioni, ma limita le conseguenze prodotte da potenziali guasti dell'hardware fisico e interruzioni di rete o di alimentazione.While placing your virtual machines into an availability set does not protect your application from operating system or application-specific failures, it does limit the impact of potential physical hardware failures, network outages, or power interruptions.

Disegno concettuale della configurazione del dominio di aggiornamento e del dominio di erroreConceptual drawing of the update domain and fault domain configuration

Usare Managed Disks per le macchine virtuali nel set di disponibilitàUse managed disks for VMs in an availability set

Se si usano macchine virtuali con dischi non gestiti, è fortemente consigliabile convertire le macchine virtuali nel set di disponibilità per l'uso di Managed Disks.If you are currently using VMs with unmanaged disks, we highly recommend you convert VMs in Availability Set to use Managed Disks.

Managed Disks offre una maggiore affidabilità per i set di disponibilità, perché fa in modo che i dischi delle macchine virtuali in un set di disponibilità siano sufficientemente isolati gli uni dagli altri per evitare singoli punti di errore.Managed disks provide better reliability for Availability Sets by ensuring that the disks of VMs in an Availability Set are sufficiently isolated from each other to avoid single points of failure. Ciò avviene inserendo automaticamente i dischi in domini di errore di archiviazione diversi (cluster di archiviazione) e allineandoli al dominio di errore della macchina virtuale.It does this by automatically placing the disks in different storage fault domains (storage clusters) and aligning them with the VM fault domain. Se un dominio di errore di archiviazione non riesce a causa di un errore hardware o software, risulterà in errore solo l'istanza della macchina virtuale con dischi nel dominio di errore di archiviazione.If a storage fault domain fails due to hardware or software failure, only the VM instance with disks on the storage fault domain fails. Domini di errore di Managed DisksManaged disks FDs

Importante

Il numero di domini di errore per i set di disponibilità gestiti dipende dall'area: due o tre per area.The number of fault domains for managed availability sets varies by region - either two or three per region. La tabella seguente illustra il numero per areaThe following table shows the number per region

Numero di domini di errore per areaNumber of Fault Domains per region

RegionRegion Numero massimo di domini di erroreMax # of Fault Domains
East USEast US 33
Stati Uniti orientali 2East US 2 33
Stati Uniti occidentaliWest US 33
Stati Uniti occidentali 2West US 2 22
Stati Uniti centraliCentral US 33
Stati Uniti centro-settentrionaliNorth Central US 33
Stati Uniti centro-meridionaliSouth Central US 33
Stati Uniti centro-occidentaliWest Central US 22
Canada centraleCanada Central 33
Canada orientaleCanada East 22
Europa settentrionaleNorth Europe 33
Europa occidentaleWest Europe 33
Regno Unito meridionaleUK South 22
Regno Unito occidentaleUK West 22
Asia orientaleEast Asia 22
Asia sudorientaleSouth East Asia 22
Giappone orientaleJapan East 22
Giappone occidentaleJapan West 22
India meridionaleSouth India 22
India centraleCentral India 22
India occidentaleWest India 22
Corea del Sud centraleKorea Central 22
Corea del Sud meridionaleKorea South 22
Emirati Arabi Uniti settentrionaliUAE North 22
Australia orientaleAustralia East 22
Australia sud-orientaleAustralia Southeast 22
Australia centraleAustralia Central 22
Australia centrale 2Australia Central 2 22
Brasile meridionaleBrazil South 22
US Gov VirginiaUS Gov Virginia 22
US Gov TexasUS Gov Texas 22
US Gov ArizonaUS Gov Arizona 22
US DoD (area centrale)US DoD Central 22
US DoD (area orientale)US DoD East 22

Se si intende usare macchine virtuali con dischi non gestiti, seguire queste procedure consigliate per gli account di archiviazione in cui i dischi rigidi virtuali delle macchine virtuali vengono archiviati come BLOB di pagine.If you plan to use VMs with unmanaged disks, follow below best practices for Storage accounts where virtual hard disks (VHDs) of VMs are stored as page blobs.

  1. Mantenere tutti i dischi (sistema operativo e dati) associati a una macchina virtuale nello stesso account di archiviazioneKeep all disks (OS and data) associated with a VM in the same storage account
  2. Esaminare i limiti al numero di dischi non gestiti in un account di archiviazione prima di aggiungere altri dischi rigidi virtuali a un account di archiviazioneReview the limits on the number of unmanaged disks in a Storage account before adding more VHDs to a storage account
  3. Usare un account di archiviazione separato per ogni macchina virtuale di un set di disponibilità.Use separate storage account for each VM in an Availability Set. Non condividere gli account di archiviazione con più macchine virtuali in uno stesso set di disponibilità.Do not share Storage accounts with multiple VMs in the same Availability Set. Le macchine virtuali di set di disponibilità diversi possono condividere gli account di archiviazione, purché vengano seguite le procedure consigliate indicate in precedenza in Domini di errore dei dischi non gestitiIt is acceptable for VMs across different Availability Sets to share storage accounts if above best practices are followed Unmanaged disks FDs

Usare Eventi pianificati per rispondere in modo proattivo agli eventi che hanno impatto sulle macchine virtualiUse scheduled events to proactively respond to VM impacting events

Quando si esegue la sottoscrizione a eventi pianificati, la macchina virtuale riceve una notifica sugli eventi di manutenzione imminenti che possono influire su di essa.When you subscribe to scheduled events, your VM is notified about upcoming maintenance events that can impact your VM. Quando gli eventi pianificati sono abilitati, alla macchina virtuale viene concessa una quantità minima di tempo prima che l'attività di manutenzione venga eseguita.When scheduled events are enabled, your virtual machine is given a minimum amount of time before the maintenance activity is performed. Ad esempio, gli aggiornamenti del sistema operativo host che possono influire sulla macchina virtuale vengono accodati come eventi che specificano l'impatto, insieme a un orario in cui verrà eseguita la manutenzione se non viene effettuata alcuna azione.For example, Host OS updates that might impact your VM are queued up as events that specify the impact, as well as a time at which the maintenance will be performed if no action is taken. Gli eventi pianificati vengono accodati anche quando Azure rileva un errore hardware imminente che potrebbe influire sulla macchina virtuale, consentendo di decidere quando deve essere eseguita la correzione.Schedule events are also queued up when Azure detects imminent hardware failure that might impact your VM, which allows you to decide when the healing should be performed. I clienti possono usare l'evento per eseguire attività prima della manutenzione, ad esempio il salvataggio dello stato, il failover su un sistema secondario e così via.Customers can use the event to perform tasks prior to the maintenance, such as saving state, failing over to the secondary, and so on. Dopo aver completato la logica per gestire correttamente l'evento di manutenzione, è possibile approvare l'evento pianificato in sospeso per consentire alla piattaforma di procedere con la manutenzione.After you complete your logic for gracefully handling the maintenance event, you can approve the outstanding scheduled event to allow the platform to proceed with maintenance.

Configurare ogni livello dell'applicazione in zone di disponibilità o set di disponibilità separatiConfigure each application tier into separate availability zones or availability sets

Se le macchine virtuali sono quasi identiche e svolgono la stessa funzione per l'applicazione, è consigliabile configurare una zona di disponibilità o un set di disponibilità per ogni livello dell'applicazione.If your virtual machines are all nearly identical and serve the same purpose for your application, we recommend that you configure an availability zone or availability set for each tier of your application. Se si inseriscono due livelli diversi nella stessa zona di disponibilità o in un set, è possibile riavviare contemporaneamente tutte le macchine virtuali nello stesso livello applicazione.If you place two different tiers in the same availability zone or set, all virtual machines in the same application tier can be rebooted at once. Configurando almeno due macchine virtuali in una zona di disponibilità o impostate per ogni livello, si garantisce che sia disponibile almeno una macchina virtuale in ogni livello.By configuring at least two virtual machines in an availability zone or set for each tier, you guarantee that at least one virtual machine in each tier is available.

Ad esempio, è possibile inserire tutte le macchine virtuali nel front-end dell'applicazione che esegue IIS, Apache e nginx in una singola zona di disponibilità o in un set.For example, you could put all the virtual machines in the front end of your application running IIS, Apache, and Nginx in a single availability zone or set. Assicurarsi che solo le macchine virtuali front-end si trovino nella stessa zona di disponibilità o nello stesso set.Make sure that only front-end virtual machines are placed in the same availability zone or set. Analogamente, assicurarsi che solo le macchine virtuali del livello dati siano inserite nella propria zona di disponibilità o in un set, ad esempio le macchine virtuali SQL Server replicate o le macchine virtuali MySQL.Similarly, make sure that only data-tier virtual machines are placed in their own availability zone or set, like your replicated SQL Server virtual machines, or your MySQL virtual machines.

Livelli applicazioneApplication tiers

Combinare un servizio di bilanciamento del carico con le zone o i set di disponibilitàCombine a load balancer with availability zones or sets

Combinare la Azure Load Balancer con una zona di disponibilità o impostare per ottenere la massima resilienza dell'applicazione.Combine the Azure Load Balancer with an availability zone or set to get the most application resiliency. Il servizio di bilanciamento del carico distribuisce il traffico tra più macchine virtualiThe Azure Load Balancer distributes traffic between multiple virtual machines. ed è incluso nelle macchine virtuali di livello Standard.For our Standard tier virtual machines, the Azure Load Balancer is included. Non tutti i livelli delle macchine virtuali includono Azure Load Balancer.Not all virtual machine tiers include the Azure Load Balancer. Per altre informazioni sul bilanciamento del carico delle macchine virtuali, vedere Load Balancing virtual machines (Bilanciamento del carico delle macchine virtuali).For more information about load balancing your virtual machines, see Load Balancing virtual machines.

Se il bilanciamento del carico non è configurato in modo da bilanciare il traffico tra più macchine virtuali, qualsiasi evento di manutenzione pianificata influirà sull'unica macchina virtuale di gestione del traffico, determinando un'interruzione del livello di applicazione.If the load balancer is not configured to balance traffic across multiple virtual machines, then any planned maintenance event affects the only traffic-serving virtual machine, causing an outage to your application tier. Associando più macchine virtuali dello stesso livello a un unico servizio di bilanciamento del carico e a uno stesso set di disponibilità, si garantisce che il traffico sia sempre gestito da almeno un'istanza.Placing multiple virtual machines of the same tier under the same load balancer and availability set enables traffic to be continuously served by at least one instance.

Per un'esercitazione su come bilanciare il carico tra le zone di disponibilità, vedere bilanciamento del carico delle macchine virtuali in tutte le zone di disponibilità usando l'interfaccia della riga di comando di AzureFor a tutorial on how to load balance across availability zones, see Load balance VMs across all availability zones by using the Azure CLI.

Passaggi successiviNext steps

Per altre informazioni sul bilanciamento del carico delle macchine virtuali, vedere Bilanciamento del traffico di Azure per macchine virtuali.To learn more about load balancing your virtual machines, see Load Balancing virtual machines.