Implantar uma VM a partir de uma imagem especializada em seu dispositivo de GPU do Azure Stack Edge Pro por meio do Azure PowerShell
APLICA-SE A: Azure Stack Edge Pro - GPUAzure Stack Edge Pro 2Azure Stack Edge Pro RAzure Stack Edge Mini R
Este artigo descreve as etapas necessárias para implantar uma máquina virtual (VM) em seu dispositivo de GPU do Azure Stack Edge Pro a partir de uma imagem especializada.
Para preparar uma imagem generalizada para implantar VMs na GPU do Azure Stack Edge Pro, consulte Preparar imagem generalizada do VHD do Windows ou Preparar imagem generalizada de um ISO.
Sobre imagens de VM
Um VHD ou VHDX do Windows pode ser usado para criar uma imagem especializada ou uma imagem generalizada . A tabela a seguir resume as principais diferenças entre as imagens especializadas e generalizadas.
Tipo de imagem | Generalizada | Especializada |
---|---|---|
Destino | Implantado em qualquer sistema. | Direcionado para um sistema específico. |
Configuração após a inicialização | Configuração necessária na primeira inicialização da VM. | Nenhuma configuração necessária. A plataforma ativa a VM. |
Configuração | Nome do host, admin-usuário e outras configurações específicas da VM necessárias. | Pré-configurado. |
Utilizado quando | Criação de várias novas VMs a partir da mesma imagem. | Migrar uma máquina específica ou restaurar uma VM a partir do backup anterior. |
Fluxo de Trabalho
O fluxo de trabalho de alto nível para implantar uma VM a partir de uma imagem especializada é:
- Copie o VHD para uma conta de armazenamento local no seu dispositivo GPU Azure Stack Edge Pro.
- Crie um novo disco gerenciado a partir do VHD.
- Crie uma nova máquina virtual a partir do disco gerenciado e anexe o disco gerenciado.
Pré-requisitos
Antes de implantar uma VM em seu dispositivo por meio do PowerShell, certifique-se de que:
- Você tem acesso a um cliente que você usa para se conectar ao seu dispositivo.
- Seu cliente executa um sistema operacional suportado.
- Seu cliente está configurado para se conectar ao Azure Resource Manager local do seu dispositivo de acordo com as instruções em Conectar ao Azure Resource Manager para seu dispositivo.
Verificar a conexão local do Azure Resource Manager
Verifique se seu cliente pode se conectar ao Gerenciador de Recursos do Azure local.
Chame APIs de dispositivo local para autenticar:
Login-AzureRMAccount -EnvironmentName <Environment Name>
Forneça o nome
EdgeArmUser
de usuário e a senha para se conectar por meio do Gerenciador de Recursos do Azure. Se não se lembrar da palavra-passe, Reponha a palavra-passe do Azure Resource Manager e utilize esta palavra-passe para iniciar sessão.
Implantar VM a partir de imagem especializada
As seções a seguir contêm instruções passo a passo para implantar uma VM a partir de uma imagem especializada.
Copiar VHD para a conta de armazenamento local no dispositivo
Siga estas etapas para copiar o VHD para a conta de armazenamento local:
Copie o VHD de origem para uma conta de armazenamento de blob local no Azure Stack Edge.
Tome nota do URI resultante. Use esse URI em uma etapa posterior.
Para criar e acessar uma conta de armazenamento local, consulte as seções Criar uma conta de armazenamento por meio de Carregar um VHD no artigo: Implantar VMs em seu dispositivo Azure Stack Edge por meio do Azure PowerShell.
Criar um disco gerenciado a partir do VHD
Siga estas etapas para criar um disco gerenciado a partir de um VHD que você carregou para a conta de armazenamento anteriormente:
Defina alguns parâmetros.
$VhdURI = <URI of VHD in local storage account> $DiskRG = <managed disk resource group> $DiskName = <managed disk name>
Aqui está um exemplo de saída.
PS C:\WINDOWS\system32> $VHDURI = "https://myasevmsa.blob.myasegpudev.wdshcsso.com/vhds/WindowsServer2016Datacenter.vhd" PS C:\WINDOWS\system32> $DiskRG = "myasevm1rg" PS C:\WINDOWS\system32> $DiskName = "myasemd1"
Crie um novo disco gerenciado.
$StorageAccountId = (Get-AzureRmStorageAccount -ResourceGroupName $ResourceGroupName -Name $StorageAccountName).Id $DiskConfig = New-AzureRmDiskConfig -Location DBELocal -StorageAccountId $StorageAccountId -CreateOption Import -SourceUri "Source URL for your VHD"
Aqui está um exemplo de saída. O local aqui é definido como o local da conta de armazenamento local e é sempre
DBELocal
para todas as contas de armazenamento local em seu dispositivo GPU Azure Stack Edge Pro.PS C:\WINDOWS\system32> $DiskConfig = New-AzureRmDiskConfig -Location DBELocal -CreateOption Import -SourceUri $VHDURI PS C:\WINDOWS\system32> $disk = New-AzureRMDisk -ResourceGroupName $DiskRG -DiskName $DiskName -Disk $DiskConfig PS C:\WINDOWS\system32>
Criar uma VM a partir do disco gerenciado
Siga estas etapas para criar uma VM a partir de um disco gerenciado:
Defina alguns parâmetros.
$NicRG = <NIC resource group> $NicName = <NIC name> $IPConfigName = <IP config name> $PrivateIP = <IP address> #Optional $VMRG = <VM resource group> $VMName = <VM name> $VMSize = <VM size>
Nota
O
PrivateIP
parâmetro é opcional. Use este parâmetro para atribuir um IP estático, caso contrário, o padrão é um IP dinâmico usando DHCP.Aqui está um exemplo de saída. Neste exemplo, o mesmo grupo de recursos é especificado para todos os recursos de VM, embora você possa criar e especificar grupos de recursos separados para os recursos, se necessário.
PS C:\WINDOWS\system32> $NicRG = "myasevm1rg" PS C:\WINDOWS\system32> $NicName = "myasevmnic1" PS C:\WINDOWS\system32> $IPConfigName = "myaseipconfig1" PS C:\WINDOWS\system32> $VMRG = "myasevm1rg" PS C:\WINDOWS\system32> $VMName = "myasetestvm1" PS C:\WINDOWS\system32> $VMSize = "Standard_D1_v2"
Obtenha as informações da rede virtual e crie uma nova interface de rede.
Este exemplo pressupõe que você esteja criando uma única interface de rede na rede
ASEVNET
virtual padrão associada ao grupoASERG
de recursos padrão. Se necessário, você pode especificar uma rede virtual alternativa ou criar várias interfaces de rede. Para obter mais informações, consulte Adicionar uma interface de rede a uma VM por meio do portal do Azure.$armVN = Get-AzureRMVirtualNetwork -Name ASEVNET -ResourceGroupName ASERG $ipConfig = New-AzureRmNetworkInterfaceIpConfig -Name $IPConfigName -SubnetId $armVN.Subnets[0].Id [-PrivateIpAddress $PrivateIP] $nic = New-AzureRmNetworkInterface -Name $NicName -ResourceGroupName $NicRG -Location DBELocal -IpConfiguration $ipConfig
Aqui está um exemplo de saída.
PS C:\WINDOWS\system32> $armVN = Get-AzureRMVirtualNetwork -Name ASEVNET -ResourceGroupName ASERG PS C:\WINDOWS\system32> $ipConfig = New-AzureRmNetworkInterfaceIpConfig -Name $IPConfigName -SubnetId $armVN.Subnets[0].Id PS C:\WINDOWS\system32> $nic = New-AzureRmNetworkInterface -Name $NicName -ResourceGroupName $NicRG -Location DBELocal -IpConfiguration $ipConfig WARNING: The output object type of this cmdlet will be modified in a future release. PS C:\WINDOWS\system32>
Crie um novo objeto de configuração de VM.
$vmConfig = New-AzureRmVMConfig -VMName $VMName -VMSize $VMSize
Adicione a interface de rede à VM.
$vm = Add-AzureRmVMNetworkInterface -VM $vmConfig -Id $nic.Id
Defina as propriedades do disco do sistema operacional na VM.
$vm = Set-AzureRmVMOSDisk -VM $vm -ManagedDiskId $disk.Id -StorageAccountType StandardLRS -CreateOption Attach –[Windows/Linux]
O último sinalizador neste comando será ou
-Windows
-Linux
dependendo de qual sistema operacional você está usando para sua VM.Crie a VM.
New-AzureRmVM -ResourceGroupName $VMRG -Location DBELocal -VM $vm
Aqui está um exemplo de saída.
PS C:\WINDOWS\system32> $vmConfig = New-AzureRmVMConfig -VMName $VMName -VMSize $VMSize PS C:\WINDOWS\system32> $vm = Add-AzureRmVMNetworkInterface -VM $vmConfig -Id $nic.Id PS C:\WINDOWS\system32> $vm = Set-AzureRmVMOSDisk -VM $vm -ManagedDiskId $disk.Id -StorageAccountType StandardLRS -CreateOption Attach -Windows PS C:\WINDOWS\system32> New-AzureRmVM -ResourceGroupName $VMRG -Location DBELocal -VM $vm WARNING: Since the VM is created using premium storage or managed disk, existing standard storage account, myasevmsa, is used for boot diagnostics. RequestId IsSuccessStatusCode StatusCode ReasonPhrase --------- ------------------- ---------- ------------ True OK OK PS C:\WINDOWS\system32>
Excluir VM e recursos
Este artigo usou apenas um grupo de recursos para criar todo o recurso VM. A exclusão desse grupo de recursos exclui a VM e todos os recursos associados.
Primeiro, exiba todos os recursos criados no grupo de recursos.
Get-AzureRmResource -ResourceGroupName <Resource group name>
Aqui está um exemplo de saída.
PS C:\WINDOWS\system32> Get-AzureRmResource -ResourceGroupName myasevm1rg Name : myasemd1 ResourceGroupName : myasevm1rg ResourceType : Microsoft.Compute/disks Location : dbelocal ResourceId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myasevm1rg/providers/Microsoft.Compute/disk s/myasemd1 Name : myasetestvm1 ResourceGroupName : myasevm1rg ResourceType : Microsoft.Compute/virtualMachines Location : dbelocal ResourceId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myasevm1rg/providers/Microsoft.Compute/virt ualMachines/myasetestvm1 Name : myasevmnic1 ResourceGroupName : myasevm1rg ResourceType : Microsoft.Network/networkInterfaces Location : dbelocal ResourceId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myasevm1rg/providers/Microsoft.Network/netw orkInterfaces/myasevmnic1 Name : myasevmsa ResourceGroupName : myasevm1rg ResourceType : Microsoft.Storage/storageaccounts Location : dbelocal ResourceId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myasevm1rg/providers/Microsoft.Storage/stor ageaccounts/myasevmsa PS C:\WINDOWS\system32>
Exclua o grupo de recursos e todos os recursos associados.
Remove-AzureRmResourceGroup -ResourceGroupName <Resource group name>
Aqui está um exemplo de saída.
PS C:\WINDOWS\system32> Remove-AzureRmResourceGroup -ResourceGroupName myasevm1rg Confirm Are you sure you want to remove resource group 'myasevm1rg' [Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): Y True PS C:\WINDOWS\system32>
Verifique se o grupo de recursos foi excluído. Obtenha todos os grupos de recursos que existem no dispositivo.
Get-AzureRmResourceGroup
Aqui está um exemplo de saída.
PS C:\WINDOWS\system32> Get-AzureRmResourceGroup ResourceGroupName : ase-image-resourcegroup Location : dbelocal ProvisioningState : Succeeded Tags : ResourceId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ase-image-resourcegroup ResourceGroupName : ASERG Location : dbelocal ProvisioningState : Succeeded Tags : ResourceId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ASERG ResourceGroupName : myaserg Location : dbelocal ProvisioningState : Succeeded Tags : ResourceId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myaserg PS C:\WINDOWS\system32>