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.
Aplica-se a: ✔️ VMs do Windows ✔️ Conjuntos de dimensionamento flexíveis
Este artigo mostra como anexar discos novos e existentes a uma máquina virtual do Windows usando o PowerShell.
Primeiro, leia estas dicas:
- O tamanho da máquina virtual controla quantos discos de dados você pode anexar a ela. Para obter mais informações, confira Tamanhos das máquinas virtuais.
- Para usar SSDs Premium, você precisará de um tipo de VM premium habilitado para armazenamento, como a máquina virtual da série DS ou GS.
Este tutorial usa o PowerShell na Azure Cloud Shell, que é constantemente atualizada para a versão mais recente. Para abrir o Cloud Shell, selecione Experimentar na parte superior de um bloco de código qualquer.
Reduzir a latência de anexação do disco de dados
Em regiões selecionadas, a latência de anexação de disco é reduzida, portanto, você vê uma melhoria de até 15%. Esta melhoria será útil se você tiver falhas planejadas ou não planejadas entre VMs, estiver dimensionando sua carga de trabalho ou estiver executando uma carga de trabalho com estado de alta escala, como o Serviço de Kubernetes do Azure. No entanto, essa melhoria é limitada ao comando de anexação de disco explícito, Add-AzVMDataDisk. Você não verá a melhoria de desempenho se chamar um comando que possa executar implicitamente uma anexação, como Update-AzVM. Você não precisa realizar nenhuma ação além de chamar o comando de anexação explícito para ver esse aprimoramento.
Atualmente, a latência mais baixa está disponível em todas as regiões públicas, exceto:
- Canadá Central
- EUA Central
- Leste dos EUA
- Leste dos EUA 2
- Centro-Sul dos EUA
- Oeste dos EUA 2
- Norte da Alemanha
- Índia Ocidental
- Europa Setentrional
- Oeste da Europa
Adicionar um disco de dados vazio a uma máquina virtual
Este exemplo mostra como adicionar um disco de dados vazio a uma máquina virtual existente.
Criar e anexar um disco gerenciado
Defina valores para o grupo de recursos, VM, local, tipo de armazenamento e nome do disco de dados. O cmdlet New-AzDiskConfig cria uma configuração para um disco gerenciado de 128 GiB vazio e o New-AzDisk cria o disco. Em seguida, Get-AzVM obtém a configuração da VM, Add-AzVMDataDisk adiciona o disco a ela e Update-AzVM aplica a configuração atualizada à VM.
$rgName = 'myResourceGroup'
$vmName = 'myVM'
$location = 'East US'
$storageType = 'Premium_LRS'
$dataDiskName = $vmName + '_datadisk1'
$diskConfig = New-AzDiskConfig -SkuName $storageType -Location $location -CreateOption Empty -DiskSizeGB 128
$dataDisk1 = New-AzDisk -DiskName $dataDiskName -Disk $diskConfig -ResourceGroupName $rgName
$vm = Get-AzVM -Name $vmName -ResourceGroupName $rgName
$vm = Add-AzVMDataDisk -VM $vm -Name $dataDiskName -CreateOption Attach -ManagedDiskId $dataDisk1.Id -Lun 1
Update-AzVM -VM $vm -ResourceGroupName $rgName
Criar e anexar um disco gerenciado em uma zona de disponibilidade
Defina valores para o grupo de recursos, VM, local, tipo de armazenamento e nome do disco de dados. Para criar um disco gerenciado em uma zona de disponibilidade, use New-AzDiskConfig com o -Zone parâmetro. O exemplo a seguir cria um disco gerenciado vazio de 128 GiB na zona 1, adiciona-o à configuração da VM e aplica a configuração atualizada à VM.
$rgName = 'myResourceGroup'
$vmName = 'myVM'
$location = 'East US 2'
$storageType = 'Premium_LRS'
$dataDiskName = $vmName + '_datadisk1'
$diskConfig = New-AzDiskConfig -SkuName $storageType -Location $location -CreateOption Empty -DiskSizeGB 128 -Zone 1
$dataDisk1 = New-AzDisk -DiskName $dataDiskName -Disk $diskConfig -ResourceGroupName $rgName
$vm = Get-AzVM -Name $vmName -ResourceGroupName $rgName
$vm = Add-AzVMDataDisk -VM $vm -Name $dataDiskName -CreateOption Attach -ManagedDiskId $dataDisk1.Id -Lun 1
Update-AzVM -VM $vm -ResourceGroupName $rgName
Inicializar o disco
Depois de adicionar um disco vazio, você precisará inicializá-lo. Para inicializar o disco, entre em uma VM e use o gerenciamento de disco. Se você habilitar o WinRM e um certificado na VM ao criá-lo, poderá usar o PowerShell remoto para inicializar o disco.
Você também pode usar o cmdlet Set-AzVMCustomScriptExtension para adicionar uma extensão de script personalizado à VM. O exemplo a seguir usa o grupo de recursos e os nomes de VM do procedimento de anexo, juntamente com valores para o local da VM, o nome da extensão, o arquivo de script de inicialização, o nome da conta de armazenamento, a chave da conta de armazenamento e o nome do contêiner. Armazene o script no contêiner de Armazenamento do Azure especificado antes de executar o comando:
$location = "location-name"
$scriptName = "script-name"
$fileName = "script-file-name"
Set-AzVMCustomScriptExtension -ResourceGroupName $rgName -Location $location -VMName $vmName -Name $scriptName -TypeHandlerVersion "1.4" -StorageAccountName "mystore1" -StorageAccountKey "primary-key" -FileName $fileName -ContainerName "scripts"
O arquivo de script pode conter código para inicializar os discos, por exemplo:
Observação
O script de exemplo usa o estilo de partição MBR. Se o disco tiver dois tebibytes (TiB) ou mais, você deverá usar o particionamento GPT. Se estiver abaixo de dois TiB, você poderá usar MBR ou GPT.
$disks = Get-Disk | Where partitionstyle -eq 'raw' | sort number
$letters = 70..89 | ForEach-Object { [char]$_ }
$count = 0
$labels = "data1","data2"
foreach ($disk in $disks) {
$driveLetter = $letters[$count].ToString()
$disk |
Initialize-Disk -PartitionStyle MBR -PassThru |
New-Partition -UseMaximumSize -DriveLetter $driveLetter |
Format-Volume -FileSystem NTFS -NewFileSystemLabel $labels[$count] -Confirm:$false -Force
$count++
}
Anexar um disco de dados existente a uma VM
Defina valores para o grupo de recursos, a VM e o nome do disco gerenciado existente. Use Get-AzDisk para obter o disco gerenciado e Get-AzVM obter a configuração da VM. Em seguida, use Add-AzVMDataDisk para adicionar o disco existente à configuração da VM e Update-AzVM aplicar a configuração atualizada à VM.
$rgName = "myResourceGroup"
$vmName = "myVM"
$dataDiskName = "myDisk"
$disk = Get-AzDisk -ResourceGroupName $rgName -DiskName $dataDiskName
$vm = Get-AzVM -Name $vmName -ResourceGroupName $rgName
$vm = Add-AzVMDataDisk -CreateOption Attach -Lun 0 -VM $vm -ManagedDiskId $disk.Id
Update-AzVM -VM $vm -ResourceGroupName $rgName
Próximas etapas
Você também pode implantar discos gerenciados usando modelos. Para obter mais informações, consulte Como usar discos gerenciados em modelos do Azure Resource Manager ou o modelo de início rápido para implantar vários discos de dados.