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 GPU do Azure Stack Edge Pro. O artigo fornece orientação para investigar os problemas mais comuns que causam tempos limite de provisionamento de VM e problemas durante a interface de rede e a criação de VM.
Para diagnosticar qualquer falha de provisionamento de VM, revise os logs de convidado da máquina virtual com falha. Para conhecer as etapas para coletar logs de convidado de VM e incluí-los em um pacote de Suporte, consulte Coletar logs de convidado para VMs no Azure Stack Edge Pro.
Para obter orientação sobre problemas que impedem o carregamento bem-sucedido de uma imagem de VM antes da implantação da VM, consulte Solucionar problemas de carregamentos de imagens de máquinas virtuais na GPU do Azure Stack Edge Pro.
Tempo limite de provisionamento de VM
Esta seção fornece solução de problemas para as causas mais comuns de um tempo limite de provisionamento de VM.
Quando o provisionamento de VM expira, você vê o seguinte erro:
Os seguintes problemas são as principais causas dos tempos limite de provisionamento de VM:
- O endereço IP que você atribuiu à VM já está em uso. Mais informações
- A imagem da VM que você usou para implantar a VM não foi preparada corretamente. Mais informações
- O gateway padrão e o servidor DNS não puderam ser acessados a partir da VM convidada. Mais informações
- Durante uma
cloud init
instalação,cloud init
ou não foi executado ou houve problemas durante a execução. (Somente VMs Linux) Saiba mais - Para uma VM Linux implantada usando uma imagem de VM personalizada, os sinalizadores de provisionamento no arquivo /etc/waagent.conf não estão corretos. (Somente VMs Linux) Saiba mais
- Interface de rede primária conectada a um comutador virtual habilitado para SRIOV Saiba mais
O IP atribuído à VM já está em uso
Descrição do erro: A VM recebeu um endereço IP estático que já está em uso e o provisionamento da VM falhou. Esse erro acontece quando o endereço IP está em uso na sub-rede na qual a VM está implantada. Quando você implanta 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 endereços IP de outros serviços ou máquinas virtuais que também podem estar em sua sub-rede.
Solução sugerida: use um endereço IP estático que não esteja em uso ou use um endereço IP dinâmico fornecido pelo servidor DHCP.
Para verificar se há um endereço IP duplicado:
Execute os seguintes
ping
comandos e Test-NetConnection (tnc
) a partir 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 não preparada corretamente
Descrição do erro: Para preparar uma imagem de VM para uso em um dispositivo de 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 essa 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 obter uma visão geral dos requisitos, consulte Criar imagens de VM personalizadas para um dispositivo GPU do Azure Stack Edge Pro. Para obter orientação sobre como resolver problemas de imagem de VM, consulte Solucionar problemas de carregamentos de imagens de máquinas virtuais na GPU do Azure Stack Edge Pro.
Solução sugerida: conclua o fluxo de trabalho para preparar a imagem da VM. Para obter orientações, consulte um dos seguintes artigos:
- Fluxos de trabalho de imagem de VM personalizados para VMs Windows e Linux
- Preparar uma imagem generalizada a partir de um VHD do Windows
- Preparar uma imagem generalizada usando um ISO
- Usar uma imagem especializada para implantar VMs
Gateway, servidor DNS não pôde ser acessado a partir de VM convidada
Descrição do erro: Se o gateway padrão e o servidor DNS não puderem ser acessados durante a implantação da VM, o provisionamento da VM expirará e a implantação da VM falhará.
Solução sugerida: verifique se o gateway padrão e o servidor DNS podem ser acessados a partir da VM. Em seguida, repita a implantação da VM.
Para verificar se o gateway padrão e o servidor DNS podem ser acessados a partir da VM, execute as seguintes etapas:
Execute os seguintes comandos:
ping <default gateway IP address> ping <DNS server IP address>
Para descobrir os endereços IP do gateway padrão e dos servidores DNS, vá para a interface do usuário local do seu dispositivo. Selecione a porta em que está interessado e veja as definições de rede.
cloud init
problemas (VMs Linux)
Descrição do erro: cloud init
não foi executado ou houve problemas durante cloud init
a execução. cloud-init
é usado para personalizar uma VM Linux quando a VM é inicializada pela primeira vez. Para obter mais informações, consulte Suporte de inicialização na nuvem para máquinas virtuais no Azure.
Soluções sugeridas: Para localizar problemas que ocorreram quando cloud init
foi executado:
Verifique se há
cloud init
erros 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 cloud init
a execução bem-sucedida, siga estas etapas:
Verifique se a imagem da VM é baseada em
cloud init
. Execute o seguinte comando:cloud-init --version
O comando deve retornar o número da versão de inicialização na nuvem. Se a imagem não
cloud init
for baseada em -based, o comando não retornará informações de versão.Para obter ajuda com
cloud init
opções, execute o seguinte comando:cloud-init --help
Verifique se a
cloud init
instância pode ser executada com êxito com a fonte de dados definida como Azure.Quando a fonte de dados é definida como Azure, a entrada nos logs de inicialização na nuvem é semelhante à seguinte.
Se a fonte de dados não estiver definida como Azure, talvez seja necessário revisar seu
cloud init
script. Para obter mais informações, consulte Mergulhando mais fundo na nuvem-init.
Sinalizadores de provisionamento definidos incorretamente (VMs Linux)
Descrição do erro: Para implantar com êxito uma VM Linux no Azure, o provisionamento deve ser desabilitado na imagem e o provisionamento usando cloud init
deve ser habilitado. Os sinalizadores de provisionamento que definem esses valores são configurados corretamente para imagens de VM padrão. Se você usar uma imagem de VM personalizada, precisará verificar 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 provisionamento | Provisioning.Enabled=n |
Confie no cloud-init para provisionar | Provisioning.UseCloudInit=y |
Interface de rede primária conectada a um comutador virtual habilitado para SRIOV
Descrição do erro: A interface de rede primária conectada a um único comutador virtual habilitado para interface de E/S raiz (SRIOV) fez com que o tráfego de rede ignorasse o Hyper-V, de modo que o host não pudesse receber solicitações DHCP da VM, resultando em um tempo limite de provisionamento.
Soluções sugeridas:
Conecte a interface de rede primária 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 para 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 interface de rede
Esta seção fornece orientação para problemas que fazem com que a criação da interface de rede falhe durante uma implantação de VM.
Tempo limite de criação da NIC
Descrição do erro: A criação da interface de rede na VM não foi concluída dentro do período de tempo limite permitido. Essa falha pode ser causada por problemas do servidor DHCP em seu ambiente.
Para verificar se a interface de rede foi criada com êxito, execute estas etapas:
No portal do Azure, vá para o recurso Azure Stack Edge para seu dispositivo (vá para Máquinas Virtuais de Serviços>de Borda). Em seguida, selecione Implantações e navegue até a implantação da VM.
Se uma interface de rede não foi criada com êxito, você verá o seguinte erro.
Solução sugerida: crie a VM novamente e atribua-lhe um endereço IP estático.
Problemas de criação de VM
Esta seção aborda problemas comuns que ocorrem durante a criação da VM.
Falha na criação de VM
Descrição do erro: Se você tiver uma imagem do Marketplace criada com o Azure Stack Edge anterior ao 2403 e, em seguida, criar uma VM a partir da imagem existente do Marketplace, 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 etapas a seguir para excluir a imagem existente do Marketplace e, em seguida, crie uma nova imagem do Marketplace no 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 se conectar ao Azure Resource Manager.
Execute o seguinte script para listar trabalhos de ingestão:
Especifique o ID da assinatura no seguinte Uri:
$uri 1 = "https://management.appliance nome. DNS domain/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
Encontre o nome do trabalho de ingestão =
Marketplace image sku name
e tipo =BlobDownload
.Exemplo: ingestão, nome do trabalho =
Ubuntu-18-04
e tipo =BlobDownload
.
Se o trabalho de ingestão for encontrado na Etapa 1, use as etapas a seguir para excluir o trabalho de ingestão e excluir a imagem. Por exemplo, o nome do trabalho de ingestão no exemplo acima é
ubuntu-18-04
. Além disso,Subscription ID
eResource group
nome pode ser encontrado 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 os passos para Criar uma nova imagem de VM a partir do Azure Marketplace.
Não há memória suficiente para criar a VM
Descrição do erro: Quando a criação de VM falha devido a memória insuficiente, você vê o seguinte erro.
Solução sugerida: verifique a memória disponível no dispositivo e escolha o tamanho da VM de acordo. Para obter mais informações, consulte Tamanhos de máquina virtual com suporte no Azure Stack Edge.
A memória disponível para a implantação de uma VM é limitada por vários fatores:
A quantidade de memória disponível no dispositivo. Para obter mais informações, consulte Especificações de computação e memória em Especificações técnicas da GPU do Azure Stack Edge Pro e Especificações técnicas do Azure Stack Edge Mini R.
Se o Kubernetes estiver habilitado, a memória de computação necessária para o Kubernetes e 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 estão em uso no portal antes de implantar a nova VM.
- Exclua todas as VMs que não estão mais em uso.
Número insuficiente de GPUs para criar GPU VM
Se você tentar implantar uma VM em um dispositivo GPU que já tenha o Kubernetes habilitado, nenhuma GPU estará disponível e o provisionamento da VM falhará com o seguinte erro:
Causas possíveis: Se o Kubernetes estiver habilitado antes da VM ser criada, o Kubernetes usará todas as GPUs disponíveis e você não poderá criar nenhuma VM do tamanho da GPU. Você pode criar tantas VMs de tamanho de GPU quanto o número de GPUs disponíveis. Seu dispositivo 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 de 1 GPU ou 2 GPU com Kubernetes configurado, consulte VMs de GPU e Kubernetes.