Creare una macchina virtuale Linux da un disco personalizzato usando l'interfaccia della riga di comando di Azure 2.0Create a Linux VM from custom disk with the Azure CLI 2.0

Questo articolo illustra come caricare un disco rigido virtuale personalizzato o copiare un disco rigido virtuale esistente in Azure e creare nuove macchine virtuali Linux dal disco personalizzato.This article shows you how to upload a customized virtual hard disk (VHD) or copy a an existing VHD in Azure and create new Linux virtual machines (VMs) from the custom disk. È possibile installare e configurare una distribuzione Linux in base ai propri requisiti e quindi usare il disco rigido virtuale per creare rapidamente una nuova macchina virtuale di Azure.You can install and configure a Linux distro to your requirements and then use that VHD to quickly create a new Azure virtual machine.

Se si desidera creare più macchine virtuali dal disco personalizzato, si deve creare un'immagine dal disco rigido virtuale o dalla macchina virtuale.If you want to create multiple VMs from your customized disk, you should create an image from your VM or VHD. Per altre informazioni vedere Creare un'immagine personalizzata di una macchina virtuale di Azure tramite l'interfaccia della riga di comando.For more information, see Create a custom image of an Azure VM using the CLI.

Sono disponibili due opzioni:You have two options:

Comandi rapidiQuick commands

Quando si crea una nuova macchina virtuale usando az vm create da un disco specializzato o personalizzato, collegare il disco (--attach-os-disk) anziché specificare un'immagine personalizzata o del marketplace (--image).When creating a new VM using az vm create from a customized or specialized disk you attach the disk (--attach-os-disk) instead of specifying a custom or marketplace image (--image). L'esempio seguente crea una macchina virtuale denominata myVM usando il disco gestito denominato myManagedDisk creato dal disco rigido virtuale personalizzato:The following example creates a VM named myVM using the managed disk named myManagedDisk created from your customized VHD:

az vm create --resource-group myResourceGroup --location eastus --name myVM \
   --os-type linux --attach-os-disk myManagedDisk

RequisitiRequirements

Per completare la procedura seguente, è necessario:To complete the following steps, you need:

Nota

Il formato VHDX più recente non è supportato in Azure.The newer VHDX format is not supported in Azure. Quando si crea una VM, specificare VHD come formato.When you create a VM, specify VHD as the format. Se necessario, è possibile convertire i dischi VHDX nel formato VHD usando qemu-img convert o il cmdlet di PowerShell Convert-VHD.If needed, you can convert VHDX disks to VHD using qemu-img convert or the Convert-VHD PowerShell cmdlet. Inoltre, Azure non supporta il caricamento di VHD dinamici, pertanto è necessario convertire tali dischi in VHD statici prima del caricamento.Further, Azure does not support uploading dynamic VHDs, so you need to convert such disks to static VHDs before uploading. Per convertire dischi dinamici durante il processo di caricamento in Azure, sono disponibili strumenti come Azure VHD Utilities for GO .You can use tools such as Azure VHD Utilities for GO to convert dynamic disks during the process of uploading to Azure.

Nell'esempio seguente sostituire i nomi dei parametri di esempio con i valori desiderati.In the following examples, replace example parameter names with your own values. I nomi dei parametri di esempio includono myResourceGroup, mystorageaccount e mydisks.Example parameter names included myResourceGroup, mystorageaccount, and mydisks.

Preparare la macchina virtualePrepare the VM

Azure supporta svariate distribuzioni di Linux (vedere la sezione Distribuzioni approvate).Azure supports various Linux distributions (see Endorsed Distributions). Gli articoli seguenti forniscono le istruzioni per preparare le diverse distribuzioni Linux supportate in Azure:The following articles guide you through how to prepare the various Linux distributions that are supported on Azure:

Vedere anche le Note sull'installazione di Linux per suggerimenti più generali sulla preparazione di immagini Linux per Azure.Also see the Linux Installation Notes for more general tips on preparing Linux images for Azure.

Nota

Il Contratto di Servizio per la piattaforma Azure è applicabile alle VM che eseguono Linux solo quando una distribuzione approvata viene usata con i dettagli di configurazione specificati nella sezione "Versioni e distribuzioni supportate" in Distribuzioni di Linux supportate da Azure.The Azure platform SLA applies to VMs running Linux only when one of the endorsed distributions is used with the configuration details as specified under 'Supported Versions' in Linux on Azure-Endorsed Distributions.

Opzione 1: caricare un disco rigido virtualeOption 1: Upload a VHD

È possibile caricare un disco rigido virtuale personalizzato in esecuzione in un computer locale o che è stato esportato da un altro cloud.You can upload a customized VHD that you have running on a local machine or that you exported from another cloud. Per usare il disco rigido virtuale per creare una nuova macchina virtuale di Azure, è necessario caricare il disco rigido virtuale in un account di archiviazione e creare un disco gestito dal disco rigido virtuale.To use the VHD to create a new Azure VM, you need to upload the VHD to a storage account and create a managed disk from the VHD.

Creare un gruppo di risorseCreate a resource group

Prima di caricare il disco personalizzato e creare le VM, è necessario creare un gruppo di risorse con az group create.Before uploading your custom disk and creating VMs, you first need to create a resource group with az group create.

L'esempio seguente crea un gruppo di risorse denominato myResourceGroup nella località eastus: Panoramica di Azure Managed DisksThe following example creates a resource group named myResourceGroup in the eastus location: Azure Managed Disks overview

az group create \
    --name myResourceGroup \
    --location eastus

Creare un account di archiviazioneCreate a storage account

Creare un account di archiviazione per il disco personalizzato e le VM con az storage account create.Create a storage account for your custom disk and VMs with az storage account create.

Nell'esempio seguente viene creato un account di archiviazione denominato mystorageaccount nel gruppo di risorse creato in precedenza:The following example creates a storage account named mystorageaccount in the resource group previously created:

az storage account create \
    --resource-group myResourceGroup \
    --location eastus \
    --name mystorageaccount \
    --kind Storage \
    --sku Standard_LRS

Ottenere chiavi degli account di archiviazioneList storage account keys

Azure genera due chiavi di accesso a 512 bit per ogni account di archiviazione.Azure generates two 512-bit access keys for each storage account. Queste chiavi di accesso vengono usate per autenticarsi nell'account di archiviazione, ad esempio per eseguire operazioni di scrittura.These access keys are used when authenticating to the storage account, like carrying out write operations. Ulteriori informazioni sulla gestione dell'accesso all'archiviazione sono disponibili qui.Read more about managing access to storage here. Visualizzare le chiavi di accesso con az storage account keys list.You view the access keys with az storage account keys list.

Visualizzare le chiavi di accesso per l'account di archiviazione creato:View the access keys for the storage account you created:

az storage account keys list \
    --resource-group myResourceGroup \
    --account-name mystorageaccount

L'output è simile a:The output is similar to:

info:    Executing command storage account keys list
+ Getting storage account keys
data:    Name  Key                                                                                       Permissions
data:    ----  ----------------------------------------------------------------------------------------  -----------
data:    key1  d4XAvZzlGAgWdvhlWfkZ9q4k9bYZkXkuPCJ15NTsQOeDeowCDAdB80r9zA/tUINApdSGQ94H9zkszYyxpe8erw==  Full
data:    key2  Ww0T7g4UyYLaBnLYcxIOTVziGAAHvU+wpwuPvK4ZG0CDFwu/mAxS/YYvAQGHocq1w7/3HcalbnfxtFdqoXOw8g==  Full
info:    storage account keys list command OK

Prendere nota di key1 perché verrà usato per interagire con l'account di archiviazione nei passaggi successivi.Make a note of key1 as you will use it to interact with your storage account in the next steps.

Creare un contenitore di archiviazioneCreate a storage container

Nello stesso modo in cui si creano directory diverse per organizzare in modo logico il file system locale si creano anche i contenitori con un account di archiviazione per organizzare i dischi.In the same way that you create different directories to logically organize your local file system, you create containers within a storage account to organize your disks. Un account di archiviazione può contenere un numero qualsiasi di contenitori.A storage account can contain any number of containers. Creare un contenitore con az storage container create.Create a container with az storage container create.

Nell'esempio seguente viene creato un contenitore denominato mydisks:The following example creates a container named mydisks:

az storage container create \
    --account-name mystorageaccount \
    --name mydisks

Caricare il disco rigido virtualeUpload the VHD

Caricare ora il disco personalizzato con az storage blob upload.Now upload your custom disk with az storage blob upload. Caricare e archiviare il disco personalizzato come BLOB di pagine.You upload and store your custom disk as a page blob.

Specificare la chiave di accesso e il contenitore creato nel passaggio precedente, quindi selezionare il percorso del disco personalizzato sul computer locale:Specify your access key, the container you created in the previous step, and then the path to the custom disk on your local computer:

az storage blob upload --account-name mystorageaccount \
    --account-key key1 \
    --container-name mydisks \
    --type page \
    --file /path/to/disk/mydisk.vhd \
    --name myDisk.vhd

Il caricamento del disco rigido virtuale potrebbe richiedere qualche minuto.Uploading the VHD may take a while.

Creare un disco gestitoCreate a managed disk

Creare un disco gestito dal disco rigido virtuale con az disk create.Create a managed disk from the VHD using az disk create. Nell'esempio seguente viene creato un disco gestito denominato myManagedDisk dal disco rigido virtuale caricato nell'account di archiviazione e nel contenitore denominati:The following example creates a managed disk named myManagedDisk from the VHD you uploaded to your named storage account and container:

az disk create \
    --resource-group myResourceGroup \
    --name myManagedDisk \
  --source https://mystorageaccount.blob.core.windows.net/mydisks/myDisk.vhd

Opzione 2: copiare una macchina virtuale esistenteOption 2: Copy an existing VM

È anche possibile creare la macchina virtuale personalizzata in Azure, copiare il disco del sistema operativo e associarlo a una nuova macchina virtuale per crearne un'altra copia.You can also create the customized VM in Azure and then copy the OS disk and attach it to a new VM to create another copy. Questa è l'operazione corretta per il test, ma se si desidera usare una macchina virtuale di Azure esistente come modello per più macchine virtuali nuove, è effettivamente necessario creare un'immagine.This is fine for testing, but if you want to use an existing Azure VM as the model for multiple new VMs, you really should create an image instead. Per altre informazioni sulla creazione di un'immagine da una macchina virtuale di Azure esistente, vedere Creare un'immagine personalizzata di una macchina virtuale di Azure tramite l'interfaccia della riga di comandoFor more information about creating an image from an existing Azure VM, see Create a custom image of an Azure VM using the CLI

Creare uno snapshotCreate a snapshot

Questo esempio crea uno snapshot di una macchina virtuale denominata myVM nel gruppo di risorse myResourceGroup e uno snapshot denominato osDiskSnapshot.This example creates a snapshot of a VM named myVM in resource group myResourceGroup and creates a snapshot named osDiskSnapshot.

osDiskId=$(az vm show -g myResourceGroup -n myVM --query "storageProfile.osDisk.managedDisk.id" -o tsv)
az snapshot create \
    -g myResourceGroup \
    --source "$osDiskId" \
    --name osDiskSnapshot

Creare il disco gestitoCreate the managed disk

Creare un nuovo disco gestito dallo snapshot.Create a new managed disk from the snapshot.

Ottenere l'ID dello snapshot.Get the ID of the snapshot. In questo esempio, lo snapshot è denominato osDiskSnapshot ed è nel gruppo di risorse myResourceGroup.In this example, the snapshot is named osDiskSnapshot and it is in the myResourceGroup resource group.

snapshotId=$(az snapshot show --name osDiskSnapshot --resource-group myResourceGroup --query [id] -o tsv)

Creare il disco gestito.Create the managed disk. In questo esempio, si creerà un disco gestito denominato myManagedDisk dallo snapshot che ha una dimensione di 128 GB nell'archiviazione standard.In this example, we will create a managed disk named myManagedDisk from our snapshot, that is 128GB in size in standard storage.

az disk create \
    --resource-group myResourceGroup \
    --name myManagedDisk \
    --sku Standard_LRS \
    --size-gb 128 \
    --source $snapshotId

Creare la VMCreate the VM

A questo punto, creare la macchina virtuale con az vm create e collegare (--attach-os-disk) il disco gestito come disco del sistema operativo.Now, create your VM with az vm create and attach (--attach-os-disk) the managed disk as the OS disk. L'esempio seguente crea una macchina virtuale denominata myNewVM usando il disco gestito creato dal disco rigido virtuale caricato:The following example creates a VM named myNewVM using the managed disk created from your uploaded VHD:

az vm create \
    --resource-group myResourceGroup \
    --location eastus \
    --name myNewVM \
    --os-type linux \
    --attach-os-disk myManagedDisk

Dovrebbe essere possibile accedere con SSH nella macchina virtuale usando le credenziali della macchina virtuale di origine.You should be able to SSH into the VM using the credentials from the source VM.

Passaggi successiviNext steps

Dopo avere preparato e caricato il disco rigido virtuale, è possibile ottenere altre informazioni sull' uso di Azure Resource Manager e dei modelli.After you have prepared and uploaded your custom virtual disk, you can read more about using Resource Manager and templates. È anche consigliabile aggiungere un disco dati alle nuove VM.You may also want to add a data disk to your new VMs. Se nelle VM sono in esecuzione applicazioni a cui si deve accedere, assicurarsi di aprire le porte e gli endpoint.If you have applications running on your VMs that you need to access, be sure to open ports and endpoints.