Condividi tramite


Ibernazione di macchine virtuali Linux

Si applica a: ✔️ macchine virtuali di Linux

L'ibernazione consente di sospendere le macchine virtuali che non vengono usate e di risparmiare sui costi di calcolo. Si tratta di una funzionalità di gestione dei costi efficace per scenari come:

  • Desktop virtuali, server di sviluppo/test e altri scenari in cui le macchine virtuali non devono essere eseguite 24/7.
  • Sistemi con tempi di avvio lunghi a causa di applicazioni a elevato utilizzo di memoria. Queste applicazioni possono essere inizializzate in macchine virtuali e ibernate. Queste macchine virtuali "preavvise" possono quindi essere avviate rapidamente quando necessario, con le applicazioni già in esecuzione nello stato desiderato.

Funzionamento dell'ibernazione

Per informazioni sul funzionamento dell'ibernazione, vedere la panoramica dell'ibernazione.

Configurazioni supportate

Il supporto per l'ibernazione è limitato a determinate dimensioni e versioni del sistema operativo. Assicurarsi di avere una configurazione supportata prima di usare l'ibernazione.

Per un elenco delle dimensioni di macchina virtuale compatibili con l'ibernazione, vedere la sezione dimensioni delle macchine virtuali supportate nella panoramica dell'ibernazione.

Distribuzioni Linux supportate

I sistemi operativi Linux seguenti supportano l'ibernazione:

  • Ubuntu 22.04 LTS
  • Ubuntu 20.04 LTS
  • Ubuntu 18.04 LTS
  • Debian 11
  • Debian 10 (con kernel backport)
  • RHEL 9.0 e versioni successive (con versione minima del kernel 5.14.0-70)
  • RHEL 8.3 e versioni successive (con versione minima del kernel 4.18.0.240)

Prerequisiti e limitazioni di configurazione

  • L'ibernazione non è supportata con l'avvio attendibile per le macchine virtuali Linux

Per le limitazioni generali, le limitazioni delle funzionalità di Azure supportano le dimensioni delle macchine virtuali e i prerequisiti delle funzionalità, vedere la sezione "Configurazioni supportate" nella panoramica dell'ibernazione.

Creazione di una macchina virtuale Linux con ibernazione abilitata

Per ibernare una macchina virtuale, è prima necessario abilitare la funzionalità nella macchina virtuale.

Per abilitare l'ibernazione durante la creazione di macchine virtuali, è possibile usare l'API e i modelli di Portale di Azure, l'interfaccia della riga di comando, PowerShell, arm e l'API.

Per abilitare l'ibernazione nella portale di Azure, selezionare la casella "Abilita ibernazione" durante la creazione della macchina virtuale.

Screenshot della casella di controllo nella portale di Azure per abilitare l'ibernazione durante la creazione di una nuova macchina virtuale Linux.

Dopo aver creato una macchina virtuale con ibernazione abilitata, è necessario configurare il sistema operativo guest per l'ibernazione corretta della macchina virtuale.

Abilitazione dell'ibernazione in una macchina virtuale Linux esistente

Per abilitare l'ibernazione in una macchina virtuale esistente, è possibile usare l'interfaccia della riga di comando di Azure, PowerShell o l'API REST. Prima di procedere, assicurarsi che la versione del sistema operativo guest supporti l'ibernazione in Azure. Per altre informazioni, vedere Versioni del sistema operativo supportate.

Per abilitare l'ibernazione in una macchina virtuale esistente usando l'interfaccia della riga di comando di Azure, deallocare prima di tutto la macchina virtuale con az vm deallocate. Dopo aver deallocato la macchina virtuale, aggiornare il disco del sistema operativo e la macchina virtuale.

  1. Aggiornare il disco del sistema operativo per impostare supportsHibernation su true. Se supportsHibernation è già impostato su true, è possibile ignorare questo passaggio e procedere al passaggio successivo.

       az disk update --resource-group myResourceGroup \
       --name MyOSDisk \   
       --set supportsHibernation=true 
    
  2. Aggiornare la macchina virtuale per abilitare l'ibernazione.

       az vm update --resource-group myResourceGroup \
       --name myVM \
       --enable-hibernation true 
    
  3. Avviare la macchina virtuale e quindi procedere alla configurazione dell'ibernazione nel sistema operativo guest.

       az vm start --resource-group myResourceGroup \
       --name myVM \      
    

Configurazione dell'ibernazione nel sistema operativo guest

Dopo aver verificato che la configurazione della macchina virtuale sia supportata, è possibile abilitare l'ibernazione nella macchina virtuale Linux usando una delle due opzioni seguenti:

Opzione 1: LinuxHibernateExtension

Opzione 2: hibernation-setup-tool

LinuxHibernateExtension

Nota

Se è già stato installato lo strumento ibernation-setup-tool, non è necessario installare LinuxHibernateExtension. Si tratta di metodi ridondanti per abilitare l'ibernazione in una macchina virtuale Linux.

Quando si crea una macchina virtuale abilitata per l'ibernazione tramite il portale di Azure, LinuxHibernationExtension viene installato automaticamente nella macchina virtuale.

Se l'estensione non è presente, è possibile installare manualmente LinuxHibernateExtension nella macchina virtuale Linux per configurare il sistema operativo guest per l'ibernazione.

Nota

Le estensioni di Azure sono attualmente disabilitate per impostazione predefinita per le immagini Debian. Per riabilitare le estensioni, vedere la guida alla risoluzione dei problemi di ibernazione di Linux.

Nota

Per RHEL LVM è necessario espandere il volume radice e assicurarsi che sia disponibile spazio sufficiente per creare il file di scambio. Per espandere il volume, controllare la guida all'espansione del disco.

Per installare LinuxHibernateExtension con l'interfaccia della riga di comando di Azure, eseguire il comando seguente:

az vm extension set -n LinuxHibernateExtension --publisher Microsoft.CPlat.Core --version 1.0 \    --vm-name MyVm --resource-group MyResourceGroup --enable-auto-upgrade true

Hibernation-setup-tool

Nota

Se è già stato installato LinuxHibernateExtension, non è necessario installare lo strumento ibernation-setup-tool. Si tratta di metodi ridondanti per abilitare l'ibernazione in una macchina virtuale Linux.

È possibile installare il pacchetto ibernation-setup-tool nella macchina virtuale Linux dal repository software Linux di Microsoft in packages.microsoft.com.

Per usare il repository software Linux, seguire le istruzioni nel repository di pacchetti Linux per il software Microsoft.

Per usare l'ibernation-setup-tool nelle versioni Debian e Ubuntu, aprire git bash ed eseguire questo comando:

curl -sSL https://packages.microsoft.com/keys/microsoft.asc | sudo tee etc/apt/trusted.gpg.d/microsoft.asc

sudo apt-add-repository https://packages.microsoft.com/ubuntu/20.04/prod

sudo apt-get update

Per installare il pacchetto, eseguire questo comando in git bash:

sudo apt-get install hibernation-setup-tool

Nota

Per RHEL LVM è necessario espandere il volume radice e assicurarsi che sia disponibile spazio sufficiente per creare il file di scambio. Per espandere il volume, controllare la guida all'espansione del disco.

Una volta installato correttamente il pacchetto, il sistema operativo guest Linux è configurato per l'ibernazione. È anche possibile creare una nuova immagine della raccolta di calcolo di Azure da questa macchina virtuale e usare l'immagine per creare macchine virtuali. Le macchine virtuali create con questa immagine hanno il pacchetto di ibernazione preinstallato, semplificando l'esperienza di creazione della macchina virtuale.

Ibernare una macchina virtuale

Dopo aver creato una macchina virtuale con abilitazione dell'ibernazione e aver configurato il sistema operativo guest per l'ibernazione, è possibile ibernare la macchina virtuale tramite la portale di Azure, l'interfaccia della riga di comando di Azure, PowerShell o l'API REST.

Per ibernare una macchina virtuale nella portale di Azure, fare clic sul pulsante "Iberna" nella pagina Panoramica della macchina virtuale.

Screenshot del pulsante per ibernare una macchina virtuale nel portale di Azure.

Visualizzare lo stato della macchina virtuale ibernata

Per visualizzare lo stato di una macchina virtuale nel portale, controllare lo stato nella pagina di panoramica. Dovrebbe segnalare come "Ibernato (deallocato)"

Screenshot dello stato della macchina virtuale ibernata nell'elenco portale di Azure come

Avviare le macchine virtuali ibernate

È possibile avviare macchine virtuali ibernate esattamente come si avvia una macchina virtuale arrestata. Questa operazione può essere eseguita tramite l'portale di Azure, l'interfaccia della riga di comando di Azure, PowerShell o l'API REST.

Per avviare una macchina virtuale ibernata usando il portale di Azure, fare clic sul pulsante "Avvia" nella pagina Panoramica della macchina virtuale.

Screenshot del pulsante portale di Azure per avviare una macchina virtuale ibernata con uno stato sottolineato elencato come

Le macchine virtuali create dalle immagini della raccolta di calcolo possono essere abilitate anche per l'ibernazione. Assicurarsi che la versione del sistema operativo associata all'immagine della raccolta supporti l'ibernazione in Azure. Fare riferimento all'elenco delle versioni del sistema operativo supportate.

Per creare macchine virtuali con ibernazione abilitata usando immagini della raccolta, è prima necessario creare una nuova definizione di immagine con la proprietà di ibernazione abilitata. Dopo aver abilitato questa proprietà funzionalità nella definizione dell'immagine della raccolta, è possibile creare una versione dell'immagine e usare tale versione dell'immagine per creare macchine virtuali abilitate per l'ibernazione.

Nota

Per le immagini Windows specializzate, il percorso del file di pagina deve essere impostato sull'unità C: affinché Azure configuri correttamente il sistema operativo guest per l'ibernazione. Se si crea una versione dell'immagine da una macchina virtuale esistente, è prima necessario spostare il file di pagina nel disco del sistema operativo e quindi usare la macchina virtuale come origine per la versione dell'immagine.

Per creare una definizione di immagine con la proprietà di ibernazione abilitata, selezionare il segno di spunta "Abilita ibernazione".

Screenshot dell'opzione per abilitare l'ibernazione nella portale di Azure durante la creazione di una definizione di immagine della macchina virtuale.

Distribuire le macchine virtuali abilitate per l'ibernazione da un disco del sistema operativo

Le macchine virtuali create dai dischi del sistema operativo possono essere abilitate anche per l'ibernazione. Assicurarsi che la versione del sistema operativo associata al disco del sistema operativo supporti l'ibernazione in Azure. Fare riferimento all'elenco delle versioni del sistema operativo supportate.

Per creare macchine virtuali con ibernazione abilitata usando i dischi del sistema operativo, assicurarsi che il disco del sistema operativo disponga della proprietà di ibernazione abilitata. Fare riferimento all'esempio di API per abilitare questa proprietà nei dischi del sistema operativo. Dopo aver abilitato la proprietà di ibernazione nel disco del sistema operativo, è possibile creare macchine virtuali abilitate per l'ibernazione usando tale disco del sistema operativo.

PATCH https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk?api-version=2021-12-01

{
  "properties": {
    "supportsHibernation": true
  }
}

Risoluzione dei problemi

Per altre informazioni, vedere la guida alla risoluzione dei problemi di ibernazione della macchina virtuale Linux e la guida alla risoluzione dei problemi di ibernazione delle macchine virtuali Linux.

Domande frequenti

Per altre informazioni, vedere domande frequenti su Hibernate.

Passaggi successivi