Crear una estación de trabajo virtual de Linux acelerada por GPU

En este tutorial se muestra cómo crear una estación de trabajo virtual de Linux que ejecute Ubuntu 22.04 con una GPU vinculada que puede mostrar imágenes. Cloud de Confiance by S3NS ofrece cuatro GPUs que pueden mostrar imágenes: NVIDIA L4, NVIDIA T4, NVIDIA P4 y NVIDIA P100.

Para crear una estación de trabajo de Windows, consulta el tutorial sobre cómo crear una estación de trabajo virtual de Windows acelerada por GPU.

.

Después de crear la estación de trabajo virtual, aprenderás a acceder a ella de forma remota con HP Anyware (antes Teradici CAS) mediante la tecnología PC-over-IP (PCoIP®), un protocolo de escritorio remoto muy utilizado en los sectores de los medios y el entretenimiento, el desarrollo de videojuegos, la arquitectura y la ingeniería. PCoIP ofrece funciones esenciales para este tipo de cargas de trabajo, como la precisión del color, la compatibilidad con varios monitores, la visualización sin pérdidas y la sensibilidad a la presión de la tablet.

En este tutorial se da por hecho que conoces la línea de comandos de Linux.

Arquitectura

En el siguiente diagrama se muestran los componentes que se usan en este tutorial para desplegar una sola estación de trabajo virtual. Los componentes opcionales que se muestran en el diagrama incluyen diferentes formas de conectarse a tu estación de trabajo virtual, almacenamiento compartido, una instancia adicional para servir licencias de terceros e infraestructura adicional que representa una granja de renderización o de computación.

Arquitectura de la estación de trabajo virtual.

Elige una región

Un factor importante a la hora de implementar una estación de trabajo virtual es la latencia entre tu ubicación y la instancia que crees. Cuanto menor sea la latencia, mejor será la experiencia. Por lo tanto, te interesa trabajar en una región que esté lo más cerca posible de tu ubicación. Para obtener más información sobre dónde están disponibles las distintas GPUs, consulta el artículo Disponibilidad de las GPUs en regiones y zonas.

  1. Abre Cloud Shell. Si usas la CLI de gcloud, abre una ventana de terminal en tu ordenador.

    Ir a Cloud Shell

  2. Obtén una lista de las zonas en las que hay GPUs disponibles:

    gcloud compute accelerator-types list

    Anota la región y la zona que estén más cerca de tu ubicación física.

  3. Define la zona con la que quieras trabajar:

    gcloud config set compute/zone ZONE

    Sustituye ZONE por el nombre de la zona que estés usando, como us-west1-b.

Elige un tipo de máquina

Las GPUs NVIDIA L4 están conectadas al tipo de máquina G2. Las máquinas virtuales con una o varias GPUs tienen un número máximo de vCPUs por cada GPU que añadas a la instancia. Por ejemplo, cada GPU NVIDIA L4 te permite tener hasta 32 vCPUs y hasta 128 GB de memoria en el tipo de máquina de tu instancia. Para ver los intervalos de vCPUs y memoria disponibles para las diferentes configuraciones de GPU, consulta la lista de GPUs.

El ejemplo de este tutorial consta de una estación de trabajo virtual G2 de 8 vCPUs, que está muy por debajo del límite de 32 vCPUs para una sola GPU NVIDIA L4.

Crear la estación de trabajo virtual

  1. En Cloud Shell, crea la instancia de estación de trabajo virtual de Compute Engine:

    gcloud compute instances create VM_NAME \
        --zone=ZONE \
        --machine-type=MACHINE_TYPE \
        --accelerator=type=ACCELERATOR,count=NUM-GPUS \
        --maintenance-policy="TERMINATE" \
        --image-project=ubuntu-os-cloud \
        --image-family=ubuntu-2204-lts \
        --boot-disk-size=SIZE \
        --boot-disk-type=TYPE \
        --network=NETWORK
    

    Haz los cambios siguientes:

    • VM_NAME es el nombre de tu estación de trabajo.
    • ZONE es la zona en la que se creará la VM.
    • MACHINE_TYPE es la configuración de máquina predefinida o personalizada.
    • ACCELERATOR es el tipo de GPU que quieres adjuntar, como nvidia-l4-vws.
    • NUM-GPUS es el número de GPUs que se van a asociar a la VM.
    • SIZE es el tamaño del disco de arranque, en gigabytes.
    • TYPE es el tipo de disco de arranque. Para ver una lista de los tipos de disco disponibles, ejecuta gcloud compute disk-types list.
    • NETWORK es la red en la que se creará la VM.

    Por ejemplo:

    gcloud compute instances create test-workstation \
        --zone=us-west1-b \
        --machine-type=g2-standard-8 \
        --accelerator=type=nvidia-l4-vws,count=1 \
        --maintenance-policy="TERMINATE" \
        --image-project=ubuntu-os-cloud \
        --image-family=ubuntu-2204-lts \
        --boot-disk-size=100 \
        --boot-disk-type=pd-ssd \
        --network=default
    

    Una vez creada la estación de trabajo virtual, se muestra el estado de la máquina. El resultado es similar al siguiente:

    NAME: test-workstation
    ZONE: us-west1-b
    MACHINE_TYPE: g2-standard-8
    PREEMPTIBLE:
    INTERNAL_IP: 10.138.XX.XXX
    EXTERNAL_IP: XX.XXX.XXX.XXX
    STATUS: RUNNING
    

    Anota la dirección IP externa de la estación de trabajo virtual. Lo usarás más adelante en el tutorial.

    Puedes obtener la dirección IP externa de tu estación de trabajo virtual en cualquier momento mediante la Cloud de Confiance consola.

Iniciar sesión en tu estación de trabajo virtual

Después de crear la estación de trabajo virtual, inicia sesión en la máquina para poder configurarla.

  1. En Cloud Shell, conéctate a la nueva estación de trabajo virtual:

    gcloud compute ssh VM_NAME
  2. Define la contraseña de tu cuenta. Para iniciar sesión en una estación de trabajo virtual con el cliente de software PCoIP, se necesita una contraseña de usuario.

    sudo passwd `whoami`

    Cuando se te pida, introduce una contraseña. Usarás esta contraseña más adelante en el tutorial para iniciar sesión en tu estación de trabajo virtual con el cliente PCoIP de HP Anyware.

Instalar las bibliotecas base

La imagen predeterminada de Cloud de Confiance Ubuntu 22.04 es una instalación mínima de Ubuntu. El siguiente paso es instalar las bibliotecas necesarias para ejecutar tu estación de trabajo virtual como estación de trabajo gráfica.

  1. Actualiza los repositorios de software:

    sudo apt update
  2. Instala los componentes base:

    sudo apt install -y build-essential
    sudo apt install -y libvulkan1
    
  3. Actualiza la versión de gcc del controlador de NVIDIA:

    sudo apt install -y gcc-12
    sudo apt install -y linux-headers-$(uname -r)
    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 12
    sudo update-alternatives --config gcc
    

Instalar el controlador de NVIDIA

Las GPUs NVIDIA L4, NVIDIA T4, NVIDIA P4 y NVIDIA P100 solo funcionan con controladores de estaciones de trabajo virtuales NVIDIA RTX cualificados para cargas de trabajo de visualización. Cloud de Confiance Estos controladores se pueden descargar de un Cloud de Confiance segmento de almacenamiento público.

  1. Para instalar el controlador más reciente de la estación de trabajo virtual NVIDIA RTX, sigue las instrucciones (solo los pasos 3 y 4).

  2. Reinicia la estación de trabajo:

    sudo reboot

Instalar el entorno de escritorio

Es necesario un entorno de escritorio para ejecutar tu estación de trabajo virtual como estación de trabajo gráfica. En este tutorial, instalarás el escritorio KDE Plasma.

  1. Instala el entorno de escritorio:

    sudo apt update
    sudo apt -y install kubuntu-desktop
    sudo apt -y install dialog
    
  2. Reinicia la estación de trabajo:

    sudo reboot

Instalar el software HP Anyware

El software HP Anyware proporciona un agente de gráficos que se ejecuta en tu estación de trabajo virtual y envía el escritorio a tu cliente de hardware o software.

  1. Cuando se haya reiniciado la estación de trabajo virtual, en Cloud Shell, vuelve a conectarte a ella:

    gcloud compute ssh VM_NAME
  2. Añade el repositorio de software de Teradici:

    curl -1sLf \
        https://dl.anyware.hp.com/TOKEN/pcoip-agent/cfg/setup/bash.deb.sh \
        | sudo -E distro=ubuntu codename=jammy bash
    

    Haz los cambios siguientes:

  3. Actualiza los repositorios de software:

    sudo apt update
  4. Opcional: Instala las dependencias de USB si necesitas admitir dispositivos USB que no sean teclados, ratones ni dispositivos de puntero.

    sudo apt -y install usb-vhci-dkms
  5. Instala el software HP Anyware:

    sudo apt -y install pcoip-agent-graphics

Registrar el agente de gráficos de Anyware

Para usar Anyware Graphics Agent, debes tener una licencia de HP Anyware.

  1. En Cloud Shell, activa tu licencia de software de HP Anyware:

    pcoip-register-host --registration-code=REGISTRATION-CODE

    Sustituye REGISTRATION-CODE por el código que te ha proporcionado HP Teradici en el formulario ABCDEFGHIJKL@0123-4567-89AB-CDEF.

  2. Reinicia la estación de trabajo virtual:

    sudo reboot

Crear una regla de cortafuegos

El cliente PCoIP se comunica con tu estación de trabajo virtual mediante varios puertos. Debe definir reglas de cortafuegos que permitan el tráfico a su estación de trabajo virtual.

  • En Cloud Shell (no en la estación de trabajo virtual), crea una regla de firewall que abra los puertos necesarios:

    gcloud compute firewall-rules create allow-pcoip \
        --action=ALLOW \
        --rules=tcp:443,tcp:4172,udp:4172 \
        --source-ranges=0.0.0.0/0
    

Iniciar sesión en una estación de trabajo virtual con el cliente PCoIP

  1. En tu ordenador local, ve a la sección Clientes PCoIP de la página de asistencia de HP Anyware. A continuación, descarga, instala e inicia la aplicación de software cliente PCoIP para tu sistema operativo.

  2. En el campo Host Address or Registration Code (Dirección de host o código de registro), introduce la dirección IP externa de tu estación de trabajo virtual. Si quieres, puedes introducir un nombre para la conexión.

  3. Cuando te hayas conectado, autentícate introduciendo el nombre de usuario y la contraseña que creaste anteriormente para la estación de trabajo virtual.

    En unos segundos, aparecerá tu escritorio de Linux.

Probar tu estación de trabajo virtual

Una vez que hayas implementado tu estación de trabajo virtual, puedes probar el rendimiento y la interactividad con varias herramientas:

  • Ejecuta herramientas de pruebas de rendimiento de GPU, como glxgears, glmark2 o UNIGINE, que son programas para probar el rendimiento gráfico en una estación de trabajo Linux.
  • Instala Unreal Engine, Unity Editor, Blender o cualquier aplicación de creación de contenido.
  • Ejecuta herramientas de pruebas comparativas de renderizado para renderizadores populares, como V-Ray, Octane, o Maxon.
  • Usa Google Chrome para navegar por tus sitios favoritos o reproducir vídeos de YouTube.

También puedes consultar más información sobre la optimización del rendimiento de PCoIP en función de tu carga de trabajo.