Gestire la disponibilità delle macchine virtuali LinuxManage the availability of Linux virtual machines

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

Nota

Azure offre due modelli di distribuzione per creare e usare le risorse: Gestione risorse e la distribuzione classica.Azure has two different deployment models for creating and working with resources: Resource Manager and classic. In questo articolo viene illustrato l'utilizzo di entrambi i modelli, ma Microsoft indica che le distribuzioni più nuove utilizzano il modello di gestione delle risorse.This article covers using both models, but Microsoft recommends that most new deployments use the Resource Manager model.

Per istruzioni sulla creazione di un set di disponibilità tramite l'interfaccia della riga di comando nel modello di distribuzione di Resource Manager, vedere azure availset - Comandi per gestire i set di disponibilità.For instructions on creating an availability set using CLI in the Resource Manager deployment model, see azure availset: commands to manage your availability sets.

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 non funzionante 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.

  • Un tempo di inattività imprevisto ha luogo raramente quando si verifica un guasto dell'hardware o dell'infrastruttura fisica sottostante la macchina virtuale.An Unexpected Downtime rarely occurs when the hardware or the physical infrastructure underlying your virtual machine has faulted in some way. Può trattarsi, ad esempio, di errori della rete locale, guasti di un disco locale o altri errori a livello di rack.This may 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 such a failure is 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:

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

Per garantire la ridondanza dell'applicazione, è consigliabile raggruppare due o più macchine virtuali in un set di disponibilità.To provide redundancy to your application, we recommend that you group two or more virtual machines in an availability set. 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, se non quando una macchina virtuale singola usa Archiviazione 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 Storage. Il contratto di servizio di Azure si applica alle macchine virtuali singole che usano Archiviazione Premium.For single VMs using premium storage, 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.

Rappresentazione concettuale della configurazione di domini di aggiornamento e di errore

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 mediante l'inserimento automatico dei dischi in cluster di archiviazione diversi.It does this by automatically placing the disks in different storage clusters. Se un cluster di archiviazione non riesce a causa di un errore hardware o software, hanno esito negativo solo le istanze delle macchine virtuali con dischi in tali stamp.If a storage cluster fails due to hardware or software failure, only the VM instances with disks on those stamps fail.

Domini di errore dei dischi gestiti

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
Stati Uniti orientaliEast 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 22
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 centraleKorea Central 22
Corea meridionaleKorea South 22
Australia orientaleAustralia East 22
Australia sudorientaleAustralia Southeast 22
Brasile meridionaleBrazil South 22
US Gov VirginiaUS Gov Virginia 22
Governo degli Stati Uniti - TexasUS Gov Texas 22
Governo degli Stati Uniti - ArizonaUS Gov Arizona 22
Dipartimento della difesa Stati Uniti centraliUS DoD Central 22
Dipartimento della difesa Stati Uniti orientaliUS 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 (VHD) 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 precedenti.It is acceptable for VMs across different Availability Sets to share storage accounts if above best practices are followed

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

Se le macchine virtuali sono quasi identiche e svolgono tutte la stessa funzione per l'applicazione, è consigliabile configurare 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 set for each tier of your application. Se in un set di disponibilità si definiscono due livelli diversi, è possibile riavviare contemporaneamente tutte le macchine virtuali dello stesso livello applicazione.If you place two different tiers in the same availability set, all virtual machines in the same application tier can be rebooted at once. Configurando almeno due macchine virtuali per ogni livello di un set di disponibilità, si garantisce la disponibilità di almeno una macchina virtuale in ogni livello.By configuring at least two virtual machines in an availability set for each tier, you guarantee that at least one virtual machine in each tier is available.

Ad esempio, è possibile inserire in un unico set di disponibilità tutte le macchine virtuali che si trovano nel front-end dell'applicazione che esegue IIS, Apache e Nginx.For example, you could put all the virtual machines in the front end of your application running IIS, Apache, Nginx in a single availability set. Accertarsi che in uno stesso set di disponibilità siano inserite solo le macchine virtuali del front-endMake sure that only front-end virtual machines are placed in the same availability set. e, analogamente, che in uno specifico set di disponibilità siano inserite solo le macchine virtuali livello dati, ad esempio le macchine virtuali di SQL Server replicate o MySQL.Similarly, make sure that only data-tier virtual machines are placed in their own availability set, like your replicated SQL Server virtual machines, or your MySQL virtual machines.

Livelli di applicazione

Combinare il bilanciamento del carico con set di disponibilitàCombine a load balancer with availability sets

Per ottenere una resilienza elevata dell'applicazione, è possibile combinare Azure Load Balancer con un set di disponibilità.Combine the Azure Load Balancer with an availability 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.

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

Zone di disponibilità (anteprima), un'alternativa ai set di disponibilità, espande il livello di controllo per mantenere la disponibilità delle applicazioni e dei dati nelle macchine virtuali.Availability zones (preview), an alternative to availability sets, expand the level of control you have to maintain the availability of the applications and data on your VMs. Una zona di disponibilità è una zona fisicamente separata in un'area di Azure.An Availability Zone is a physically separate zone within an Azure region. Esistono tre zone di disponibilità per ogni area di Azure supportata.There are three Availability Zones per supported Azure region. Ogni zona di disponibilità ha alimentazione, rete e raffreddamento a sé ed è separata in modo logico da altre zone di disponibilità nell'area di Azure.Each Availability Zone has a distinct power source, network, and cooling, and is logically separate from the other Availability Zones within the Azure region. Progettando le soluzioni in modo che usino VM replicate nelle zone, è possibile proteggere app e dati dalla perdita di un data center.By architecting your solutions to use replicated VMs in zones, you can protect your apps 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à

Nota

Zone di disponibilità di Azure è in versione di anteprima e pronto per gli scenari di sviluppo e test.Azure Availability Zones is in preview and is ready for your development and test scenarios. Il supporto è disponibile per alcune risorse, aree e famiglie di dimensioni di Azure.Support is available for select Azure resources, regions, and size families. Per altre informazioni su come iniziare e con quali risorse, aree e famiglie di dimensioni di Azure è possibile provare Zone di disponibilità, vedere Panoramica di Zone di disponibilità.For more information on how to get started, and which Azure resources, regions, and size families you can try with Availability Zones, see Overview of Availability Zones. È possibile fornire commenti e suggerimenti nel sito Web di Azure.You can provide feedback on the Azure website. Per assistenza, contattare StackOverflow o aprire un ticket di supporto di Azure.For support, contact StackOverflow or open an Azure support ticket.

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.

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.