Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Máquinas virtuais (VMs) do Azure usam discos para armazenar o SO (sistema operacional), aplicativos e dados. Ao criar uma VM, é importante escolher um tamanho de disco e a configuração apropriados para a carga de trabalho esperada.
Este tutorial aborda a implantação e o gerenciamento de discos de VM. Neste tutorial, você aprenderá como:
- Criar, anexar e inicializar um disco de dados
- Verificar o status de um disco
- Expandir e atualizar um disco
- Desanexar e excluir um disco
Pré-requisitos
Tenha uma conta do Azure com uma assinatura ativa. Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
Azure Cloud Shell
O Azure hospeda o Azure Cloud Shell, um ambiente de shell interativo que pode ser usado por meio do navegador. É possível usar o bash ou o PowerShell com o Cloud Shell para trabalhar com os serviços do Azure. É possível usar os comandos pré-instalados do Cloud Shell para executar o código neste artigo, sem precisar instalar nada no seu ambiente local.
Para iniciar o Azure Cloud Shell:
| Opção | Exemplo/Link |
|---|---|
| Selecione Experimentar no canto superior direito de um bloco de código ou de comando. Selecionar Experimentar não copia automaticamente o código nem o comando para o Cloud Shell. |
|
| Acesse https://shell.azure.com ou selecione o botão Iniciar o Cloud Shell para abri-lo 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 o comando.
Cole o código ou comando na sessão do Cloud Shell selecionando Ctrl+Shift+V no Windows e no Linux, ou selecionando Cmd+Shift+V no macOS.
Pressione Enter para executar o código ou comando.
Criar uma máquina virtual
Os exercícios neste tutorial exigem uma VM. Siga as etapas nesta seção para criar uma.
Antes de começar, localize a $azRegion variável localizada na primeira linha de código de exemplo e atualize o valor para refletir a região desejada. Por exemplo, para especificar a região EUA Central, use $azRegion = "Central US". Em seguida, use o código para implantar uma VM em um novo grupo de recursos. Você será solicitado a fornecer os 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 o processamento de dados temporário.
Adicionar um disco de dados
É recomendável separar dados de aplicativo e de usuário dos dados relacionados ao sistema operacional, quando possível. Se você precisar armazenar dados de usuário ou aplicativo em sua VM, normalmente vai criar e anexar discos de dados adicionais.
Este procedimento requer uma VM existente e usa as $azRegionvariáveis, $azResourceGroup$azVMNamee $azDataDiskName as variáveis definidas em Criar uma VM.
Siga as etapas nesta seção para criar, anexar e inicializar um disco de dados na VM.
Crie o disco de dados
Nesta seção, você criará um disco de dados gerenciado usando o , $azResourceGroupe $azDataDiskName as $azRegionvariáveis 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á anexado.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 para ela 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 seção usa as variáveis $azResourceGroup, $azDataDiskName e $azVMName e o disco gerenciado não anexado referenciado por $dataDisk em Criar o disco de dados.
Obtenha a VM à qual você vai 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 $azVMNameAnexe 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 é anexado à VM, o sistema operacional precisa ser configurado para usar o disco. A seção a seguir apresenta as diretrizes para se conectar à VM remota e configurar o primeiro disco adicionado.
Esta seção requer acesso de administrador local à VM nomeada por $azVMName e ao disco de dados anexado, não inicializado, de Anexar o disco de dados.
Entre no portal do Azure.
Localize a VM à qual você anexou o disco de dados. Crie uma conexão de protocolo RDP e entre como administrador local.
Depois de estabelecer uma conexão RDP com a VM remota, selecione o menu Iniciar do Windows. Insira o PowerShell na caixa de pesquisa e selecione Windows PowerShell para abrir uma janela do PowerShell.
Na janela do PowerShell aberta, execute o script a seguir.
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
Você pode expandir um disco do sistema operacional gerenciado Azure ou disco de dados quando sua VM precisar de mais capacidade de armazenamento.
Este procedimento requer uma VM existente com um disco de sistema operacional ou disco de dados gerenciado anexado e usa as $azResourceGroup variáveis e $azVMName definidas em Criar uma VM.
Alguns cenários exigem que os dados sejam armazenados no disco do SO. Por exemplo, talvez seja necessário dar suporte a aplicativos herdados que instalam componentes na unidade do sistema operacional. Talvez você também precise migrar um computador físico local ou uma VM com uma unidade de sistema operacional maior. Nesses casos, talvez seja necessário expandir o disco do sistema operacional de uma VM.
Atualizar o tamanho do disco
Siga as etapas abaixo para redimensionar o disco do SO ou um disco de dados.
Importante
Se o seu disco atender aos requisitos em Expandir sem tempo de inatividade, poderá ignorar as etapas 2 e 6.
A redução de um disco existente não tem suporte e pode resultar em perda de dados.
Depois de expandir os discos, você precisará expandir o volume no sistema operacional para aproveitar o disco maior.
Selecione a VM que contém o disco que você redimensionará com o cmdlet
Get-AzVM.$vm = Get-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMNameAntes de redimensionar um disco de VM, você deve interromper a VM. Use o cmdlet Stop-AzVM para interromper a VM. Você é 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 sucesso.
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 para o sistema operacional ou disco de dados anexado à VM com o cmdlet
Get-AzDisk.O exemplo a seguir seleciona o disco do SO 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 como 250 GiB.
Importante
O novo tamanho deve ser maior que o tamanho do disco existente. O valor máximo permitido é de 4.095 GiB para discos do sistema operacional.
$disk.DiskSizeGB = 250Em seguida, atualize o disco gerenciado usando o cmdlet Update-AzDisk .
Update-AzDisk ` -ResourceGroupName $azResourceGroup ` -Disk $disk -DiskName $disk.NameO disco gerenciado é 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 : centralusPor fim, reinicie a VM usando o cmdlet Start-AzVM .
Start-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMNameApós uma breve pausa, a saída confirma que o computador foi iniciado 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
Para aproveitar o novo tamanho do disco, expanda o volume dentro do SO. Siga as etapas abaixo para expandir o volume do disco e aproveitar o novo tamanho do disco.
Entre no portal do Azure.
Localize a VM que tem o disco do sistema operacional expandido ou o disco de dados. Crie uma conexão de protocolo RDP e entre. Se você não tiver mais acesso a uma conta administrativa, crie um objeto de credencial para um nome de usuário e senha especificados usando o cmdlet Get-Credential .
Depois de ter estabelecido uma conexão RDP com a VM remota, selecione o menu Iniciar do Windows. Insira o PowerShell na caixa de pesquisa e selecione Windows PowerShell para abrir uma janela do PowerShell.
Abra o PowerShell e execute o script a seguir. Altere o valor da variável
-DriveLetterconforme 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 do PowerShell na VM remota, use o cmdlet Get-Volume para verificar se o volume foi expandido com êxito.
Get-Volume -DriveLetter $driveLetterConfirme se o
Sizevalor reflete o tamanho expandido do volume.
Atualizar um disco
Há várias maneiras de responder às alterações nas cargas de trabalho da sua organização. Por exemplo, você pode optar por atualizar um HDD Standard para um SSD Premium para lidar com o aumento da demanda.
Este procedimento requer uma VM existente com um HDD Standard anexado ou SSD Standard. Ele usa as $azResourceGroup variáveis e $azVMName que você define em Criar uma VM.
Siga as etapas nesta seção para atualizar um disco gerenciado de Standard para Premium.
Selecione a VM que contém o disco que você vai atualizar com o cmdlet
Get-AzVM.$vm = Get-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMNameAntes de atualizar o disco de uma VM, você deve interromper a VM. Use o cmdlet
Stop-AzVMpara parar a VM. Será solicitada a sua 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 sucesso.
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 para o sistema operacional ou disco de dados anexado à VM com o cmdlet
Get-AzDisk.O exemplo a seguir seleciona o disco do SO 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')Em seguida, atualize o disco gerenciado usando o
Update-AzDiskcmdlet.Update-AzDisk ` -ResourceGroupName $azResourceGroup ` -Disk $disk -DiskName $disk.NameO disco gerenciado é atualizado. Use o código de exemplo a seguir para validar se a SKU do disco foi atualizada.
$disk.Sku.NameA saída confirma a nova SKU do disco.
Premium_LRSPor fim, reinicie a VM com o cmdlet
Start-AzVM.Start-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMNameApós uma breve pausa, a saída confirma que o computador foi iniciado 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ê poderá desanexar um disco de dados de uma VM quando quiser anexá-lo a outra VM ou quando ele não for mais necessário. Por padrão, os discos desanexados não são excluídos para evitar a perda de dados não intencional. 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 anexado e usa as $azResourceGroupvariáveis e $azDataDiskName , $azVMNamedefinidas em Criar uma VM.
Primeiro, selecione a VM à qual o disco está anexado com o cmdlet
Get-AzVM.$vm = Get-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMNameEm seguida, desanexe o disco da VM usando o cmdlet Remove-AzVMDataDisk .
Remove-AzVMDataDisk ` -VM $vm ` -Name $azDataDiskNameAtualize o estado da VM com o cmdlet
Update-AzVMpara 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 anexados à VM permanecem provisionados e continuam a incorrer em encargos até serem excluídos. Esse comportamento padrão ajuda a evitar a perda de dados causada por exclusão não intencional.
Este procedimento requer um disco de dados não anexado e usa as variáveis $azResourceGroup e $azDataDiskName definidas em Criar uma VM.
O script do PowerShell a seguir usa o cmdlet Get-AzDisk para recuperar o disco de dados nomeado por $azDataDiskName. O script confirma que o disco está desanexado antes de usar o cmdlet Remove-AzDisk para excluí-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 não anexado é excluído conforme indicado 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 :
Limpar os recursos
Quando você não precisar mais dos recursos, exclua o grupo de recursos, a VM e todos os recursos relacionados. Use o cmdlet Remove-AzResourceGroup para excluir o grupo de recursos que você criou anteriormente neste tutorial.
Cuidado
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 de serem excluídos.
Remove-AzResourceGroup -Name $azResourceGroup
Você é solicitado a confirmar. Após uma breve pausa, a resposta True confirma 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óximas etapas
Neste tutorial, você aprendeu a:
- Criar, anexar e inicializar um disco de dados
- Verificar o status de um disco
- Expandir e atualizar um disco
- Desanexar e excluir um disco
Vá para o próximo tutorial para saber como automatizar a configuração da VM.