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.
Crie uma nova VM anexando um disco não gerenciado especializado como o disco do sistema operacional usando o Powershell. Um disco especializado é uma cópia do VHD de uma VM existente que mantém as contas de usuário, aplicativos e outros dados de estado da VM original.
Você tem duas opções:
Opção 1: Carregar um VHD especializado
Você pode carregar o VHD de uma VM especializada criada com uma ferramenta de virtualização local, como o Hyper-V, ou uma VM exportada de outra nuvem.
Preparar a VM
Você pode carregar um VHD especializado criado usando uma VM local ou um VHD exportado de outra nuvem. Um VHD especializado mantém as contas de usuário, os aplicativos e outros dados de estado da VM original. Se você pretende usar o VHD as-is para criar uma nova VM, verifique se as etapas a seguir estão concluídas.
- Prepare um VHD do Windows para carregar no Azure. Não generalize a VM usando o Sysprep.
- Remova quaisquer ferramentas e agentes de virtualização convidados instalados na VM (ou seja, ferramentas VMware).
- Verifique se a VM está configurada para efetuar pull de seu endereço IP e configurações de DNS por meio de DHCP. Isso garante que o servidor obtenha um endereço IP dentro da VNet quando iniciar.
Obter a conta de armazenamento
Você precisa de uma conta de armazenamento no Azure para armazenar a imagem da VM carregada. Você pode usar uma conta de armazenamento existente ou criar uma nova.
Para mostrar as contas de armazenamento disponíveis, digite:
Get-AzStorageAccount
Se você quiser usar uma conta de armazenamento existente, vá para a seção Carregar a imagem da VM.
Se você precisar criar uma conta de armazenamento, siga estas etapas:
Você precisa do nome do grupo de recursos em que a conta de armazenamento deve ser criada. Para descobrir todos os grupos de recursos que estão em sua assinatura, digite:
Get-AzResourceGroupPara criar um grupo de recursos chamado myResourceGroup na região Oeste dos EUA , digite:
New-AzResourceGroup -Name myResourceGroup -Location "West US"Crie uma conta de armazenamento chamada mystorageaccount neste grupo de recursos usando o cmdlet New-AzStorageAccount :
New-AzStorageAccount -ResourceGroupName myResourceGroup -Name mystorageaccount -Location "West US" ` -SkuName "Standard_LRS" -Kind "Storage"
Carregar o VHD em sua conta de armazenamento
Use o cmdlet Add-AzVhd para carregar a imagem em um contêiner em sua conta de armazenamento. Este exemplo carrega o arquivo myVHD.vhd de uma conta de "C:\Users\Public\Documents\Virtual hard disks\" armazenamento chamada mystorageaccount no grupo de recursos myResourceGroup . O arquivo será colocado no contêiner chamado mycontainer e o novo nome de arquivo será myUploadedVHD.vhd.
$rgName = "myResourceGroup"
$urlOfUploadedImageVhd = "https://mystorageaccount.blob.core.windows.net/mycontainer/myUploadedVHD.vhd"
Add-AzVhd -ResourceGroupName $rgName -Destination $urlOfUploadedImageVhd `
-LocalFilePath "C:\Users\Public\Documents\Virtual hard disks\myVHD.vhd"
Se tiver êxito, você obterá uma resposta semelhante a esta:
MD5 hash is being calculated for the file C:\Users\Public\Documents\Virtual hard disks\myVHD.vhd.
MD5 hash calculation is completed.
Elapsed time for the operation: 00:03:35
Creating new page blob of size 53687091712...
Elapsed time for upload: 01:12:49
LocalFilePath DestinationUri
------------- --------------
C:\Users\Public\Doc... https://mystorageaccount.blob.core.windows.net/mycontainer/myUploadedVHD.vhd
Dependendo da conexão de rede e do tamanho do arquivo VHD, esse comando pode demorar um pouco para ser concluído.
Opção 2: copiar o VHD de uma VM existente do Azure
Você pode copiar um VHD para outra conta de armazenamento a ser usada ao criar uma VM nova e duplicada.
Antes de começar
Verifique se você:
- Tenha informações sobre as contas de armazenamento de origem e de destino. Para a VM de origem, você precisa ter a conta de armazenamento e os nomes de contêiner. Normalmente, o nome do contêiner será vhds. Você também precisa ter uma conta de armazenamento de destino. Se você ainda não tiver um, poderá criar um usando o portal (Adicionar contas de Armazenamento de Todos os Serviços>>) ou usando o cmdlet New-AzStorageAccount.
- Baixe e instale a ferramenta AzCopy.
Desalocar a máquina virtual
Desaloque a máquina virtual (VM), o que libera o VHD para ser copiado.
- Portal: Clique em máquinas virtuais>myVM> Parar
- Powershell: Use Stop-AzVM para interromper (desalocar) a VM chamada myVM no grupo de recursos myResourceGroup.
Stop-AzVM -ResourceGroupName myResourceGroup -Name myVM
O Status para a VM no portal do Azure muda de Parado para Parado (Desalocado).
Obter as URLs da conta de armazenamento
Você precisa das URLs das contas de armazenamento de origem e de destino. As URLs se parecem com: https://<storageaccount>.blob.core.windows.net/<containerName>/. Se você já souber a conta de armazenamento e o nome do contêiner, basta substituir as informações entre os colchetes para criar sua URL.
Você pode usar o portal do Azure ou o Azure PowerShell para obter a URL:
- Portal: Clique em > para acessar todos os serviços>contas de armazenamento>conta de armazenamento>Blobs e seu arquivo VHD de origem provavelmente está no contêiner vhds. Clique em Propriedades do contêiner e copie o texto rotulado como URL. Você precisará das URLs dos contêineres de origem e de destino.
- Powershell: use Get-AzVM para obter as informações da VM chamada myVM no grupo de recursos myResourceGroup. Nos resultados, procure a seção Perfil de Armazenamento para Vhd Uri. A primeira parte do URI é a URL do contêiner e a última parte é o nome do VHD do sistema operacional para a VM.
Get-AzVM -ResourceGroupName "myResourceGroup" -Name "myVM"
Obter as chaves de acesso de armazenamento
Localize as chaves de acesso para as contas de armazenamento de origem e de destino. Para obter mais informações sobre chaves de acesso, consulte Sobre contas de armazenamento do Azure.
- Portal: Clique em Todos os serviços>Contas de armazenamento>conta de armazenamento>Chaves de acesso. Copie a chave rotulada como chave1.
- Powershell: use Get-AzStorageAccountKey para obter a chave de armazenamento da conta de armazenamento mystorageaccount no grupo de recursos myResourceGroup. Copie a chave rotulada chave1.
Get-AzStorageAccountKey -Name mystorageaccount -ResourceGroupName myResourceGroup
Copiar o VHD
Você pode copiar arquivos entre contas de armazenamento usando o AzCopy. Para o contêiner de destino, se o contêiner especificado não existir, ele será criado para você.
Para usar o AzCopy, abra um prompt de comando no computador local e navegue até a pasta em que o AzCopy está instalado. Ele será semelhante a C:\Arquivos de Programas (x86)\Microsoft SDKs\Azure\AzCopy.
Para copiar todos os arquivos em um contêiner, use a opção /S . Isso pode ser usado para copiar o VHD do sistema operacional e todos os discos de dados se eles estiverem no mesmo contêiner. Este exemplo mostra como copiar todos os arquivos no contêiner mysourcecontainer na conta de armazenamento mysourcestorageaccount para o contêiner mydestinationcontainer na conta de armazenamento mydestinationstorageaccount . Substitua os nomes das contas de armazenamento e contêineres por seus próprios. Substitua <sourceStorageAccountKey1> e <destinationStorageAccountKey1> por suas próprias chaves.
AzCopy /Source:https://mysourcestorageaccount.blob.core.windows.net/mysourcecontainer `
/Dest:https://mydestinationatorageaccount.blob.core.windows.net/mydestinationcontainer `
/SourceKey:<sourceStorageAccountKey1> /DestKey:<destinationStorageAccountKey1> /S
Se você quiser copiar apenas um VHD específico em um contêiner com vários arquivos, também poderá especificar o nome do arquivo usando a opção /Pattern. Neste exemplo, somente o arquivo chamado myFileName.vhd será copiado .
AzCopy /Source:https://mysourcestorageaccount.blob.core.windows.net/mysourcecontainer `
/Dest:https://mydestinationatorageaccount.blob.core.windows.net/mydestinationcontainer `
/SourceKey:<sourceStorageAccountKey1> /DestKey:<destinationStorageAccountKey1> `
/Pattern:myFileName.vhd
Quando terminar, você receberá uma mensagem semelhante a:
Finished 2 of total 2 file(s).
[2016/10/07 17:37:41] Transfer summary:
-----------------
Total files transferred: 2
Transfer successfully: 2
Transfer skipped: 0
Transfer failed: 0
Elapsed time: 00.00:13:07
Resolução de problemas
- Quando você usar o AZCopy, se vir o erro "O servidor falhou ao autenticar a solicitação", verifique se o valor do cabeçalho de autorização está formado corretamente, incluindo a assinatura. Se você estiver usando a Chave 2 ou a chave de armazenamento secundária, tente usar a chave de armazenamento primária ou 1ª.
Criar a nova VM
Você precisa criar rede e outros recursos de VM a serem usados pela nova VM.
Criar a sub-rede e a vNet
Crie a vNet e a sub-rede da rede virtual.
Crie a sub-rede. Este exemplo cria uma sub-rede chamada mySubNet, no grupo de recursos myResourceGroup, e define o prefixo de endereço de sub-rede como 10.0.0.0/24.
$rgName = "myResourceGroup" $subnetName = "mySubNet" $singleSubnet = New-AzVirtualNetworkSubnetConfig -Name $subnetName -AddressPrefix 10.0.0.0/24Crie a rede virtual (vNet). Este exemplo define o nome da rede virtual como myVnetName, o local para Oeste dos EUA e o prefixo de endereço da rede virtual como 10.0.0.0/16.
$location = "West US" $vnetName = "myVnetName" $vnet = New-AzVirtualNetwork -Name $vnetName -ResourceGroupName $rgName -Location $location ` -AddressPrefix 10.0.0.0/16 -Subnet $singleSubnetCriar o grupo de segurança de rede e uma regra RDP
Para poder fazer logon em sua VM usando RDP, você precisa ter uma regra de segurança que permita o acesso rdp na porta 3389. Como o VHD da nova VM foi criado a partir de uma VM especializada existente, depois que a VM é criada, você pode usar uma conta existente da máquina virtual de origem que tinha permissão para fazer logon usando RDP. Isso precisa ser concluído antes de criar o adaptador de rede ao qual ele será associado.
Este exemplo define o nome NSG como myNsg e o nome da regra RDP como myRdpRule.
$nsgName = "myNsg"
$rdpRule = New-AzNetworkSecurityRuleConfig -Name myRdpRule -Description "Allow RDP" `
-Access Allow -Protocol Tcp -Direction Inbound -Priority 110 `
-SourceAddressPrefix Internet -SourcePortRange * `
-DestinationAddressPrefix * -DestinationPortRange 3389
$nsg = New-AzNetworkSecurityGroup -ResourceGroupName $rgName -Location $location `
-Name $nsgName -SecurityRules $rdpRule
Para obter mais informações sobre pontos de extremidade e regras NSG, consulte Abrir portas para uma VM no Azure usando o PowerShell.
Criar um endereço IP público e NIC
Para habilitar a comunicação com a máquina virtual na rede virtual, você precisa de um endereço IP público e um adaptador de rede.
Crie o IP público. Neste exemplo, o nome do endereço IP público é definido como myIP.
$ipName = "myIP" $pip = New-AzPublicIpAddress -Name $ipName -ResourceGroupName $rgName -Location $location ` -AllocationMethod DynamicCrie a placa de rede. Neste exemplo, o nome nic é definido como myNicName. Essa etapa também associa o Grupo de Segurança de Rede criado anteriormente a essa NIC.
$nicName = "myNicName" $nic = New-AzNetworkInterface -Name $nicName -ResourceGroupName $rgName ` -Location $location -SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $pip.Id -NetworkSecurityGroupId $nsg.Id
Definir o nome e o tamanho da VM
Este exemplo define o nome da VM como "myVM" e o tamanho da VM como "Standard_A2".
$vmName = "myVM"
$vmConfig = New-AzVMConfig -VMName $vmName -VMSize "Standard_A2"
Adicionar a NIC
$vm = Add-AzVMNetworkInterface -VM $vmConfig -Id $nic.Id
Configurar o disco do sistema operacional
Defina o URI para o VHD que você carregou ou copiou. Neste exemplo, o arquivo VHD chamado myOsDisk.vhd é mantido em uma conta de armazenamento chamada myStorageAccount em um contêiner chamado myContainer.
$osDiskUri = "https://myStorageAccount.blob.core.windows.net/myContainer/myOsDisk.vhd"Adicione o disco do sistema operacional. Neste exemplo, quando o disco do sistema operacional é criado, o termo "osDisk" é acrescentado ao nome da VM para criar o nome do disco do sistema operacional. Este exemplo também especifica que esse VHD baseado no Windows deve ser anexado à VM como o disco do sistema operacional.
$osDiskName = $vmName + "osDisk" $vm = Set-AzVMOSDisk -VM $vm -Name $osDiskName -VhdUri $osDiskUri -CreateOption attach -Windows
Opcional: se você tiver discos de dados que precisam ser anexados à VM, adicione os discos de dados usando as URLs de VHDs de dados e o Lun (Número de Unidade Lógica) apropriado.
$dataDiskName = $vmName + "dataDisk"
$vm = Add-AzVMDataDisk -VM $vm -Name $dataDiskName -VhdUri $dataDiskUri -Lun 1 -CreateOption attach
Ao usar uma conta de armazenamento, as URLs de disco do sistema operacional e de dados são semelhantes a esta: https://StorageAccountName.blob.core.windows.net/BlobContainerName/DiskName.vhd. Você pode encontrá-lo no portal navegando até o contêiner de armazenamento de destino, clicando no sistema operacional ou no VHD de dados que foi copiado e copiando o conteúdo da URL.
Concluir a VM
Crie a VM usando as configurações que acabamos de criar.
#Create the new VM
New-AzVM -ResourceGroupName $rgName -Location $location -VM $vm
Se esse comando tiver sido bem-sucedido, você verá uma saída como esta:
RequestId IsSuccessStatusCode StatusCode ReasonPhrase
--------- ------------------- ---------- ------------
True OK OK
Verifique se a VM foi criada
Você deverá ver a VM recém-criada no portal do Azure, em Todas as máquinas> ou usando os seguintes comandos do PowerShell:
$vmList = Get-AzVM -ResourceGroupName $rgName
$vmList.Name
Próximas etapas
Entre em sua nova máquina virtual. Para obter mais informações, veja Como ligar e iniciar sessão numa máquina virtual do Azure com o Windows.