Compartir vía


Solución de problemas con la máquina virtual de Azure Ciencia de datos

En este artículo se explica cómo buscar y corregir errores o errores que puede encontrar al usar Azure Ciencia de datos Máquina virtual.

Ubuntu

Corrección de GPU en el chip GPU NVIDIA A100: serie NDasrv4 de Azure

La máquina virtual de la serie ND A100 v4 es una incorporación insignia a la familia de GPU de Azure. Controla el entrenamiento de aprendizaje profundo de gama alta y estrechamente acoplado, escalado vertical y escalado horizontal de cargas de trabajo de HPC.

Debido a su arquitectura única, necesita una configuración diferente para cargas de trabajo de alta demanda, para beneficiarse de la aceleración de GPU mediante los marcos TensorFlow o PyTorch.

Estamos creando compatibilidad integrada con GPU de máquinas ND A100. Mientras tanto, la GPU puede controlar Ubuntu si agrega NVIDIA Fabric Manager y actualiza los controladores. Siga estos pasos en el terminal:

  1. Adición del repositorio nvidia para instalar o actualizar controladores: busque instrucciones paso a paso en este recurso.

  2. [OPCIONAL] También puede actualizar los controladores CUDA desde ese repositorio.

  3. Instale los controladores de NVIDIA Fabric Manager:

    sudo apt-get install cuda-drivers-460
    sudo apt-get install cuda-drivers-fabricmanager-460
    
  4. Reinicie la máquina virtual (para preparar los controladores)

  5. Habilite e inicie el servicio NVIDIA Fabric Manager recién instalado:

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

Ejecute este ejemplo de código para comprobar que la GPU y los controladores funcionan:

systemctl status nvidia-fabricmanager.service

En esta captura de pantalla se muestra el servicio Fabric Manager que se ejecuta:

Captura de pantalla que muestra el servicio Fabric Manager en ejecución.

Se produce un error en la conexión al entorno de escritorio

Si puede conectarse a DSVM a través del terminal SSH, pero no puede conectarse a través de x2go, x2go podría tener la configuración de tipo de sesión incorrecta. Para conectarse al entorno de escritorio de DSVM, establezca el tipo de sesión en preferencias de sesión x2go/sesión en XFCE. Actualmente no se admiten otros entornos de escritorio.

Las fuentes no se ven bien al conectarse a DSVM mediante x2go

Una configuración de sesión x2go específica puede provocar que algunas de las fuentes parezcan incorrectas al conectarse a x2go. Antes de conectarse a DSVM, desactive la casilla "Establecer PPP para mostrar" en la pestaña "Entrada/salida" del cuadro de diálogo de preferencias de sesión.

Se le pide una contraseña desconocida

Puede establecer la opción Tipo de autenticación DSVM en Clave pública SSH. Esto se recomienda, en lugar de la autenticación de contraseña. No recibirá una contraseña si usa la clave pública SSH. Sin embargo, en algunos escenarios, algunas aplicaciones siguen solicitando una contraseña. Ejecute sudo passwd <user_name> para crear una contraseña para un usuario específico. Con sudo passwd, puede crear una nueva contraseña para el usuario raíz.

La ejecución de este comando no cambia la configuración de SSH y los mecanismos de inicio de sesión permitidos siguen siendo los mismos.

Se solicita una contraseña al ejecutar el comando sudo

Al ejecutar un sudo comando en una máquina Ubuntu, es posible que obtenga una solicitud para escribir repetidamente la contraseña para comprobar que es el usuario que ha iniciado sesión. Se espera un comportamiento predeterminado de Ubuntu. Sin embargo, en algunas situaciones, una autenticación repetida no es necesaria y bastante molesta.

Para deshabilitar la reautenticación en la mayoría de los casos, puede ejecutar este comando en un terminal:

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

Después de reiniciar el terminal, sudo no pedirá otro inicio de sesión y tendrá en cuenta la autenticación del inicio de sesión como suficiente.

No se puede usar Docker como usuario que no searoot

Para usar Docker como usuario que no sea de raíz, el usuario necesita pertenecer al grupo de Docker. El getent group docker comando devuelve una lista de usuarios que pertenecen a ese grupo. Para agregar el usuario al grupo de Docker, ejecute sudo usermod -aG docker $USER.

Los contenedores de Docker no pueden interactuar con el exterior a través de la red

De forma predeterminada, Docker agrega nuevos contenedores a la llamada "red de puente": 172.17.0.0/16. La subred de esa red de puente podría superponerse con la subred de la instancia de DSVM o con otra subred privada que tenga en la suscripción. En este caso, no es posible ninguna comunicación de red entre el host y el contenedor. Además, no se puede acceder a las aplicaciones web que se ejecutan en el contenedor y el contenedor no puede actualizar los paquetes desde apt.

Para corregir el problema, debe volver a configurar Docker para que use un espacio de direcciones IP para su red de puente que no se superponga con otras redes de la suscripción. Por ejemplo, si agrega

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

en el /etc/docker/daemon.json archivo JSON, Docker asigna otra subred a la red bridge. Debe editar el archivo con sudo, por ejemplo, ejecutando sudo nano /etc/docker/daemon.json.

Después del cambio, ejecute service docker restart para reiniciar el servicio Docker. Para determinar si los cambios han tenido efecto o no, puede ejecutar docker network inspect bridge. Valor en IPAM. Config.Subnet debe corresponder al grupo de direcciones especificado anteriormente.

GPU no disponibles en el contenedor de Docker

El recurso de Docker instalado en DSVM admite GPU de forma predeterminada. Sin embargo, esa compatibilidad requiere ciertos requisitos previos.

  • El tamaño de la máquina virtual de DSVM debe incluir al menos una GPU.
  • Al iniciar el contenedor de Docker con docker run, debe agregar un parámetro --gpus : por ejemplo, --gpus all.
  • Los tamaños de máquina virtual que incluyen GPU NVIDIA A100 requieren otros paquetes de software instalados, especialmente nvidia Fabric Manager. Es posible que estos paquetes no estén preinstalados en la imagen.

Windows

La máquina virtual de generación 2 (Gen 2) no funciona

Al intentar crear Ciencia de datos máquina virtual basada en virtual Machine Generation 2 (Gen 2), se produce un error.

En este momento, mantenemos y proporcionamos imágenes para Ciencia de datos Máquinas virtuales (DSVM) basadas en Windows 2019 Server, solo para DSVM de generación 1. Gen 2 aún no se admite, pero tenemos previsto admitirlos en un futuro próximo.

Acceso a SQL Server

Al intentar conectarse a la instancia de SQL Server preinstalada, podría producirse un error de "error de inicio de sesión". Para conectarse correctamente a la instancia de SQL Server, debe ejecutar el programa al que desea conectarse (por ejemplo, SQL Server Management Studio (SSMS) en modo de administrador. El modo de administrador es necesario porque, según el comportamiento predeterminado de DSVM, solo los administradores pueden conectarse.

Hyper-V no funciona

Como se esperaba, Hyper-V no funciona inicialmente en Windows. Para obtener el mejor rendimiento, deshabilitamos algunos servicios. Para habilitar Hyper-V:

  1. Abra la barra de búsqueda en el DSVM de Windows.
  2. Escriba "Servicios".
  3. Establezca todos los servicios de Hyper-V en "Manual".
  4. Establezca "Administración de máquinas virtuales de Hyper-V" en "Automático".

La pantalla final debería tener este aspecto:

Captura de pantalla que muestra el servicio Hyper-V en ejecución.