Rimuovere informazioni specifiche del computer eseguendo il deprovisioning o la generalizzazione di una macchina virtuale prima di creare un'immagine

Attenzione

Questo articolo fa riferimento a CentOS, una distribuzione Linux prossima allo stato EOL (End of Life, fine del ciclo di vita). Valutare le proprie esigenze e pianificare di conseguenza.

La generalizzazione o il deprovisioning di una macchina virtuale non è necessaria per la creazione di un'immagine in una raccolta di calcolo di Azure, a meno che non si voglia creare un'immagine che non contenga informazioni specifiche del computer, ad esempio gli account utente. La generalizzazione è comunque necessaria quando si crea un'immagine gestita all'esterno di una raccolta.

La generalizzazione rimuove le informazioni specifiche del computer in modo che l'immagine possa essere usata per creare più macchine virtuali. Dopo che la macchina virtuale è stata generalizzata o deprovisionata, è necessario informare la piattaforma in modo che la sequenza di avvio possa essere impostata correttamente.

Importante

Dopo aver contrassegnato una macchina virtuale come generalized in Azure, non è possibile riavviare la macchina virtuale.

Prerequisiti

None

Linux

Le istruzioni specifiche per la distribuzione per la preparazione delle immagini Linux per Azure sono disponibili qui:

Le istruzioni seguenti illustrano solo l'impostazione della macchina virtuale su generalizzata. È consigliabile seguire le istruzioni specifiche della distribuzione per i carichi di lavoro di produzione.

Per prima cosa, eseguire il deprovisioning della macchina virtuale usando l'agente della macchina virtuale di Azure per eliminare file e dati specifici della macchina. Usare il comando waagent con il parametro -deprovision+user nella macchina virtuale Linux di origine. Per altre informazioni, vedere Guida dell'utente dell'agente Linux di Azure. Questo processo non può essere invertito.

  1. Connettersi alla macchina virtuale Linux con un client SSH.

  2. Nella finestra SSH digitare il comando seguente:

       sudo waagent -deprovision+user
    

    Nota

    Eseguire questo comando solo su una macchina virtuale che si intende acquisire come immagine. Questo comando non garantisce che dall'immagine vengano cancellate tutte le informazioni sensibili o che l'immagine sia adatta per la ridistribuzione. Il parametro +user rimuove anche l'ultimo account utente di cui è stato effettuato il provisioning. Per mantenere le credenziali dell'account utente nella macchina virtuale, usare solo -deprovision.

  3. Immettere y per continuare. È possibile aggiungere il parametro -force per evitare questo passaggio di conferma.

  4. Dopo aver eseguito il comando, digitare exit per chiudere il client SSH. A questo punto la macchina virtuale sarà ancora in esecuzione.

    Deallocare la macchina virtuale con az vm deallocate cui è stato eseguito il deprovisioning in modo che possa essere generalizzata.

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

    La macchina virtuale deve quindi essere contrassegnata come generalizzata nella piattaforma.

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

Windows

Sysprep rimuove tutte le informazioni sull'account personale e sulla sicurezza e quindi prepara la macchina da usare come immagine. Per informazioni su Sysprep, vedere Sysprep overview (Panoramica di Sysprep).

Assicurarsi che i ruoli server in esecuzione sulla macchina siano supportati da Sysprep. Per altre informazioni, vedere Supporto di Sysprep per i ruoli server e Scenari non supportati.

Importante

Dopo aver eseguito Sysprep in una VM, quest'ultima viene considerata generalizzata e non può essere riavviata. Il processo di generalizzazione di una macchina virtuale è irreversibile. Se è necessario mantenere funzionante la macchina virtuale originale, è necessario creare uno snapshot del disco del sistema operativo, creare una macchina virtuale dallo snapshot e quindi generalizzare tale copia della macchina virtuale.

Sysprep richiede che le unità vengano decrittografate completamente. Se è stata abilitata la crittografia nella macchina virtuale, disabilitare la crittografia prima di eseguire Sysprep.

Se si prevede di eseguire Sysprep prima di caricare il disco rigido virtuale in Azure per la prima volta, verificare di aver preparato la VM.

Il file di risposte personalizzato non è supportato nel passaggio sysprep, pertanto non è consigliabile usare l'opzione "/unattend:answerfile" con il comando sysprep.

La piattaforma Azure monta un file ISO nel DVD-ROM quando viene creata una macchina virtuale Windows da un'immagine generalizzata. Per questo motivo, il DVD-ROM deve essere abilitato nel sistema operativo nell'immagine generalizzata. Se è disabilitato, la macchina virtuale Windows verrà bloccata nella configurazione guidata.

Per generalizzare la VM Windows, seguire questa procedura:

  1. Accedere alla VM Windows.

  2. Aprire una finestra Prompt dei comandi come amministratore.

  3. Eliminare la directory panther (C:\Windows\Panther).

  4. Verificare se CD/DVD-ROM è abilitato. Se è disabilitato, la macchina virtuale Windows verrà bloccata nella configurazione guidata.

      Registry key Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\cdrom\start (Value 4 = disabled, expected value 1 = automatic) Make sure it is set to 1.
    

    Nota

    Verificare se sono stati applicati criteri che limitano l'accesso alle risorse di archiviazione rimovibili (ad esempio: Configurazione computer\Modelli Amministrazione istrativi\System\Rimovibile Archiviazione Access\Tutte le classi Archiviazione rimovibili: Nega tutto l'accesso)

  5. Modificare quindi la directory in %windir%\system32\sysprep e quindi eseguire:

    sysprep.exe /generalize /shutdown
    
  6. La macchina virtuale verrà arrestata al termine della generalizzazione della macchina virtuale. Non riavviare la VM.

    Al termine di Sysprep, impostare lo stato della macchina virtuale su Generalizzato.

    Set-AzVm -ResourceGroupName $rgName -Name $vmName -Generalized