Condividi tramite


Preparare un'immagine Ubuntu per le macchine virtuali locali di Azure

Si applica a: Azure Local 2311.2 e versioni successive

Questo articolo descrive come preparare un'immagine Ubuntu per creare una macchina virtuale (VM) nell'istanza locale di Azure. Usare l'interfaccia della riga di comando di Azure per la creazione dell'immagine della macchina virtuale.

Prerequisiti

Prima di iniziare, soddisfare i prerequisiti seguenti:

  • Avere accesso a un'istanza locale di Azure. Questo sistema viene distribuito, registrato e connesso ad Azure Arc. Passare alla pagina Panoramica nella risorsa locale di Azure. Nella scheda Server nel riquadro destro, Azure Arc dovrebbe essere visualizzato come Connesso.
  • Scaricare l'immagine del server Ubuntu più recente supportata nel sistema locale di Azure. Le versioni del sistema operativo supportate sono Ubuntu 18.04, 20.04 e 22.04 LTS. Si prepara questa immagine per creare un'immagine di macchina virtuale.

Workflow

Per preparare un'immagine Ubuntu e creare un'immagine di macchina virtuale da tale immagine:

  1. Creare una macchina virtuale Ubuntu
  2. Configurare la macchina virtuale
  3. Pulire la configurazione residua
  4. Creare un'immagine di macchina virtuale Ubuntu

Le sezioni seguenti forniscono istruzioni dettagliate per ogni passaggio del flusso di lavoro.

Creare un'immagine di macchina virtuale da un'immagine Ubuntu

Importante

  • Non usare un disco VHD della macchina virtuale di Azure per preparare l'immagine della macchina virtuale per Azure Locale.
  • È consigliabile preparare un'immagine Ubuntu se si intende abilitare la gestione guest nelle macchine virtuali.

Seguire questa procedura in Locale di Azure per creare un'immagine di macchina virtuale usando l'interfaccia della riga di comando di Azure.

Passaggio 1: Creare una macchina virtuale Ubuntu

Per usare l'immagine Ubuntu scaricata per effettuare il provisioning di una macchina virtuale:

  1. Usare l'immagine scaricata per creare una macchina virtuale con le specifiche seguenti:

    1. Specificare un nome descrittivo per la macchina virtuale.

      Screenshot che mostra la Creazione guidata nuova macchina virtuale nella pagina Specifica nome e posizione.

    2. Specificare la generazione 2 per la macchina virtuale durante l'uso di un'immagine VHDX qui.

      Screenshot che mostra la Creazione guidata nuova macchina virtuale nella pagina Specifica generazione.

    3. Selezionare Installa sistema operativo da un'immagine di avvio. Puntare all'ISO scaricato in precedenza.

      Screenshot che mostra la Creazione guidata macchina virtuale nella pagina Opzioni di installazione.

    Per istruzioni dettagliate, vedere Effettuare il provisioning di una macchina virtuale usando la console di gestione di Hyper-V.

  2. Usare il certificato UEFI per proteggere l'avvio della macchina virtuale.

    1. Dopo aver creato la macchina virtuale, viene visualizzata nella console di gestione di Hyper-V. Selezionare la macchina virtuale, fare clic con il pulsante destro del mouse e quindi scegliere Impostazioni.
    2. Nel riquadro sinistro selezionare la scheda Sicurezza. Quindi, in Avvio protetto selezionare Autorità di certificazione UEFI Microsoft nell'elenco a discesa Modello.
    3. Selezionare OK per salvare le modifiche.

    Screenshot che mostra le opzioni di avvio protetto per la macchina virtuale nella pagina Impostazioni.

Passaggio 2: Configurare la macchina virtuale

Seguire questa procedura in Locale di Azure per configurare la macchina virtuale di cui è stato effettuato il provisioning in precedenza:

  1. Accedere alla macchina virtuale. Vedere la procedura descritta in Connettersi a una macchina virtuale Linux.

  2. Per scaricare tutti gli elenchi di pacchetti più recenti dai repository, eseguire il comando seguente:

    sudo apt update
    
  3. Installare il kernel personalizzato di Azure. Questo passaggio è necessario affinché la macchina virtuale ottenga un indirizzo IP per l'interfaccia di rete.

    sudo apt install linux-azure -y
    
  4. Installare il server SSH. Esegui questo comando:

    sudo apt install openssh-server openssh-client -y
    
  5. Configurare sudo senza password. Aggiungere il comando seguente alla fine del /etc/sudoers file usando visudo:

    ALL ALL=(ALL) NOPASSWD:ALL
    

Passaggio 3: Pulire la configurazione residua

Eliminare file e dati specifici del computer dalla macchina virtuale in modo da poter creare un'immagine di macchina virtuale pulita senza alcuna cronologia o configurazioni predefinite. Seguire questa procedura in Locale di Azure per pulire la configurazione residua.

Nota

A seconda della versione di Ubuntu in uso, alcuni di questi file potrebbero non esistere.

  1. Pulire cloud-init le configurazioni predefinite.

    sudo rm -f /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg /etc/cloud/cloud.cfg.d/curtin-preserve-sources.cfg /etc/cloud/cloud.cfg.d/99-installer.cfg /etc/cloud/cloud.cfg.d/subiquity-disable-cloudinit-networking.cfg
    sudo rm -f /etc/cloud/ds-identify.cfg
    sudo rm -f /etc/netplan/*.yaml
    
  2. Pulire i log e la cache.

    sudo cloud-init clean --logs --seed
    sudo rm -rf /var/lib/cloud/ /var/log/* /tmp/*
    sudo apt-get clean
    
  3. Rimuovere la cronologia bash.

    rm -f ~/.bash_history 
    export HISTSIZE=0 
    logout
    
  4. Arrestare la VM. In Console di gestione di Hyper-V passare a Azione>arresta.

Passaggio 4: Creare l'immagine della macchina virtuale

Seguire questa procedura in Locale di Azure per creare l'immagine della macchina virtuale da VHDX creata in precedenza.

Usare l'interfaccia della riga di comando di Azure per creare l'immagine della macchina virtuale:

  1. Esegui PowerShell come amministratore.

  2. Accedi. Eseguire il cmdlet seguente:

    az login
    
  3. Impostare la sottoscrizione. Eseguire il cmdlet seguente:

    az account set --subscription <Subscription ID>
    
  4. Impostare i parametri per la sottoscrizione, il gruppo di risorse, la posizione personalizzata, il percorso, il tipo di sistema operativo per l'immagine, il nome dell'immagine e il percorso in cui si trova l'immagine. Sostituire i parametri in < > con i valori appropriati.

    $subscription = "<Subscription ID>"
    $resource_group = "<Resource group>"
    $customLocation = "<Custom location>"
    $location = "<Location for your Azure Local>"
    $osType = "<OS of source image>"
    

    I parametri sono descritti nella tabella seguente.

    Parametro Descrizione
    subscription Sottoscrizione associata all'istanza locale di Azure.
    resource_group Gruppo di risorse per l'istanza locale di Azure associata a questa immagine.
    location Percorso per l'istanza locale di Azure. Ad esempio, la posizione potrebbe essere eastus o westreurope.
    os-type Sistema operativo associato all'immagine di origine. Questo sistema può essere Windows o Linux.
  5. Usare il VHDX della macchina virtuale per creare un'immagine della raccolta. Usare questa immagine di macchina virtuale per creare macchine virtuali di Azure Arc in Locale di Azure.

    Assicurarsi di copiare VHDX nell'archiviazione utente nel volume condiviso del cluster di Azure Locale. Ad esempio, il percorso potrebbe essere simile C:\ClusterStorage\UserStorage_1\linuxvhdxa .

    $imagePath = "Path to user storage in CSV" 
    $imageName = "mylinuxvmimg" 
    $osType = "Linux"
    
    az stack-hci-vm image create --subscription $subscription -g $resource_group --custom-location $customLocation --location $location --image-path $imagePath --name $imageName --debug --os-type $osType 
    
  6. Verificare che l'immagine sia stata creata.