Compartilhar via


Solução de problemas com a Máquina Virtual de Ciência de Dados do Azure

Este artigo explica como localizar e corrigir erros ou falhas que você pode encontrar ao usar a Máquina Virtual de Ciência de Dados do Azure.

Ubuntu

Corrigir a GPU no chip da GPU NVIDIA A100 - Série NDasrv4 do Azure

A máquina virtual da série ND A100 v4 é uma adição emblemática à família de GPUs do Azure. Ele lida com treinamento de aprendizado profundo de ponta e cargas de trabalho de HPC fortemente acopladas, dimensionadas e escalonadas.

Devido à sua arquitetura exclusiva, ele precisa de uma configuração diferente para cargas de trabalho de alta demanda, para se beneficiar da aceleração de GPU usando estruturas TensorFlow ou PyTorch.

Estamos criando suporte pronto para uso para GPUs de máquinas ND A100. Enquanto isso, sua GPU pode lidar com o Ubuntu se você adicionar o NVIDIA Fabric Manager e atualizar os drivers. Siga estas etapas no terminal:

  1. Adicionar o repositório NVIDIA para instalar ou atualizar drivers - encontre instruções passo a passo neste recurso

  2. [OPCIONAL] Você também pode atualizar seus drivers CUDA, a partir desse repositório

  3. Instale os drivers do NVIDIA Fabric Manager:

    sudo apt-get install cuda-drivers-460
    sudo apt-get install cuda-drivers-fabricmanager-460
    
  4. Reinicie sua VM (para preparar os drivers)

  5. Ative e inicie o serviço NVIDIA Fabric Manager recém-instalado:

    sudo systemctl enable nvidia-fabricmanager
    sudo systemctl start nvidia-fabricmanager
    

Execute este exemplo de código para verificar se a GPU e os drivers funcionam:

systemctl status nvidia-fabricmanager.service

Esta captura de tela mostra o serviço Fabric Manager em execução:

Captura de tela mostrando o serviço do Fabric Manager em execução.

Falha na conexão com o ambiente da área de trabalho

Se você puder se conectar à DSVM pelo terminal SSH, mas não puder se conectar pelo x2go, o x2go poderá ter a configuração de tipo de sessão incorreta. Para se conectar ao ambiente de área de trabalho DSVM, defina o tipo de sessão em x2go/session preferences/session como XFCE. Outros ambientes da área de trabalho não têm suporte atualmente.

As fontes parecem erradas quando conecta-se ao DSVM usando x2go

Uma configuração de sessão específica do x2go pode fazer com que algumas das fontes pareçam erradas quando você se conecta ao x2go. Antes de se conectar à DSVM, desmarque a caixa de seleção "Definir DPI de exibição" na guia "Entrada/Saída" da caixa de diálogo de preferências da sessão.

Solicitado por senha desconhecida

Você pode definir a configuração do tipo de autenticação DSVM como Chave pública SSH. Isso é recomendado, em vez de autenticação de senha. Você não receberá uma senha se usar a chave pública SSH. No entanto, em alguns cenários, alguns aplicativos ainda solicitam uma senha. Executar sudo passwd <user_name> para criar uma nova senha para um usuário específico. Com sudo passwd, você pode criar uma nova senha para o usuário raiz.

A execução desse comando não altera a configuração do SSH e os mecanismos de entrada permitidos permanecem os mesmos.

Senha solicitada ao executar o comando sudo

Ao executar um sudo comando em uma máquina Ubuntu, você pode receber uma solicitação para inserir repetidamente sua senha para verificar se você é o usuário conectado. Este é o comportamento padrão esperado do Ubuntu. No entanto, em algumas situações, uma autenticação repetida não é necessária e é bastante irritante.

Para desativar a reautenticação na maioria dos casos, você pode executar este comando em um terminal:

echo -e "\n$USER ALL=(ALL) NOPASSWD: ALL\n" | sudo tee -a /etc/sudoers

Depois de reiniciar o terminal, o sudo não solicitará outro login e considerará a autenticação do login da sessão como suficiente.

Não é possível usar o docker como usuário não root

Para usar o docker como um usuário não raiz, seu usuário precisa ser membro do grupo docker. O getent group docker comando retorna uma lista de usuários que pertencem a esse grupo. Para adicionar o usuário ao grupo de docker, execute sudo usermod -aG docker $USER.

Os contêineres do Docker não podem interagir com o exterior via rede

Por padrão, o Docker adiciona novos contêineres à chamada "rede de ponte": 172.17.0.0/16. A sub-rede dessa rede de ponte pode se sobrepor à sub-rede da DSVM ou a outra sub-rede privada que você tenha em sua assinatura. Nesse caso, nenhuma comunicação de rede entre o host e o contêiner é possível. Além disso, os aplicativos da web executados no contêiner não podem ser acessados e o contêiner não pode atualizar pacotes do apt.

Para corrigir o problema, você deve reconfigurar o Docker para usar um espaço de endereço IP para sua rede de ponte que não se sobreponha a outras redes de sua assinatura. Por exemplo, se você adicionar

"default-address-pools": [
        {
            "base": "10.255.248.0/21",
            "size": 21
        }
    ]

ao arquivo JSON, o /etc/docker/daemon.json Docker atribui outra sub-rede à rede de ponte. Você deve editar o arquivo com sudo, por exemplo, executando sudo nano /etc/docker/daemon.json.

Após a alteração, execute service docker restart para reiniciar o serviço do Docker. Para determinar se as alterações entraram em vigor ou não, o pode executar docker network inspect bridge. O valor no IPAM. Config.Subnet deve corresponder ao pool de endereços especificado anteriormente.

GPU não disponíveis no contêiner do docker

O recurso do Docker instalado na DSVM dá suporte a GPUs por padrão. No entanto, esse apoio requer certos pré-requisitos.

  • O tamanho da VM da DSVM deve incluir pelo menos uma GPU.
  • Ao iniciar o contêiner do docker com docker run, você deve adicionar um parâmetro --gpus : por exemplo, --gpus all.
  • Os tamanhos de VM que incluem GPUs NVIDIA A100 exigem outros pacotes de software instalados, especialmente o NVIDIA Fabric Manager. Esses pacotes podem não estar pré-instalados em sua imagem.

Windows

A geração 2 da máquina virtual (Gen 2) não está funcionando

Quando você tenta criar a VM de Ciência de Dados com base na Geração 2 da Máquina Virtual (Geração 2), ela falha.

No momento, mantemos e fornecemos imagens para DSVMs (Máquinas Virtuais de Ciência de Dados) com base no Windows 2019 Server, apenas para DSVMs de Geração 1. A Geração 2 ainda não é suportada, mas planejamos apoiá-la em um futuro próximo.

Acesso ao SQL Server

Ao tentar se conectar à instância pré-instalada do SQL Server, você pode encontrar um erro de "falha no logon". Para se conectar com êxito à instância do SQL Server, você deve executar o programa ao qual deseja se conectar - por exemplo, SQL Server Management Studio (SSMS) - no modo de administrador. O modo de administrador é necessário porque, pelo comportamento padrão da DSVM, somente os administradores podem se conectar.

O Hyper-V não funciona

Como comportamento esperado, o Hyper-V não funciona inicialmente no Windows. Para obter o melhor desempenho, desativamos alguns serviços. Para habilitar o Hyper-V:

  1. Abra a barra de pesquisa no DSVM do Windows
  2. Digite “Services”,
  3. Defina todos os serviços do Hyper-V como “Manual”
  4. Defina “Gerenciamento de máquina virtual do Hyper-V” como “Automático”

Sua tela final deverá ser semelhante a esta:

Captura de tela mostrando o serviço Hyper-V em execução.