Notifiche di manutenzione pianificata per set di scalabilità di macchine virtuali
Azure esegue periodicamente aggiornamenti per migliorare l'affidabilità, le prestazioni e la sicurezza dell'infrastruttura host per le macchine virtuali. Gli aggiornamenti potrebbero includere l'applicazione di patch all'ambiente di hosting o l'aggiornamento e la rimozione di componenti hardware. La maggior parte degli aggiornamenti non influisce sulle macchine virtuali ospitate. Tuttavia, gli aggiornamenti interessano le macchine virtuali in questi scenari:
Se la manutenzione non richiede un riavvio, Azure sospende la macchina virtuale per alcuni secondi mentre l'host viene aggiornato. Questi tipi di operazioni di manutenzione vengono applicati al dominio di errore per dominio di errore. L'operazione viene interrotta in caso di ricezione di segnali di integrità di avviso.
Se la manutenzione richiede un riavvio, si riceve un avviso che informa per quando è pianificata la manutenzione. In questi casi, si riceve un intervallo di tempo che in genere è di 35 giorni in cui è possibile avviare la manutenzione manualmente, quando funziona per te.
La manutenzione pianificata che richiede un riavvio viene pianificata in cicli. Ogni ciclo ha un ambito diverso (aree),
- e inizia con un avviso ai clienti. Per impostazione predefinita, la notifica viene inviata ai proprietari della sottoscrizione e ai comproprietari. È possibile aggiungere destinatari e opzioni di messaggistica, come messaggi di posta elettronica, SMS e webhook, alle notifiche tramite gli avvisi del log attività di Azure.
- Con la notifica viene resa disponibile una finestra self-service. Durante questa finestra che in genere è di 35 giorni, è possibile trovare quali macchine virtuali sono incluse nell'onda. È possibile avviare la manutenzione in modo proattivo in base alle proprie esigenze di pianificazione.
- Dopo l'intervallo in modalità self-service, viene avviato un intervallo di manutenzione pianificato. In un determinato momento di questo intervallo, Azure pianifica e applica la manutenzione necessaria alla macchina virtuale.
La presenza di due finestre consente di avere tempo sufficiente per iniziare la manutenzione e riavviare la macchina virtuale, sapendo comunque quando Azure avvierà automaticamente la manutenzione.
È possibile usare le portale di Azure, PowerShell, l'API REST e l'interfaccia della riga di comando di Azure per eseguire query per le finestre di manutenzione per le macchine virtuali del set di scalabilità di macchine virtuali e per avviare la manutenzione self-service.
La manutenzione deve iniziare durante l'intervallo in modalità self-service?
Le linee guida seguenti sono utili per decidere se avviare la manutenzione in un orario scelto.
Nota
La manutenzione in modalità self-service potrebbe non essere disponibile per tutte le macchine virtuali. Per determinare se per la macchina virtuale è disponibile la ridistribuzione proattiva, cercare l'opzione Start now (Inizia ora) nello stato di manutenzione. Attualmente, la manutenzione self-service non è disponibile per Servizi cloud di Azure (ruolo Web o di lavoro) e per Azure Service Fabric.
La manutenzione self-service non è consigliata per distribuzioni che usano set di disponibilità. I set di disponibilità sono configurazioni a disponibilità elevata in cui è interessato un solo dominio di aggiornamento alla volta. Per i set di disponibilità:
- Lasciare che Azure attivi la manutenzione. Per la manutenzione che richiede un riavvio, la manutenzione viene eseguita per un dominio di aggiornamento alla volta. I domini di aggiornamento non ricevono necessariamente la manutenzione in modo sequenziale. È prevista una pausa di 30 minuti tra i domini di aggiornamento.
- Se una perdita di capacità temporanea (1/numero domini di aggiornamento) rappresenta un problema, è possibile compensare facilmente con l'allocazione di istanze aggiuntive durante il periodo di manutenzione.
- Per la manutenzione che non richiede un riavvio, gli aggiornamenti vengono applicati a livello di dominio di errore.
Non usare la manutenzione self-service negli scenari seguenti:
- Se si arrestano di frequente le macchine virtuali, manualmente, tramite DevTest Labs, con l'arresto automatico o in base a una pianificazione. La manutenzione self-service in questi scenari potrebbe ripristinare lo stato di manutenzione con un conseguente aumento del tempo di inattività.
- Nelle VM di breve durata che si è certi saranno eliminate prima della fine del ciclo di manutenzione.
- In carichi di lavoro con uno stato di grandi dimensioni archiviato nel disco locale (temporaneo) che si vuole mantenere dopo l'aggiornamento.
- Se si ridimensiona la macchina virtuale spesso. Questo scenario potrebbe ripristinare lo stato di manutenzione.
- Nel caso in cui siano stati adottati eventi pianificati che consentono il failover proattivo o l'arresto normale del carico di lavoro, 15 minuti prima dell'inizio dell'arresto della manutenzione.
Usare la manutenzione self-service se si prevede di eseguire la macchina virtuale senza interruzioni durante la fase di manutenzione pianificata e nessuna delle controindicazioni precedenti è applicabile.
È consigliabile usare la manutenzione self-service nei casi seguenti:
- Necessità di comunicare un intervallo di manutenzione esatto ai propri responsabili o ai clienti finali.
- Necessità di completare la manutenzione entro una data specifica.
- Necessità di controllare la sequenza di manutenzione, ad esempio, in un'applicazione a più livelli per garantire un recupero sicuro.
- Necessità di oltre 30 minuti di tempo di recupero per le macchine virtuali tra due domini di aggiornamento. Per controllare l'intervallo tra i domini di aggiornamento, è necessario attivare la manutenzione sulle macchine virtuali di un dominio di aggiornamento alla volta.
Visualizzare set di scalabilità di macchine virtuali interessati dalla manutenzione nel portale
Quando viene pianificata un'ondata di manutenzione pianificata, è possibile visualizzare l'elenco delle set di scalabilità di macchine virtuali interessate dall'imminente onda di manutenzione utilizzando il portale di Azure.
Accedere al portale di Azure.
Nel menu a sinistra selezionare Tutti i servizi e quindi selezionare set di scalabilità di macchine virtuali.
In set di scalabilità di macchine virtuali selezionare Modifica colonne per aprire l'elenco delle colonne disponibili.
Nella sezione Colonne disponibili selezionare Manutenzione self-service e quindi spostare la voce nell'elenco Colonne selezionate. Selezionare Applica.
Per rendere la voce Manutenzione self-service più facile da trovare, è possibile modificare l'opzione selezionata nell'elenco a discesa nella sezione Colonne disponibili da Tutti a Proprietà.
La colonna Manutenzione self-service viene ora visualizzata nell'elenco di set di scalabilità di macchine virtuali. Ogni set di scalabilità di macchine virtuali può avere uno dei valori seguenti per la colonna di manutenzione self-service:
valore | Descrizione |
---|---|
Sì | Almeno una macchina virtuale nel set di scalabilità di macchine virtuali si trova in una finestra self-service. È possibile avviare la manutenzione in qualsiasi momento durante questa finestra self-service. |
No | Nessuna macchina virtuale si trova in una finestra self-service nel set di scalabilità di macchine virtuali interessato. |
- | I set di scalabilità di macchine virtuali non fanno parte di un'ondata di manutenzione pianificata. |
Notifiche e avvisi del portale
Azure comunica il programma di una manutenzione pianificata inviando un messaggio di posta elettronica al proprietario e ai comproprietari della sottoscrizione. È possibile aggiungere destinatari e canali a questa comunicazione creando avvisi del log attività. Per altre informazioni, vedere Monitorare l'attività di sottoscrizione con il log attività di Azure.
Accedere al portale di Azure.
Nel menu a sinistra selezionare Monitoraggio.
Nel menu Monitoraggio selezionare Integrità dei servizi.
In Integrità dei servizi selezionare + Crea avviso di integrità del servizio.
Nella pagina Crea una regola di avviso:
- Selezionare la sottoscrizione e l'area pertinenti contenenti le risorse da monitorare per gli eventi di manutenzione pianificata.
- Specificare quanto segue:
- Servizi: set di scalabilità di macchine virtuali e Macchine virtuali
- Tipo di evento: Manutenzione pianificata
In Azioni aggiungere gruppi di azioni alla regola di avviso per inviare notifiche o richiamare azioni quando viene ricevuto un evento di manutenzione pianificata.
Compilare i dettagli in Dettagli regola di avviso.
Selezionare Crea regola di avviso.
Per altre informazioni su come configurare gli avvisi del log attività, vedere Creare avvisi del log attività.
Avviare la manutenzione nel set di scalabilità di macchine virtuali dal portale
È possibile visualizzare altri dettagli relativi alla manutenzione nella panoramica di set di scalabilità di macchine virtuali. Se almeno una macchina virtuale nel set di scalabilità di macchine virtuali è inclusa nell'ondata di manutenzione pianificata, viene aggiunta una nuova barra multifunzione di notifica nella parte superiore della pagina. Selezionare la barra delle notifiche per passare alla pagina Manutenzione.
Nella pagina Manutenzione è possibile visualizzare quale istanza di macchina virtuale è interessata dalla manutenzione pianificata. Per avviare la manutenzione, selezionare la casella di controllo corrispondente alla macchina virtuale interessata. Selezionare quindi Avvia la manutenzione.
Dopo aver avviato la manutenzione, le macchine virtuali interessate nel set di scalabilità di macchine virtuali vengono sottoposte a manutenzione e sono temporaneamente non disponibili. Se non è stata visualizzata la finestra self-service, è comunque possibile visualizzare l'intervallo di tempo in cui il set di scalabilità di macchine virtuali verrà gestito da Azure.
Controllare lo stato della manutenzione con PowerShell
È possibile usare Azure PowerShell per verificare quando le macchine virtuali nel set di scalabilità di macchine virtuali sono pianificate per la manutenzione. Le informazioni sulla manutenzione pianificata sono disponibili usando il cmdlet Get-AzVmssVM quando si usa il -InstanceView
parametro .
Le informazioni vengono restituite solo se la manutenzione è pianificata. Se non è presente alcuna manutenzione pianificata per l'istanza della macchina virtuale, il cmdlet non restituisce informazioni.
Get-AzVmssVm -ResourceGroupName rgName -VMScaleSetName vmssName -InstanceId id -InstanceView
MaintenanceRedeployStatus restituisce le proprietà seguenti:
valore | Descrizione |
---|---|
IsCustomerInitiatedMaintenanceAllowed | Indica se in questo momento è possibile avviare la manutenzione per la macchina virtuale. |
PreMaintenanceWindowStartTime | Inizio della finestra di manutenzione self-service, che segnala la possibilità di avviare la manutenzione della macchina virtuale. |
PreMaintenanceWindowEndTime | Termine della finestra di manutenzione self-service, che segnala la possibilità di avviare la manutenzione della macchina virtuale. |
MaintenanceWindowStartTime | Inizio della manutenzione pianificata in cui Azure avvia la manutenzione della macchina virtuale. |
MaintenanceWindowEndTime | Fine della finestra di manutenzione pianificata in cui Azure avvia la manutenzione della macchina virtuale. |
LastOperationResultCode | Risultato dell'ultimo tentativo di avviare la manutenzione della macchina virtuale. |
Avviare la manutenzione dell'istanza della macchina virtuale usando PowerShell
È possibile avviare la manutenzione di una macchina virtuale se IsCustomerInitiatedMaintenanceAllowed è impostato su true. Usare il cmdlet Set-AzVmssVM con -PerformMaintenance
il parametro .
Set-AzVmssVM -ResourceGroupName rgName -VMScaleSetName vmssName -InstanceId id -PerformMaintenance
Controllare lo stato della manutenzione con l'interfaccia della riga di comando
È possibile visualizzare le informazioni per la manutenzione pianificata con az vmss list-instances.
Le informazioni vengono restituite solo se la manutenzione è pianificata. Se non è presente alcuna manutenzione pianificata per l'istanza della macchina virtuale, il comando non restituisce informazioni.
az vmss list-instances -g rgName -n vmssName --expand instanceView
MaintenanceRedeployStatus restituisce le proprietà seguenti per ogni istanza della macchina virtuale:
valore | Descrizione |
---|---|
IsCustomerInitiatedMaintenanceAllowed | Indica se in questo momento è possibile avviare la manutenzione per la macchina virtuale. |
PreMaintenanceWindowStartTime | Inizio della finestra di manutenzione self-service, che segnala la possibilità di avviare la manutenzione della macchina virtuale. |
PreMaintenanceWindowEndTime | Termine della finestra di manutenzione self-service, che segnala la possibilità di avviare la manutenzione della macchina virtuale. |
MaintenanceWindowStartTime | Inizio della manutenzione pianificata in cui Azure avvia la manutenzione della macchina virtuale. |
MaintenanceWindowEndTime | Fine della finestra di manutenzione pianificata in cui Azure avvia la manutenzione della macchina virtuale. |
LastOperationResultCode | Risultato dell'ultimo tentativo di avviare la manutenzione della macchina virtuale. |
Avviare la manutenzione dell'istanza della macchina virtuale usando l'interfaccia della riga di comando
La chiamata seguente avvia la manutenzione in un'istanza della macchina virtuale se IsCustomerInitiatedMaintenanceAllowed
è impostata su true:
az vmss perform-maintenance -g rgName -n vmssName --instance-ids id
Domande frequenti
D: perché è necessario riavviare le macchine virtuali?
R: anche se la maggior parte degli aggiornamenti della piattaforma Azure non influisce sulla disponibilità delle macchine virtuali, in alcuni casi, non è possibile evitare di riavviare le macchine virtuali ospitate in Azure. Sono state accumulate diverse modifiche che rendono necessario il riavvio dei server e di conseguenza anche quello delle macchine virtuali.
D: è sicuro seguire le raccomandazioni per la disponibilità elevata che prevedono l'uso di un set di disponibilità?
R: Le macchine virtuali distribuite in un set di disponibilità o in set di scalabilità di macchine virtuali usano domini di aggiornamento. Quando si esegue la manutenzione, Azure rispetta il vincolo dei domini di aggiornamento e non riavvia le macchine virtuali da un dominio di aggiornamento diverso (all'interno dello stesso set di disponibilità). Azure attende anche almeno 30 minuti prima di passare al gruppo successivo di macchine virtuali.
Per altre informazioni sulla disponibilità elevata, vedere Regions and availability for virtual machines in Azure (Aree e disponibilità per le macchine virtuali in Azure).
D: come si possono ottenere notifiche per la manutenzione pianificata?
R: Un ciclo di manutenzione pianificata viene avviato impostando una programmazione su una o più aree di Azure. Subito dopo, viene inviata una notifica tramite posta elettronica agli amministratori della sottoscrizione, ai coamministratori, ai proprietari e ai collaboratori (un messaggio di posta elettronica per ogni sottoscrizione). Si possono configurare altri canali e destinatari per questa notifica usando gli avvisi del log attività. Se si distribuisce una macchina virtuale in un'area in cui è già pianificata la manutenzione pianificata, non si riceverà la notifica. Controllare invece lo stato di manutenzione della macchina virtuale.
D: non sono presenti indicazioni relative alla manutenzione pianificata nel portale, in PowerShell o nell'interfaccia della riga di comando. Qual è il problema?
R: le informazioni relative alla manutenzione pianificata sono disponibili durante un ciclo di manutenzione pianificata solo per le macchine virtuali interessate dalla manutenzione pianificata. Se i dati non sono visibili, è possibile che il ciclo di manutenzione sia già stato completato (o non sia stato avviato) oppure che la macchina virtuale sia già ospitata in un server aggiornato.
D: è possibile sapere con esattezza quando la macchina virtuale verrà coinvolta?
R: quando si imposta la pianificazione, viene definita una finestra temporale di alcuni giorni. La sequenza esatta dei server e delle macchine virtuali entro questa finestra è sconosciuta. Se si vuole conoscere l'ora esatta dell'aggiornamento delle macchine virtuali, è possibile usare gli eventi pianificati. Quando si usano gli eventi pianificati, è possibile eseguire una query all'interno della macchina virtuale e ricevere una notifica 15 minuti prima di un riavvio della macchina virtuale.
D: quanto tempo sarà necessario per riavviare la macchina virtuale?
R: a seconda delle dimensioni della macchina virtuale, il riavvio potrebbe richiedere alcuni minuti durante la finestra di manutenzione self-service. Durante i riavvii avviati da Azure nella finestra di manutenzione pianificata, il riavvio richiede in genere circa 25 minuti. Se si usano Servizi cloud (ruolo Web/ruolo di lavoro), set di scalabilità di macchine virtuali o set di disponibilità, vengono forniti 30 minuti tra ogni gruppo di macchine virtuali (dominio di aggiornamento) durante la finestra di manutenzione pianificata.
D: Non sono disponibili informazioni sulla manutenzione per le VM. Errore rilevato
R: i motivi per cui non vengono visualizzate informazioni sulla manutenzione per le macchine virtuali sono diversi:
- Si usa una sottoscrizione contrassegnata come Microsoft (interno).
- Le macchine virtuali non sono pianificate per la manutenzione. La manutenzione potrebbe essere terminata oppure essere stata annullata o modificata e di conseguenza le macchine virtuali non sono più interessate.
- La colonna Manutenzione non è stata aggiunta alla visualizzazione elenco delle macchine virtuali. Anche se questa colonna è stata aggiunta alla visualizzazione predefinita, se si configura la visualizzazione per mostrare le colonne non predefinite, è necessario aggiungere manualmente la colonna Manutenzione alla visualizzazione elenco delle macchine virtuali.
D: La VM è pianificata per la manutenzione per la seconda volta. Perché?
R: in diversi casi d'uso, la macchina virtuale risulta pianificata per la manutenzione dopo avere già completato la manutenzione e la ridistribuzione:
- Il ciclo di manutenzione è stato annullato e riavviato con un payload diverso. Potrebbe essere stato rilevato un payload con errori e potrebbe essere semplicemente necessario distribuire un payload aggiuntivo.
- È stato ripristinato il servizio della VM in un altro nodo a causa di un errore hardware.
- Si è scelto di arrestare (deallocare) e riavviare la VM.
- È attivo l'arresto automatico per la VM.
Passaggi successivi
Informazioni su come registrare eventi di manutenzione da una macchina virtuale usando gli eventi pianificati.