Solucionar problemas de implantação de VM na GPU do Azure Stack Edge Pro
APLICA-SE A: Azure Stack Edge Pro - GPUAzure Stack Edge Pro 2Azure Stack Edge Pro RAzure Stack Edge Mini R
Este artigo descreve como solucionar erros comuns ao implantar máquinas virtuais em um dispositivo com GPU do Azure Stack Edge Pro. O artigo fornece diretrizes para investigar os problemas mais comuns que causam tempo limite e problemas de provisionamento de VM durante a criação do adaptador de rede e da VM.
Para diagnosticar qualquer falha de provisionamento de VM, examine os logs dos convidados da máquina virtual com falha. Para ver as etapas para coletar logs de convidado da VM e incluí-los em um pacote de suporte, consulte Coletar logs de convidado para VMs no Azure Stack Edge Pro.
Para obter diretrizes sobre os problemas que impedem o carregamento bem-sucedido da imagem da VM antes da implantação, confira Solucionar problemas de carregamento de imagem de máquina virtual na GPU do Azure Stack Edge Pro.
Tempo limite no provisionamento da VM
Esta seção fornece solução de problemas para as causas mais comuns de tempo limite no provisionamento da VM.
Quando o tempo limite é atingido no provisionamento da VM, você vai ver o seguinte erro:
Os seguintes problemas são as principais causas de tempo limite no provisionamento de VM:
- O endereço IP que você atribuiu à VM já está em uso. Saiba mais
- A imagem da VM que você usou para na implantação não foi preparada corretamente. Saiba mais
- O gateway padrão e o servidor DNS não foram alcançados da VM convidada. Saiba mais
- Durante a instalação do
cloud init
, ocloud init
não foi executado ou houve problemas durante a execução. (Somente para VMs do Linux) Saiba mais - Para uma VM do Linux implantada usando uma imagem de VM personalizada, os sinalizadores de provisionamento no arquivo /etc/waagent.conf não estão corretos. (Somente para VMs do Linux) Saiba mais
- Adaptador de rede primário anexado a um comutador virtual habilitado para SRIOV. Saiba mais
O IP atribuído à VM já está em uso
Descrição do erro: foi atribuído à VM um endereço IP estático que já está em uso e o provisionamento falhou. Esse erro ocorre quando o endereço IP já está em uso na sub-rede na qual a VM é implantada. Ao implantar uma VM por meio do portal do Azure, o processo verifica se há um endereço IP existente em seu dispositivo, mas não pode verificar os endereços IP de outros serviços ou máquinas virtuais que possam estar na sua sub-rede.
Solução sugerida: use um endereço IP estático que não esteja em uso ou um endereço IP dinâmico fornecido pelo servidor DHCP.
Para verificar se há um endereço IP duplicado:
Execute os seguintes comandos
ping
e Test-NetConnection (tnc
) de qualquer dispositivo na mesma rede:ping <IP address> tnc <IP address> tnc <IP address> -CommonTCPPort “RDP”
Se você receber uma resposta, o endereço IP atribuído à nova VM já está em uso.
Imagem da VM preparada incorretamente
Descrição do erro: para preparar uma imagem de VM para uso em uma GPU do Azure Stack Edge Pro, você deve seguir um fluxo de trabalho específico. Você deve criar uma máquina virtual gen1 no Azure, personalizar a VM, generalizar o VHD e baixar o VHD do sistema operacional para a máquina virtual. A imagem preparada deve ser um VHD gen1 com a extensão de nome de arquivo "vhd" e o tipo fixo.
Para uma visão geral dos requisitos, confira Criar imagens de VM personalizadas para uma GPU do Azure Stack Edge Pro. Para obter diretrizes sobre como resolver problemas de imagem de VM, confira Solucionar problemas de carregamento de imagem de máquina virtual na GPU do Azure Stack Edge Pro.
Solução sugerida: complete o fluxo de trabalho para preparar a imagem da sua VM. Para obter diretrizes, veja um dos seguintes artigos:
- Fluxos de trabalho de imagem de VM personalizados para VMs do Windows e do Linux
- Preparar uma imagem generalizada do VHD do Windows
- Preparar uma imagem generalizada usando uma ISO
- Usar uma imagem especializada para implantar VMs
O gateway e o servidor DNS não foram alcançados da VM convidada
Descrição do erro: se o gateway padrão e o servidor DNS não forem alcançados durante a implantação da VM, o tempo de provisionamento da VM irá expirar e a implantação da VM falhará.
Solução sugerida: verifique se o gateway padrão e o servidor DNS foram alcançados da VM. Em seguida, repita a implantação da VM.
Para verificar se o gateway padrão e o servidor DNS podem ser alcançados da VM, siga as seguintes etapas:
Execute os comandos a seguir:
ping <default gateway IP address> ping <DNS server IP address>
Para descobrir os endereços IP para o gateway padrão e os servidores DNS, acesse a IU local do seu dispositivo. Selecione a porta desejada e exiba as configurações de rede.
Problemas de cloud init
(VMs do Linux)
Descrição do erro: cloud init
não foi executado ou houve problemas durante a execução de cloud init
. cloud-init
é usado para personalizar a VM do Linux quando ela é inicializada pela primeira vez. Para obter mais informações, confira suporte ao cloud-init em máquinas virtuais no Azure.
Soluções sugeridas: para encontrar problemas que ocorreram quando cloud init
foi executado:
Verificar se há erros de
cloud init
nos seguintes arquivos de log:- /var/log/cloud-init-output.log
- /var/log/cloud-init.log
- /var/log/waagent/log
Para verificar alguns dos problemas mais comuns que impedem a execução bem-sucedida do cloud init
, siga estas etapas:
Certifique-se de que a imagem da VM seja baseada em
cloud init
. Execute o comando a seguir:cloud-init --version
O comando deve retornar o número de versão do cloud init. Se a imagem não for baseada em
cloud init
, o comando não vai retornar as informações de versão.Para obter ajuda com opções de
cloud init
, execute o seguinte comando:cloud-init --help
Certifique-se de que a instância
cloud init
possa ser executada com sucesso com a fonte de dados definida como Azure.Quando a fonte de dados é definida como Azure, a entrada nos logs cloud init é semelhante à exibida a seguir.
Se a fonte de dados não estiver definida como Azure, talvez seja necessário revisar o script
cloud init
. Para obter mais informações, confira Aprofundando-se em cloud-init.
Sinalizadores de provisionamento definidos incorretamente (VMs do Linux)
Descrição do erro: para implantar com sucesso uma VM do Linux no Azure, o provisionamento deve ser desabilitado na imagem e o provisionamento usando cloud init
deve ser habilitado. Os sinalizadores de provisionamento que configuram esses valores estão configurados corretamente para imagens de VM padrão. Se você usar uma imagem de VM personalizada, verifique se elas estão corretas.
Solução sugerida: verifique se os sinalizadores de Provisionamento no arquivo /etc/waagent.conf têm os seguintes valores:
Funcionalidade | Valor obrigatório |
---|---|
Habilitar o provisionamento | Provisioning.Enabled=n |
Depender do cloud-init para provisionar | Provisioning.UseCloudInit=y |
Adaptador de rede primário anexado a um comutador virtual habilitado para SRIOV
Descrição do erro: o adaptador de rede primário conectado a um único comutador virtual com suporte a virtualização de E/S raiz (SRIOV) fez com que o tráfego de rede ignorasse o Hyper-V, impedindo que o host recebesse solicitações DHCP da VM, resultando em um tempo limite de provisionamento.
Soluções sugeridas:
Conecte o adaptador de rede primário da VM a um comutador virtual sem habilitar a rede acelerada.
Em um dispositivo Azure Stack Edge Pro 1, os comutadores virtuais criados na Porta 1 até a Porta 4 não habilitam a rede acelerada. Na Porta 5 ou na Porta 6, os comutadores virtuais habilitam a rede acelerada por padrão.
Em um dispositivo Azure Stack Edge Pro 2, os comutadores virtuais criados na Porta 1 ou na Porta 2 não habilitam a rede acelerada. Na Porta 3 ou na Porta 4, os comutadores virtuais habilitam a rede acelerada por padrão.
Problemas de criação de adaptador de rede
Esta seção fornece diretrizes para problemas que causam falha na criação do adaptador de rede durante uma implantação de VM.
Tempo limite de criação de NIC
Descrição do erro: a criação do adaptador de rede na VM não foi concluída dentro do tempo limite permitido. Essa falha pode ser causada por problemas de servidor DHCP no ambiente.
Para verificar se o adaptador de rede foi criado com sucesso, siga estas etapas:
No portal do Azure, acesse o recurso do Azure Stack Edge para o seu dispositivo (vá para Serviços de Borda>Máquinas virtuais). Em seguida, selecione Implantações e navegue até a implantação da VM.
Se um adaptador de rede não foi criado com sucesso, você verá o erro a seguir.
Solução sugerida: crie a VM novamente e atribua a ela um endereço IP estático.
Problemas de criação de VM
Esta seção aborda os problemas comuns que ocorrem durante a criação da VM.
Falha na criação da VM
Descrição do erro: se você tiver uma imagem do Marketplace criada com o Azure Stack Edge anterior à versão 2403 e, em seguida, criar uma VM a partir da imagem do Marketplace existente, a criação da VM falhará porque o Azure Stack Edge 2407 alterou o caminho de download da imagem do Marketplace.
Solução sugerida: use as seguintes etapas para excluir a imagem do Marketplace existente e, em seguida, criar uma nova imagem do Marketplace do portal do Azure.
No portal do Azure, exclua a imagem existente do Marketplace.
Liste a ingestão e o trabalho de ingestão de BlobDownload para a imagem do Marketplace. Use estas etapas para Conectar-se ao Azure Resource Manager.
Execute o script a seguir para listar trabalhos de ingestão:
Especifique a ID da assinatura no seguinte Uri:
$uri1 = "https://management.appliance nome.domínioDNS/subscriptions/sid/providers/Microsoft.AzureBridge/locations/DBELocal/ingestionJobs/?api-version=2022-03-01"
Function Get-AzCachedAccessToken() { $ErrorActionPreference = 'Stop' $azureRmProfile = [Microsoft.Azure.Commands.Common.Authentication.Abstractions.AzureRmProfileProvider]::Instance.Profile $currentAzureContext = Get-AzContext $profileClient = New-Object Microsoft.Azure.Commands.ResourceManager.Common.RMProfileClient($azureRmProfile) Write-Debug ("Getting access token for tenant" + $currentAzureContext.Subscription.TenantId) $token = $profileClient.AcquireAccessToken($currentAzureContext.Subscription.TenantId) $token.AccessToken } $token = Get-AzCachedAccessToken $headers = @{Authorization = "Bearer $token"; "Content-Type" = "application/json" } $v = Invoke-RestMethod -Method Get -Uri $uri1 -Headers $headers v.value
Localize o nome do trabalho de ingestão =
Marketplace image sku name
e tipo =BlobDownload
.Exemplo: nome do trabalho de ingestão =
Ubuntu-18-04
e tipo =BlobDownload
.
Se o trabalho de ingestão for encontrado na Etapa 1, use as etapas a seguir para excluí-lo e excluir a imagem. Por exemplo, o nome do trabalho de ingestão no exemplo acima é
ubuntu-18-04
. Além disso, os nomesSubscription ID
eResource group
podem ser encontrados no exemplo.$uri2 = "https://management.<appliance name>.<DNS domain>/subscriptions/sid/resourceGroups/rgname/providers/Microsoft.AzureBridge/locations/dbelocal/ingestionJobs/<ingestion job name>?api-version=2018-06-01"
Invoke-RestMethod -Method DELETE -Uri $uri2 -Headers $headers
Siga as etapas para Criar uma nova imagem de VM do Azure Marketplace.
Não há memória suficiente para criar a VM
Descrição do erro: quando a criação da VM falhar devido à memória insuficiente, você vai ver o erro a seguir.
Solução sugerida: verifique a memória disponível no dispositivo e escolha o tamanho da VM apropriado. Para obter mais informações, confira Tamanhos de máquinas virtuais com suporte no Azure Stack Edge.
A memória disponível para a implantação de uma VM é restrita por vários fatores:
A quantidade de memória disponível no dispositivo. Para obter mais informações, confira as especificações de computação e memória nas especificações técnicas da GPU do Azure Stack Edge Pro e nas especificações técnicas do Azure Stack Edge Mini R.
Se o Kubernetes estiver habilitado, a memória de computação será necessária para ele e para os aplicativos no cluster do Kubernetes.
A sobrecarga para cada máquina virtual no Hyper-V.
Soluções sugeridas:
- Use um tamanho de VM que exija menos memória.
- Pare todas as VMs que não estiverem em uso no portal antes de implantar a nova VM.
- Exclua as VMs que não estiverem em uso.
Número insuficiente de GPUs para criar a VM de GPU
Se você tentar implantar uma VM em um dispositivo de GPU que já tenha o Kubernetes habilitado, nenhuma GPU estará disponível e o provisionamento da VM vai falhar com o seguinte erro:
Possíveis causas: se o Kubernetes estiver habilitado antes da criação da VM, ele usará todas as GPUs disponíveis e você não poderá criar VMs com tamanho de GPU. Você pode criar a quantidade de VMs de tamanho de GPU de acordo com o número de GPUs disponíveis. Seu dispositivo do Azure Stack Edge pode ser equipado com 1 ou 2 GPUs.
Solução sugerida: para opções de implantação de VM em um dispositivo com uma ou duas GPUs com o Kubernetes configurado, confira VMs e Kubernetes de GPU.