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:
Adición del repositorio nvidia para instalar o actualizar controladores: busque instrucciones paso a paso en este recurso.
[OPCIONAL] También puede actualizar los controladores CUDA desde ese repositorio.
Instale los controladores de NVIDIA Fabric Manager:
sudo apt-get install cuda-drivers-460 sudo apt-get install cuda-drivers-fabricmanager-460
Reinicie la máquina virtual (para preparar los controladores)
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:
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:
- Abra la barra de búsqueda en el DSVM de Windows.
- Escriba "Servicios".
- Establezca todos los servicios de Hyper-V en "Manual".
- Establezca "Administración de máquinas virtuales de Hyper-V" en "Automático".
La pantalla final debería tener este aspecto: