Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este artigo fornece dois scripts CLI do Azure para criar um disco gerido a partir de um snapshot. O primeiro script cria um disco gerido com chaves geridas pela plataforma, e o segundo script cria um disco gerido com chaves geridas pelo cliente. Depois de criar o sistema operativo e os discos de dados a partir dos respetivos snapshots, pode usar os discos para criar uma VM ou restaurar dados numa VM existente.
Se não tiver uma conta do Azure, crie uma conta gratuita antes de começar.
Pré-requisitos
Use o ambiente Bash no Azure Cloud Shell. Para mais informações, veja Get started with Azure Cloud Shell.
Se preferir executar comandos de referência da CLI localmente, instale a CLI do Azure. Se estiver a utilizar o Windows ou macOS, considere executar a CLI do Azure num contentor Docker. Para obter mais informações, consulte Como executar a CLI do Azure em um contêiner do Docker.
Se estiver a utilizar uma instalação local, inicie sessão no CLI do Azure ao utilizar o comando az login. Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Para outras opções de entrada, consulte Autenticar no Azure usando a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre extensões, consulte Usar e gerenciar extensões com a CLI do Azure.
Execute o comando az version para localizar a versão e as bibliotecas dependentes instaladas. Para atualizar para a versão mais recente, execute o comando az upgrade.
Criar discos geridos a partir de snapshots
Iniciar o Azure Cloud Shell
O Azure Cloud Shell é um shell interativo gratuito que pode utilizar para executar os passos neste artigo. Tem as ferramentas comuns do Azure pré-instaladas e configuradas para utilização com a sua conta.
Para abrir o Cloud Shell, basta selecionar Experimentar no canto superior direito de um bloco de código. Também pode iniciar o Cloud Shell num separador do browser separado ao aceder a https://shell.azure.com.
Quando o Cloud Shell for aberto, verifique se Bash está selecionado para o seu ambiente. As sessões subsequentes usarão a CLI do Azure em um ambiente Bash, selecione Copiar para copiar os blocos de código, cole-o no Cloud Shell e pressione Enter para executá-lo.
Iniciar sessão no Azure
O Cloud Shell é autenticado automaticamente com a conta com a qual iniciou sessão inicialmente. Use o script a seguir para entrar usando uma assinatura diferente, substituindo subscriptionId pela sua ID de assinatura do Azure.
Se não tiver uma conta do Azure, crie uma conta gratuita antes de começar.
subscription="subscriptionId" # Set Azure subscription ID here
az account set -s $subscription # ...or use 'az login'
Para obter mais informações, consulte definir assinatura ativa ou fazer login interativamente.
Discos com chaves gerenciadas por plataforma
Use este script para criar um disco gerido com chaves geridas pela plataforma. Forneça a subscrição, grupo de recursos, snapshot de origem, nome do novo disco, tamanho do disco e tipo de armazenamento. Para SSD Premium v2 e Ultra Disk, também forneça uma zona de disponibilidade. O script define a subscrição, obtém o ID do recurso do snapshot e cria o disco gerido a partir do snapshot na mesma localização.
#Provide the subscription Id of the subscription where you want to create Managed Disks
subscriptionId="<subscriptionId>"
#Provide the name of your resource group
resourceGroupName=myResourceGroupName
#Provide the name of the snapshot that will be used to create Managed Disks
snapshotName=mySnapshotName
#Provide the name of the new Managed Disks that will be create
diskName=myDiskName
#Provide the size of the disks in GB. It should be greater than the VHD file size.
diskSize=128
#Provide the storage type for Managed Disk. Acceptable values are Standard_LRS, Premium_LRS, PremiumV2_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, and StandardSSD_ZRS.
storageType=Premium_LRS
#Required for Premium SSD v2 and Ultra Disks
#Provide the Availability Zone you'd like the disk to be created in, default is 1
zone=1
#Set the context to the subscription Id where Managed Disk will be created
az account set --subscription $subscriptionId
#Get the snapshot Id
snapshotId=$(az snapshot show --name $snapshotName --resource-group $resourceGroupName --query [id] -o tsv)
#Create a new Managed Disks using the snapshot Id
#Note that managed disk will be created in the same location as the snapshot
#If you're creating a Premium SSD v2 or an Ultra Disk, add "--zone $zone" to the end of the command
az disk create --resource-group $resourceGroupName --name $diskName --sku $storageType --size-gb $diskSize --source $snapshotId
Discos com chaves gerenciadas pelo cliente
Use este script para criar um disco gerido com chaves geridas pelo cliente. Para além da subscrição, do grupo de recursos, do snapshot e dos valores do novo disco, forneça o conjunto de encriptação de disco de destino e o respetivo grupo de recursos. O script recebe o snapshot e a informação do conjunto de encriptação do disco, e depois cria o disco gerido a partir do snapshot com o conjunto de encriptação especificado.
#Provide the subscription Id of the subscription where you want to create managed disks
subscriptionId="<subscriptionId>"
#Provide the name of your resource group
resourceGroupName=myResourceGroupName
#Provide the name of the snapshot that will be used to create managed disks
snapshotName=mySnapshotName
#Provide the name of the new managed disks that will be create
diskName=myDiskName
#Provide the name of the target disk encryption set
diskEncryptionSetName=myName
#Provide the target disk encryption set resource group
diskEncryptionResourceGroup=myGroup
#Required for Premium SSD v2 and Ultra Disks
#Provide the Availability Zone you'd like the disk to be created in, default is 1
zone=1
#Set the context to the subscription Id where managed disk will be created
az account set --subscription $subscriptionId
#Get the snapshot ID
snapshotId=$(az snapshot show --name $snapshotName --resource-group $resourceGroupName --query [id] -o tsv)
#Get the disk encryption set ID
diskEncryptionSetId=$(az disk-encryption-set show --name $diskEncryptionSetName --resource-group $diskEncryptionResourceGroup --query [id] -o tsv)
#Create a new managed disk using the snapshot ID
#The managed disk is created in the same location as the snapshot
#If you're creating a Premium SSD v2 or an Ultra Disk, add "--zone $zone" to the end of the command
az disk create -g $resourceGroupName -n $diskName --source $snapshotId --disk-encryption-set $diskEncryptionSetId
Impacto no desempenho - processo de cópia em segundo plano
Quando você cria um disco gerenciado a partir de um instantâneo, ele inicia um processo de cópia em segundo plano. Você pode anexar um disco a uma VM enquanto esse processo está em execução, mas terá impacto no desempenho (os discos 4k experimentarão o impacto de leitura, o 512e experimentará o impacto de leitura e gravação) com maior latência, IOPS e taxa de transferência mais baixas até que a cópia em segundo plano seja concluída. Para Ultra Disks e Premium SSD v2, use o seguinte comando para verificar a completionPercent propriedade. A cópia de fundo está completa quando o valor atinge 100.
Importante
Não é possível usar as seções a seguir para obter o status do processo de cópia em segundo plano para tipos de disco diferentes de Ultra Disk ou SSD Premium v2. Outros tipos de disco indicarão sempre 100%.
subscriptionId=yourSubscriptionID
resourceGroupName=yourResourceGroupName
diskName=yourDiskName
az account set --subscription $subscriptionId
az disk show -n $diskName -g $resourceGroupName --query [completionPercent] -o tsv
Limpar recursos
Execute o seguinte comando para eliminar o grupo de recursos e todos os recursos que ele contém.
az group delete --name myResourceGroupName
Referência de comandos da CLI do Azure
Os scripts utilizam os seguintes comandos CLI do Azure para criar discos geridos, monitorizar o processo de cópia em segundo plano e limpar recursos.
| Comando | Notas |
|---|---|
| Conjunto de contas az | Define a subscrição na qual o disco gerido é criado. |
| AZ Snapshot Show | Obtém o ID de recurso do snapshot de origem. |
| az disk-encryption-set mostrar | Obtém a informação de encriptação do disco de destino para um disco com chaves geridas pelo cliente. |
| az criar disco | Cria um disco gerido a partir do snapshot de origem. |
| AZ Disk Show | Obtém a percentagem de conclusão da cópia em segundo plano para o Premium SSD v2 e o Ultra Disk. |
| az group delete - comando para eliminar um grupo. | Apaga o grupo de recursos e os seus recursos. |
Próximos passos
Criar uma máquina virtual anexando um disco gerido como disco do sistema operativo
Para obter mais informações sobre a CLI do Azure, veja Documentação da CLI do Azure.
Mais exemplos de script CLI de máquina virtual e discos gerenciados podem ser encontrados na documentação da VM Linux do Azure.