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.
As máquinas virtuais (VMs) do Azure usam discos para armazenar sistemas operacionais (SO), aplicativos e dados. Ao criar uma VM, é importante escolher um tamanho de disco e uma configuração apropriados para a carga de trabalho esperada.
Este tutorial aborda a implantação e o gerenciamento de discos VM. Neste tutorial, aprenderás como:
- Criar, anexar e inicializar um disco de dados
- Verificar o estado de um disco
- Expandir e atualizar um disco
- Desanexar e excluir um disco
Prerequisites
Você deve ter uma conta do Azure com uma assinatura ativa. Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.
Azure Cloud Shell
O Azure aloja o Azure Cloud Shell, um ambiente de shell interativo que pode utilizar através do seu browser. Você pode usar o Bash ou o PowerShell com o Cloud Shell para trabalhar com os serviços do Azure. Você pode usar os comandos pré-instalados do Cloud Shell para executar o código neste artigo, sem precisar instalar nada em seu ambiente local.
Para iniciar o Azure Cloud Shell:
| Opção | Exemplo/Link |
|---|---|
| Selecione Experimentar no canto superior direito de um código ou bloco de comandos. Selecionar Experimentar não copia automaticamente o código ou comando para o Cloud Shell. |
|
| Vá para https://shell.azure.com, ou selecione o botão Iniciar o Cloud Shell para abrir o Cloud Shell no navegador. |
|
| Selecione o botão Cloud Shell na barra de menus no canto superior direito do portal do Azure. |
|
Para usar o Azure Cloud Shell:
Inicie o Cloud Shell.
Selecione o botão Copiar em um bloco de código (ou bloco de comando) para copiar o código ou comando.
Cole o código ou comando na sessão do Cloud Shell selecionando Ctrl+Shift+V no Windows e Linux ou selecionando Cmd+Shift+V no macOS.
Selecione Enter para executar o código ou comando.
Criar uma VM
Os exercícios neste tutorial exigem uma VM. Siga as etapas nesta seção para criar um.
Antes de começar, localize a $azRegion variável localizada na primeira linha do código de exemplo e atualize o valor para refletir a região desejada. Por exemplo, para especificar a região dos EUA Central , use $azRegion = "Central US". Em seguida, use o código para implantar uma VM dentro de um novo grupo de recursos. Você será solicitado a fornecer valores de nome de usuário e senha para a conta de administrador local da VM.
$azRegion = "[Your Region]"
$azResourceGroup = "myDemoResourceGroup"
$azVMName = "myDemoVM"
$azDataDiskName = "myDemoDataDisk"
New-AzVm `
-Location $azRegion `
-ResourceGroupName $azResourceGroup `
-Name $azVMName `
-Size "Standard_D2s_v3" `
-VirtualNetworkName "myDemoVnet" `
-SubnetName "myDemoSubnet" `
-SecurityGroupName "myDemoNetworkSecurityGroup" `
-PublicIpAddressName "myDemoPublicIpAddress"
A saída confirma a criação bem-sucedida da VM.
ResourceGroupName : myDemoResourceGroup
Id : /subscriptions/{GUID}/resourceGroups/myDemoResourceGroup/providers/Microsoft.Compute/virtualMachines/myDemoTestVM
VmId : [{GUID}]
Name : myDemoVM
Type : Microsoft.Compute/virtualMachines
Location : centralus
Tags : {}
HardwareProfile : {VmSize}
NetworkProfile : {NetworkInterfaces}
OSProfile : {ComputerName, AdminUsername, WindowsConfiguration, AllowExtensionOperations, RequireGuestProvisionSignal}
ProvisioningState : Succeeded
StorageProfile : {ImageReference, OsDisk, DataDisks}
FullyQualifiedDomainName : mydemovm-abc123.Central US.cloudapp.azure.com
A VM é provisionada e dois discos são criados e anexados automaticamente.
- Um disco do sistema operacional, que hospeda o sistema operacional da máquina virtual.
- Um disco temporário, que é usado principalmente para operações como processamento temporário de dados.
Adicionar um disco de dados
Recomendamos que você separe os dados do aplicativo e do usuário dos dados relacionados ao sistema operacional sempre que possível. Se precisar armazenar dados de usuário ou aplicativo em sua VM, normalmente criará e anexará discos de dados adicionais.
Este procedimento requer uma VM existente e utiliza as $azRegionvariáveis , $azResourceGroup, $azVMName, e $azDataDiskName definidas em Create a VM.
Siga as etapas nesta seção para criar, anexar e inicializar um disco de dados na VM.
Criar o disco de dados
Nesta secção, cria-se um disco de dados gerido usando as $azRegionvariáveis , $azResourceGroup, e $azDataDiskName definidas em Criar uma VM.
Antes que um disco de dados possa ser criado, você deve primeiro criar um objeto de disco. O exemplo de código a seguir usa o cmdlet New-AzDiskConfig para configurar um objeto de disco.
$diskConfig = New-AzDiskConfig ` -Location $azRegion ` -CreateOption Empty ` -DiskSizeGB 128 ` -SkuName "Standard_LRS"Depois que o objeto de disco for criado, use o cmdlet New-AzDisk para provisionar um disco de dados.
$dataDisk = New-AzDisk ` -ResourceGroupName $azResourceGroup ` -DiskName $azDataDiskName ` -Disk $diskConfigVocê pode usar o cmdlet Get-AzDisk para verificar se o disco foi criado.
Get-AzDisk ` -ResourceGroupName $azResourceGroup ` -DiskName $azDataDiskNameNeste exemplo, a saída confirma que o disco foi criado. Os valores da propriedade
DiskStateeManagedByconfirmam que o disco ainda não está conectado.ResourceGroupName : myDemoResourceGroup ManagedBy : ManagedByExtended : {} OsType : DiskSizeGB : 128 DiskSizeBytes : 137438953472 ProvisioningState : Succeeded DiskIOPSReadWrite : 500 DiskMBpsReadWrite : 60 DiskState : Unattached Name : myDemoDataDisk
Anexar o disco de dados
Um disco de dados deve ser anexado a uma VM antes que a VM possa acessá-lo. Conclua as etapas nesta seção para criar uma referência para a VM, conectar o disco e atualizar a configuração da VM.
Esta secção utiliza as variáveis $azResourceGroup, $azVMName e $azDataDiskName, e o disco gerido não anexado referido por $dataDisk em Criar o disco de dados.
Obtenha a VM à qual você anexará o disco de dados. O código de exemplo a seguir usa o cmdlet Get-AzVM para criar uma referência à VM.
$vm = Get-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMNameEm seguida, anexe o disco de dados à configuração da VM com o cmdlet Add-AzVMDataDisk .
$vm = Add-AzVMDataDisk ` -VM $vm ` -Name $azDataDiskName ` -CreateOption Attach ` -ManagedDiskId $dataDisk.Id ` -Lun 1Por fim, atualize a configuração da VM com o cmdlet Update-AzVM .
Update-AzVM ` -ResourceGroupName $azResourceGroup ` -VM $vmApós uma breve pausa, a saída confirma um anexo bem-sucedido.
RequestId IsSuccessStatusCode StatusCode ReasonPhrase --------- ------------------- ---------- ------------ True OK OK
Inicializar o disco de dados
Depois que um disco de dados é conectado à VM, o sistema operacional precisa ser configurado para usar o disco. A seção a seguir fornece orientação sobre como se conectar à VM remota e configurar o primeiro disco adicionado.
Esta secção requer acesso de administrador local à VM com o nome indicado por $azVMName e ao disco de dados anexado e não inicializado de Anexar o disco de dados.
Inicie sessão no portal Azure.
Localize a VM à qual você anexou o disco de dados. Crie uma ligação RDP (Ambiente de Trabalho Remoto Protocol) e inicie sessão como administrador local.
Depois de estabelecer uma conexão RDP com a VM remota, selecione o menu Iniciar do Windows. Digite PowerShell na caixa de pesquisa e selecione Windows PowerShell para abrir uma janela do PowerShell.
Na janela aberta do PowerShell, execute o seguinte script.
Get-Disk | Where PartitionStyle -eq 'raw' | Initialize-Disk -PartitionStyle MBR -PassThru | New-Partition -AssignDriveLetter -UseMaximumSize | Format-Volume -FileSystem NTFS -NewFileSystemLabel "myDemoDataDisk" -Confirm:$falseA saída confirma uma inicialização bem-sucedida.
DriveLetter FileSystemLabel FileSystem DriveType HealthStatus OperationalStatus SizeRemaining Size ----------- --------------- ---------- --------- ------------ ----------------- ------------- ---- F myDemoDataDisk NTFS Fixed Healthy OK 127.89 GB 128 GB
Expandir um disco
Pode expandir um disco ou disco de dados gerido no Azure quando a sua VM precisar de mais capacidade de armazenamento.
Este procedimento requer uma VM existente com um disco de SO gerido ou disco de dados ligado e utiliza as $azResourceGroup variáveis e $azVMName definidas em Criar uma VM.
Alguns cenários exigem que os dados sejam armazenados no disco do sistema operacional. Por exemplo, pode ser necessário suportar aplicações legadas que instalam componentes na unidade do sistema operativo. Também poderá precisar de migrar um PC físico local ou uma máquina virtual com um disco de sistema operativo maior. Nestes casos, pode ser necessário expandir o disco do sistema operativo de uma VM.
Atualizar o tamanho do disco
Siga as etapas abaixo para redimensionar o disco do sistema operacional ou um disco de dados.
Importante
Se o disco atender aos requisitos em Expandir sem tempo de inatividade, você poderá ignorar as etapas 2 e 6.
A redução de um disco existente não é suportada e pode resultar em perda de dados.
Depois de expandir os discos, você precisa expandir o volume no sistema operacional para aproveitar o disco maior.
Selecione a VM que contém o disco que você redimensionará com o
Get-AzVMcmdlet.$vm = Get-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMNameAntes de poderes redimensionar um disco de VM, tens de parar a VM. Use o comando Stop-AzVM para parar a VM. Você será solicitado a confirmar.
Importante
Antes de iniciar um desligamento da VM, sempre confirme se não há recursos ou dados importantes que possam ser perdidos.
Stop-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMNameApós uma breve pausa, a saída confirma que a máquina foi parada com êxito.
OperationId : abcd1234-ab12-cd34-123456abcdef Status : Succeeded StartTime : 9/13/2021 7:10:23 PM EndTime : 9/13/2021 7:11:12 PM Error :Depois que a VM for interrompida, obtenha uma referência ao sistema operacional ou ao disco de dados anexado à VM com o
Get-AzDiskcmdlet.O exemplo a seguir seleciona o disco do sistema operacional da VM.
$disk= Get-AzDisk ` -ResourceGroupName $azResourceGroup ` -DiskName $vm.StorageProfile.OsDisk.NameO exemplo a seguir seleciona o primeiro disco de dados da VM.
$disk= Get-AzDisk ` -ResourceGroupName $azResourceGroup ` -DiskName $vm.StorageProfile.DataDisks[0].NameAgora que você tem uma referência ao disco, defina o tamanho do disco para 250 GiB.
Importante
O novo tamanho deve ser maior que o tamanho do disco existente. O máximo permitido é de 4.095 GiB para discos do sistema operacional.
$disk.DiskSizeGB = 250De seguida, atualize o disco gerido usando o cmdlet Update-AzDisk .
Update-AzDisk ` -ResourceGroupName $azResourceGroup ` -Disk $disk -DiskName $disk.NameO disco gerido é atualizado e a saída confirma o novo tamanho do disco.
ResourceGroupName : myDemoResourceGroup ManagedBy : /subscriptions/{GUID}/resourceGroups/myDemoResourceGroup/providers/Microsoft.Compute/virtualMachines/myDemoVM Sku : Microsoft.Azure.Management.Compute.Models.DiskSku TimeCreated : 9/135/2021 6:41:10 PM CreationData : Microsoft.Azure.Management.Compute.Models.CreationData DiskSizeGB : 250 DiskSizeBytes : 268435456000 UniqueId : {GUID} ProvisioningState : Succeeded DiskIOPSReadWrite : 500 DiskMBpsReadWrite : 60 DiskState : Reserved Encryption : Microsoft.Azure.Management.Compute.Models.Encryption Id : /subscriptions/{GUID}/resourceGroups/myDemoResourceGroup/providers/Microsoft.Compute/disks/myDemoDataDisk Name : myDemoDataDisk Type : Microsoft.Compute/disks Location : centralusFinalmente, reinicie a VM usando o cmdlet Start-AzVM .
Start-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMNameApós uma breve pausa, a saída confirma que a máquina foi iniciada com êxito.
OperationId : abcd1234-ab12-cd34-123456abcdef Status : Succeeded StartTime : 9/13/2021 7:44:54 PM EndTime : 9/13/2021 7:45:15 PM Error :
Expanda o volume do disco no SO
Antes de aproveitar o novo tamanho do disco, você precisa expandir o volume dentro do sistema operacional. Siga as etapas abaixo para expandir o volume do disco e aproveitar o novo tamanho do disco.
Inicie sessão no portal Azure.
Localiza a VM que tem o disco expandido do sistema operativo ou disco de dados. Crie uma ligação RDP (Ambiente de Trabalho Remoto Protocol) e inicie sessão. Se já não tiver acesso a uma conta administrativa, crie um objeto credencial para um nome de utilizador e palavra-passe especificados usando o cmdlet Get-Credential .
Depois de estabelecer uma conexão RDP com a VM remota, selecione o menu Iniciar do Windows. Digite PowerShell na caixa de pesquisa e selecione Windows PowerShell para abrir uma janela do PowerShell.
Abra o PowerShell e execute o seguinte script. Altere o
-DriveLettervalor da variável conforme apropriado. Por exemplo, para redimensionar a partição na unidade F:, use$driveLetter = "F".$driveLetter = "[Drive Letter]" $size = (Get-PartitionSupportedSize -DriveLetter $driveLetter) Resize-Partition ` -DriveLetter $driveLetter ` -Size $size.SizeMaxNa janela PowerShell da VM remota, use o cmdlet Get-Volume para verificar se o volume foi expandido com sucesso.
Get-Volume -DriveLetter $driveLetterConfirme que o
Sizevalor reflete o tamanho expandido do volume.
Atualizar um disco
Há várias maneiras de responder a alterações nas cargas de trabalho da sua organização. Por exemplo, pode optar por atualizar um HDD Standard para um SSD Premium para responder ao aumento da procura.
Este procedimento requer uma VM existente com um HDD ou SSD Standard ligado. Utiliza as $azResourceGroup variáveis e $azVMName que defines em Criar uma VM.
Siga as etapas nesta seção para atualizar um disco gerenciado de padrão para premium.
Selecione a VM que contém o disco que você atualizará com o
Get-AzVMcmdlet.$vm = Get-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMNameAntes de atualizar o disco de uma VM, você deve parar a VM. Use o
Stop-AzVMcmdlet para parar a VM. Ser-lhe-á solicitada uma confirmação.Importante
Antes de iniciar um desligamento da VM, sempre confirme se não há recursos ou dados importantes que possam ser perdidos.
Stop-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMNameApós uma breve pausa, a saída confirma que a máquina foi parada com êxito.
OperationId : abcd1234-ab12-cd34-123456abcdef Status : Succeeded StartTime : 9/13/2021 7:10:23 PM EndTime : 9/13/2021 7:11:12 PM Error :Depois que a VM for interrompida, obtenha uma referência ao sistema operacional ou ao disco de dados anexado à VM com o
Get-AzDiskcmdlet.O exemplo a seguir seleciona o disco do sistema operacional da VM.
$disk= Get-AzDisk ` -ResourceGroupName $azResourceGroup ` -DiskName $vm.StorageProfile.OsDisk.NameO exemplo a seguir seleciona o primeiro disco de dados da VM.
$disk= Get-AzDisk ` -ResourceGroupName $azResourceGroup ` -DiskName $vm.StorageProfile.DataDisks[0].NameAgora que você tem uma referência ao disco, defina a SKU do disco como Premium_LRS.
$disk.Sku = [Microsoft.Azure.Management.Compute.Models.DiskSku]::new('Premium_LRS')De seguida, atualize o disco gerido usando o
Update-AzDiskcmdlet.Update-AzDisk ` -ResourceGroupName $azResourceGroup ` -Disk $disk -DiskName $disk.NameO disco gerido foi atualizado. Use o seguinte código de exemplo para validar que o SKU do disco foi atualizado.
$disk.Sku.NameA saída confirma o novo SKU do disco.
Premium_LRSPor fim, reinicie a VM com o
Start-AzVMcmdlet.Start-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMNameApós uma breve pausa, a saída confirma que a máquina foi iniciada com êxito.
OperationId : abcd1234-ab12-cd34-123456abcdef Status : Succeeded StartTime : 9/13/2021 7:44:54 PM EndTime : 9/13/2021 7:45:15 PM Error :
Desanexar um disco de dados
Você pode desanexar um disco de dados de uma VM quando quiser anexá-lo a uma VM diferente ou quando não for mais necessário. Por padrão, os discos desanexados não são excluídos para evitar a perda não intencional de dados. Um disco desanexado continuará a incorrer em encargos de armazenamento até ser excluído.
Este procedimento requer uma VM existente com um disco de dados ligado e utiliza , $azResourceGroup$azVMName, e $azDataDiskName variáveis definidas em Create a VM.
Primeiro, selecione a VM à qual o disco está anexado com o
Get-AzVMcmdlet.$vm = Get-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMNameDe seguida, desligue o disco da VM usando o cmdlet Remove-AzVMDataDisk .
Remove-AzVMDataDisk ` -VM $vm ` -Name $azDataDiskNameAtualize o estado da VM com o
Update-AzVMcmdlet para remover o disco de dados.Update-AzVM ` -ResourceGroupName $azResourceGroup ` -VM $vmApós uma breve pausa, a saída confirma que a VM foi atualizada com êxito.
RequestId IsSuccessStatusCode StatusCode ReasonPhrase --------- ------------------- ---------- ------------ True OK OK
Excluir um disco de dados
Quando você exclui uma VM, os discos de dados conectados à VM permanecem provisionados e continuam a incorrer em cobranças até serem excluídos. Esse comportamento padrão ajuda a evitar a perda de dados causada pela exclusão não intencional.
Este procedimento requer um disco de dados não ligado e utiliza as $azResourceGroup variáveis e $azDataDiskName definidas em Criar uma VM.
O script PowerShell seguinte utiliza o cmdlet Get-AzDisk para recuperar o disco de dados nomeado por $azDataDiskName. O script confirma que o disco não está anexado antes de usar o cmdlet Remove-AzDisk para eliminá-lo.
$dataDisk = Get-AzDisk `
-ResourceGroupName $azResourceGroup `
-DiskName $azDataDiskName `
-ErrorAction Stop
if ($null -ne $dataDisk.ManagedBy) {
throw "Disk $($dataDisk.Name) is still attached. Detach it before deletion."
}
$confirm = Read-Host "Delete unattached disk $($dataDisk.Name)? (Y/N)"
if ($confirm.ToUpperInvariant() -eq 'Y') {
Remove-AzDisk `
-ResourceGroupName $azResourceGroup `
-DiskName $dataDisk.Name `
-Force
Write-Host "Unattached disk $($dataDisk.Name) deleted."
}
O disco de dados desanexado é eliminado conforme mostrado na saída.
Name : abcd1234-ab12-cd34-ef56-abcdef123456
StartTime : 9/13/2021 10:14:05 AM
EndTime : 9/13/2021 10:14:35 AM
Status : Succeeded
Error :
Limpeza de recursos
Quando já não precisares dos recursos, elimina o grupo de recursos, a máquina virtual e todos os recursos relacionados. Use o cmdlet Remove-AzResourceGroup para eliminar o grupo de recursos que criou anteriormente neste tutorial.
Atenção
Tenha cuidado ao excluir um grupo de recursos. Para evitar a perda de dados importantes, sempre confirme se não há recursos ou dados importantes contidos no grupo de recursos antes que ele seja excluído.
Remove-AzResourceGroup -Name $azResourceGroup
Você será solicitado a confirmar. Após uma breve pausa, a resposta confirma True que o myDemoResourceGroup foi excluído com êxito.
Confirm
Are you sure you want to remove resource group 'myDemoResourceGroup'
[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): Y
True
Próximos passos
Neste tutorial, você aprendeu como:
- Criar, anexar e inicializar um disco de dados
- Verificar o estado de um disco
- Expandir e atualizar um disco
- Desanexar e excluir um disco
Avance para o próximo tutorial para aprender a automatizar a configuração de VM.