Criar uma VM Linux usando um disco personalizado com a CLI do AzureCreate a Linux VM from a custom disk with the Azure CLI

Este artigo mostra como carregar um disco rígido virtual (VHD) personalizado e como copiar um VHD existente no Azure.This article shows you how to upload a customized virtual hard disk (VHD), and how to copy an existing VHD in Azure. O VHD recém-criado, em seguida, é usado para criar novas máquinas de virtuais do Linux (VMs).The newly created VHD is then used to create new Linux virtual machines (VMs). Você pode instalar e configurar uma distribuição do Linux conforme suas necessidades e então usar o VHD para criar rapidamente uma nova máquina virtual do Azure.You can install and configure a Linux distro to your requirements and then use that VHD to create a new Azure virtual machine.

Para criar várias VMs usando seu disco personalizado, primeiro crie uma imagem da VM ou VHD.To create multiple VMs from your customized disk, first create an image from your VM or VHD. Para obter mais informações, consulte Criar uma imagem personalizada de uma VM do Azure usando a CLI.For more information, see Create a custom image of an Azure VM by using the CLI.

Você tem duas opções para criar um disco personalizado:You have two options to create a custom disk:

  • Carregar um VHDUpload a VHD
  • Copiar uma VM existente do AzureCopy an existing Azure VM

Comandos rápidosQuick commands

Ao criar uma nova VM com criar vm az de um disco especializado ou personalizado, você anexa o disco (-attach-os-disk) em vez de especificar uma imagem do marketplace ou personalizada (-imagem).When creating a new VM with az vm create from a customized or specialized disk, you attach the disk (--attach-os-disk) rather than specifying a custom or marketplace image (--image). O exemplo a seguir cria uma VM denominada myVM usando o disco gerenciado denominado myManagedDisk criado com base no seu VHD personalizado: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

RequisitosRequirements

Para concluir as etapas a seguir, você precisará de:To complete the following steps, you'll need:

Observação

Não há suporte para o formato VHDX mais recente no Azure.The newer VHDX format is not supported in Azure. Ao criar uma VM, especifique VHD como o formato.When you create a VM, specify VHD as the format. Se necessário, você pode converter discos VHDX em VHD com o converter qemu-img ou o Convert-VHD cmdlet do PowerShell.If needed, you can convert VHDX disks to VHD with qemu-img convert or the Convert-VHD PowerShell cmdlet. O Azure não dá suporte ao carregamento de VHDs dinâmicos, por isso você precisa converter esses discos para VHDs estáticos antes de carregar.Azure does not support uploading dynamic VHDs, so you'll need to convert such disks to static VHDs before uploading. Você pode usar ferramentas como Azure VHD Utilities for GO para converter discos dinâmicos durante o processo de carregamento no Azure.You can use tools such as Azure VHD Utilities for GO to convert dynamic disks during the process of uploading them to Azure.

  • Certifique-se de que você tenha a versão mais recente CLI do Azure instalado e você está conectado a uma conta do Azure com login az.Make sure that you have the latest Azure CLI installed and you are signed in to an Azure account with az login.

Nos exemplos a seguir, substitua os nomes de parâmetro de exemplo com seus próprios valores, tais como myResourceGroup, mystorageaccount, e mydisks.In the following examples, replace example parameter names with your own values, such as myResourceGroup, mystorageaccount, and mydisks.

Preparar a VMPrepare the VM

O Azure dá suporte a várias distribuições do Linux (consulte Distribuições endossadas).Azure supports various Linux distributions (see Endorsed Distributions). Os artigos a seguir descrevem como preparar as diversas distribuições do Linux que têm suporte no Azure:The following articles describe how to prepare the various Linux distributions that are supported on Azure:

Confira também as Observações de instalação do Linux para obter mais dicas gerais sobre como preparar as imagens do Linux para o Azure.Also see the Linux Installation Notes for more general tips on preparing Linux images for Azure.

Observação

O SLA da plataforma Azure se aplica às VMs que executam o Linux somente quando uma das distribuições endossadas é usada com os detalhes da configuração, conforme especificado na seção “Versões com suporte” em Linux em distribuições endossadas pelo 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.

Opção 1: Carregar um VHDOption 1: Upload a VHD

Você pode carregar um VHD personalizado que esteja em execução em um computador local ou que você tenha exportado de outra nuvem.You can upload a customized VHD that you have running on a local machine or that you exported from another cloud. Para usar o VHD para criar uma nova VM do Azure, você precisa carregar o VHD para uma conta de armazenamento e criar um disco gerenciado com base no VHD.To use a VHD to create a new Azure VM, you'll need to upload the VHD to a storage account and create a managed disk from the VHD. Para saber mais, veja Visão geral dos Azure Managed Disks.For more information, see Azure Managed Disks overview.

Criar um grupo de recursosCreate a resource group

Antes de carregar seu disco personalizado e criar VMs, você precisa criar um grupo de recursos com az group create.Before uploading your custom disk and creating VMs, you'll need to create a resource group with az group create.

O exemplo a seguir cria um grupo de recursos chamado myResourceGroup na localização eastus:The following example creates a resource group named myResourceGroup in the eastus location:

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

Criar uma conta de armazenamentoCreate a storage account

Criar uma conta de armazenamento para seu disco personalizado e VMs com az storage account create.Create a storage account for your custom disk and VMs with az storage account create. O exemplo a seguir cria uma conta de armazenamento denominada mystorageaccount no grupo de recursos criado anteriormente: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

Listar chaves da conta de armazenamentoList storage account keys

O Azure gera duas chaves de acesso de 512 bits para cada conta de armazenamento.Azure generates two 512-bit access keys for each storage account. Essas chaves de acesso são usadas ao autenticar a conta de armazenamento, como quando realização de operações de gravação.These access keys are used when authenticating to the storage account, such as when carrying out write operations. Para obter mais informações, consulte Gerenciando o acesso a armazenamento.For more information, see managing access to storage.

Exibir as chaves de acesso com lista de chaves de conta de armazenamento az.You view the access keys with az storage account keys list. Por exemplo, para exibir as chaves de acesso para o armazenamento de conta que você criou:For example, to view the access keys for the storage account you created:

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

A saída deverá ser semelhante 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

Tome nota da key1, pois você a usará para interagir com sua conta de armazenamento nas próximas etapas.Make a note of key1 as you will use it to interact with your storage account in the next steps.

Criar um contêiner de armazenamentoCreate a storage container

Da mesma forma que você cria diferentes diretórios para organizar logicamente seu sistema de arquivos local, crie contêineres em uma conta de armazenamento para organizar seus discos.In the same way that you create different directories to logically organize your local file system, you'll create containers within a storage account to organize your disks. Uma conta de armazenamento pode conter vários contêineres.A storage account can contain many containers. Crie um contêiner com az storage container create.Create a container with az storage container create.

O seguinte exemplo cria um contêiner chamado mydisks:The following example creates a container named mydisks:

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

Carregar o VHDUpload the VHD

Carregue seu disco personalizado com az storage blob upload.Upload your custom disk with az storage blob upload. Carregue e armazene seu disco personalizado como um blob de página.You'll upload and store your custom disk as a page blob.

Especifique sua chave de acesso, o contêiner que você criou na etapa anterior e o caminho para o disco personalizado no seu computador local: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

Carregar o VHD pode demorar um pouco.Uploading the VHD may take a while.

Criar um disco gerenciadoCreate a managed disk

Criar um disco gerenciado do VHD com az disk create.Create a managed disk from the VHD with az disk create. O exemplo a seguir cria um disco gerenciado chamado myManagedDisk usando o VHD carregado para o contêiner e a conta de armazenamento nomeados: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

Opção 2: Copiar uma VM existenteOption 2: Copy an existing VM

Você pode também criar uma VM personalizada no Azure e, em seguida, copie o disco do sistema operacional e anexe-o a uma nova VM para criar outra cópia.You can also create a customized VM in Azure and then copy the OS disk and attach it to a new VM to create another copy. Isso é bom para teste, mas se você quiser usar uma VM do Azure existente como modelo para várias novas VMs, crie uma imagem em vez disso.This is fine for testing, but if you want to use an existing Azure VM as the model for multiple new VMs, create an image instead. Para obter mais informações sobre como criar uma imagem de uma VM do Azure existente, consulte Criar uma imagem personalizada de uma VM do Azure usando a CLI.For more information about creating an image from an existing Azure VM, see Create a custom image of an Azure VM by using the CLI.

Criar um instantâneoCreate a snapshot

Este exemplo cria um instantâneo de uma VM denominada myVM no grupo de recursos myResourceGroup e cria um instantâneo denominado 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

Criar o disco gerenciadoCreate the managed disk

Crie um novo disco gerenciado com base no instantâneo.Create a new managed disk from the snapshot.

Obtenha a ID do instantâneo.Get the ID of the snapshot. Neste exemplo, o instantâneo é denominado osDiskSnapshot e está no grupo de recursos 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)

Criar o disco gerenciado.Create the managed disk. Neste exemplo, vamos criar um disco gerenciado chamado myManagedDisk em nosso instantâneo, onde o disco está no armazenamento standard e dimensionados em 128 GB.In this example, we will create a managed disk named myManagedDisk from our snapshot, where the disk is in standard storage and sized at 128 GB.

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

Criar a VMCreate the VM

Crie a VM com az vm create e anexe (--attach-os-disk) o disco gerenciado como o disco do sistema operacional.Create your VM with az vm create and attach (--attach-os-disk) the managed disk as the OS disk. O exemplo a seguir cria uma VM denominada myNewVM usando o disco gerenciado criado com base no seu VHD carregado:The following example creates a VM named myNewVM using the managed disk you created from your uploaded VHD:

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

Você deve ser capaz de fazer SSH para a VM usando as credenciais da VM de origem.You should be able to SSH into the VM with the credentials from the source VM.

Próximas etapasNext steps

Depois de preparar e carregar seu disco virtual personalizado, leia mais sobre como usar o Resource Manager e os modelos.After you have prepared and uploaded your custom virtual disk, you can read more about using Resource Manager and templates. É recomendável adicionar um disco de dados às novas VMs.You may also want to add a data disk to your new VMs. Se você tiver aplicativos em execução nas VMs que precisa acessar, não se esqueça de abrir as portas e os pontos de extremidade.If you have applications running on your VMs that you need to access, be sure to open ports and endpoints.