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.
Aplica-se a: ✔️ VMs do Windows ✔️ Conjuntos de escala flexíveis
Este artigo mostra-lhe como ligar discos novos e existentes a uma máquina virtual Windows usando PowerShell.
Primeiro, reveja estas dicas:
- O tamanho da máquina virtual controla quantos discos de dados podes conectar. Para obter mais informações, consulte Tamanhos para máquinas virtuais.
- Para usar SSDs Premium, vai precisar de um tipo de VM com capacidade de armazenamento premium, como as máquinas virtuais das séries DS ou GS.
Este artigo utiliza o PowerShell no Azure Cloud Shell, que é constantemente atualizado para a versão mais recente. Para abrir a Cloud Shell, selecione Experimentar no topo de qualquer bloco de código.
Reduzir a latência de ligação ao disco de dados
Em regiões selecionadas, a latência de ligação do disco é reduzida, pelo que se vê uma melhoria de até 15%. Essa melhoria é útil se você tiver failover planejado ou não planejado entre VMs, estiver dimensionando sua carga de trabalho ou estiver executando uma carga de trabalho com estado de alta escala, como o Serviço Kubernetes do Azure. No entanto, esta melhoria limita-se ao comando explícito de ligação de disco, Add-AzVMDataDisk. Não vês melhoria de desempenho se chamares um comando que possa implicitamente executar um attachment, como o Update-AzVM. Não precisa fazer nada além de chamar o comando explícito de anexação para ver esta melhoria.
Atualmente, a latência mais baixa está disponível em todas as regiões públicas, exceto para:
- Canadá Central
- E.U.A. Central
- E.U.A. Leste
- E.U.A. Leste 2
- E.U.A. Centro-Sul
- E.U.A. Oeste 2
- Norte da Alemanha
- Índia Ocidental
- Europa do Norte
- Europa Ocidental
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.
Crie e anexe um disco gerido
Defina valores para o grupo de recursos, VM, localização, tipo de armazenamento e nome do disco de dados. O cmdlet New-AzDiskConfig cria uma configuração para um disco gerido vazio de 128 GiB, e o New-AzDisk cria o disco. Depois, o 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
Crie e anexe um disco gerido numa zona de disponibilidade
Defina valores para o grupo de recursos, VM, localização, tipo de armazenamento e nome do disco de dados. Para criar um disco gerido numa zona de disponibilidade, use New-AzDiskConfig com o -Zone parâmetro. O exemplo seguinte cria um disco gerido 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 adicionares um disco vazio, tens de o inicializar. Para inicializar o disco, inicie sessão numa VM e utilize a gestão de discos. Se ativares o WinRM e um certificado na VM ao criá-la, podes usar o PowerShell remoto para inicializar o disco.
Também pode usar o cmdlet Set-AzVMCustomScriptExtension para adicionar uma Extensão de Script Personalizada à VM. O exemplo seguinte utiliza os nomes do grupo de recursos e das VMs do procedimento de anexo, juntamente com valores para a localização da VM, nome da extensão, ficheiro de script de inicialização, nome da conta de armazenamento, chave da conta de armazenamento e nome do contentor. Armazene o script no contentor 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 ficheiro de script pode conter código para inicializar os discos, por exemplo:
Nota
O script de exemplo usa o estilo de partição MBR. Se o seu disco tiver dois tebibytes (TiB) ou maior, deve usar particionamento GPT. Se for inferior a dois TiB, podes 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, VM e o nome do disco gerido existente. Utilize Get-AzDisk para obter o disco gerido e Get-AzVM para obter a configuração da VM. Depois, 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óximos passos
Também podes implementar discos geridos usando templates. Para mais informações, consulte Utilizar discos geridos nos Templates do Azure Resource Manager ou o modelo de início rápido para implantar múltiplos discos de dados.