Virtuelle GPU-beschleunigte Linux-Workstation erstellen

In dieser Anleitung wird gezeigt, wie Sie eine virtuelle Linux-Workstation mit CentOS als Betriebssystem und einer angeschlossenen anzeigefähigen GPU erstellen. (Informationen zum Erstellen einer Windows-Workstation finden Sie in der Anleitung Virtuelle GPU-beschleunigte Windows-Workstation erstellen.) Google Cloud bietet drei anzeigefähige GPUs: NVIDIA T4, NVIDIA Tesla P4 und NVIDIA Tesla P100.

Nach dem Erstellen der virtuellen Workstation wird erläutert, wie Sie diese mit Teradici PC-over-IP (PCoIP), einem in der Medien- und Unterhaltungsbranche bewährten Remote-Desktop-Protokoll, per Fernzugriff aufrufen können. PCoIP bietet wichtige Funktionen für Arbeitslasten in der Medienproduktion, z. B. Farbgenauigkeit und Unterstützung für eine verlustfreie Anzeige.

Ziele

  • Eine Compute Engine-Instanz mit einer GPU erstellen. Diese Instanz dient als Basis für eine virtuelle Workstation.
  • NVIDIA-Treiber auf der virtuellen Workstation installieren.
  • Teradici Cloud Access Software auf der virtuellen Workstation installieren.
  • Eine Verbindung zur virtuellen Workstation von Ihrem Mac- oder Windows-Computer aus herstellen, entweder mit einem PCoIP-Softwareclient oder dem Hardware-Endpunkt Zero Client. Wenn Sie eine Verbindung über einen Linux-Computer herstellen möchten, wenden Sie sich an Ihren Ansprechpartner bei Teradici.

Kosten

In dieser Anleitung werden die folgenden kostenpflichtigen Komponenten von Google Cloud verwendet:

Mit dem Preisrechner können Sie eine Kostenschätzung für die geplante Nutzung vornehmen. Beim Erstellen dieses Dokuments beliefen sich die ungefähren Kosten für eine typische Workstation-Konfiguration im Bereich Medien, wie in dieser Anleitung gezeigt, auf 1,36 $ pro Stunde.

Dies sind die kostenrelevanten Faktoren und Ressourcen der virtuellen Workstation in dieser Anleitung:

Unter den ausgehenden Internettraffic fallen Daten, die von der virtuellen Workstation an den lokalen Anzeigeclient gestreamt und nach den Tarifen für ausgehenden Internettraffic abgerechnet werden. Der ausgehende Traffic bei einer PCoIP-Sitzung wird von folgenden Variablen beeinflusst: Bandbreite, Bildschirmauflösung, Anzahl der Bildschirme, verwendete Anwendungen und die Art der Aktivität auf jedem Bildschirm. Die Kosten im Beispiel basieren auf einer durchschnittlichen Nutzung von 10 Mbit/s. Die verschiedenen Anforderungen für die jeweiligen Arbeitslasten werden im Leitfaden zur Workflow-Planung von Teradici erläutert.

Vorbereitung

In dieser Anleitung werden gcloud- und gsutil-Befehle verwendet, die Sie über eine Cloud Shell-Instanz in der Cloud Console ausführen können. Wenn Sie gcloud und gsutil auf Ihrer lokalen Workstation verwenden möchten, installieren Sie das Google Cloud CLI. In der Anleitung wird beschrieben, wie Sie Befehle in Cloud Shell ausführen. Wenn Sie die gcloud CLI auf einer Workstation verwenden, passen Sie die Schritte entsprechend an.

  1. Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  3. Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für ein Projekt aktiviert ist.

  4. Compute Engine API aktivieren.

    Aktivieren Sie die API

  5. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  6. Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für ein Projekt aktiviert ist.

  7. Compute Engine API aktivieren.

    Aktivieren Sie die API

Außerdem sollte Folgendes zur Verfügung stehen:

  • Ein Google Cloud-Projekt mit einem Kontingent für GPUs für virtuelle Workstations in der ausgewählten Zone. Mit dem Befehl gcloud compute accelerator-types list können Sie eine Liste der verfügbaren GPUs abrufen.
  • Der Google Chrome-Browser für den Zugriff auf die Cloud Console.
  • Ein Teradici Zero Client oder der aktuelle Teradici-Softwareclient für Windows, Mac oder Linux für den Zugriff auf die virtuelle Workstation.
  • Eine Teradici Cloud Access Software-Lizenz. Sie können sich für eine Testlizenz registrieren oder sich an Ihren Ansprechpartner bei Teradici wenden. Sie erhalten einen Registrierungscode für eine 30-tägige Testlizenz für diese virtuelle Workstation.

Übersicht der Architektur

Im folgenden Diagramm sind die Komponenten dargestellt, die in dieser Anleitung zum Bereitstellen einer einzelnen virtuellen Workstation verwendet werden. Optionale Komponenten im Diagramm bieten weitere Möglichkeiten, um eine Verbindung zu einer virtuellen Workstation, einem Objektspeicher oder einem produktübergreifenden Speicher herzustellen, sowie eine zusätzliche Instanz für die Bereitstellung von Drittlizenzen.

Grafik: Virtuelle Workstation-Architektur

Accelerator auswählen

Ein wichtiger Faktor bei der Bereitstellung einer virtuellen Workstation ist die Latenz zwischen Ihrem Standort und der erstellten Instanz. Je niedriger die Latenz ist, desto höher ist die Leistung. Sie sollten deshalb eine Zone nutzen, die sich geografisch möglichst nah an Ihrem Standort befindet. Weitere Informationen zu Regionen und Zonen finden Sie unter Geografie und Regionen.

  1. Cloud Shell öffnen Wenn Sie die gcloud CLI verwenden, öffnen Sie ein Terminalfenster auf dem Computer.

    Zu Cloud Shell

  2. Rufen Sie eine Liste der Zonen mit verfügbaren GPUs ab:

    gcloud compute accelerator-types list

    Merken Sie sich die Zone, die Ihrem Standort am nächsten ist.

  3. Legen Sie die Zone fest, mit der Sie arbeiten möchten:

    gcloud config set compute/zone zone

    Ersetzen Sie zone durch den Namen der von Ihnen verwendeten Zone, z. B. us-west2-b.

Maschinentyp auswählen

P4-GPUs können an jeden Maschinentyp angeschlossen werden. Allerdings muss jede GPU, die einer virtuellen Workstation hinzugefügt wird, an eine Mindestanzahl von vCPUs gekoppelt sein. Dadurch werden unnötige Abos von Ressourcen verhindert. Bei NVIDIA Tesla P4 können Sie bis zu 24 vCPUs mit 1 GPU verbinden. Wenn Sie einer virtuellen Workstation mehr als 24 vCPUs hinzufügen möchten, benötigen Sie eine zusätzliche P4-GPU für jedes zusätzliche 24-vCPU-Set. Eine virtuelle Workstation mit 48 vCPUs würde beispielsweise zwei P4-GPUs erfordern.

Die virtuelle Workstation in dieser Anleitung besteht aus 24 vCPUs, also aus der maximalen Anzahl von vCPUs pro NVIDIA Tesla P4-GPU.

Virtuelle Workstation erstellen

Für den Teradici Graphics Agent, den Sie später in dieser Anleitung auf Ihrer virtuellen Workstation installieren, müssen Sie die IP-Weiterleitung aktivieren und den HTTPS-Servertraffic bei der Erstellung der virtuellen Workstation zulassen.

  1. Erstellen Sie in Cloud Shell die Compute Engine-Instanz der virtuellen Workstation. Ersetzen Sie die Platzhalter (z. B. name) durch entsprechende Werte.

    gcloud compute instances create name \
        --machine-type machine-type \
        --accelerator type=accelerator,count=num-gpus \
        --can-ip-forward \
        --maintenance-policy "TERMINATE" \
        --tags "https-server" \
        --image-project centos-cloud \
        --image-family centos-7 \
        --boot-disk-size size

    Beispiel:

    gcloud compute instances create test-vws \
        --machine-type custom-24-32768 \
        --accelerator type=nvidia-tesla-p4-vws,count=1 \
        --can-ip-forward \
        --maintenance-policy "TERMINATE" \
        --tags "https-server" \
        --image-project centos-cloud \
        --image-family centos-7 \
        --boot-disk-size 100

    Nachdem die virtuelle Workstation erstellt worden ist, wird der Status der Maschine angezeigt. Die Ausgabe sieht dann ungefähr so aus:

    Created https://www.googleapis.com/compute/v1/projects/project/zones/us-west2-b/instances/test-vws.
    NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS test-vws us-west2-b custom (24 vCPU, 32.00 GiB) 10.168.0.3 XX.XXX.XX.XXX RUNNING

    Die virtuelle Workstation wird im Standard-VPC-Netzwerk Ihres Projekts erstellt. Wenn Sie Ihre virtuelle Workstation in einem anderen VPC-Netzwerk erstellen möchten, fügen Sie dem Befehl das folgende Flag hinzu:

    --network=network
    

    Ersetzen Sie network durch den Namen des zu verwendenden Netzwerks.

  2. Merken Sie sich die externe IP-Adresse der virtuellen Workstation. Sie benötigen diese später in der Anleitung.

Bei der virtuellen Workstation anmelden

Nachdem Sie die virtuelle Workstation erstellt haben, können Sie sich bei der Maschine anmelden, um sie zu konfigurieren.

  1. Stellen Sie in Cloud Shell eine Verbindung zur neuen virtuellen Workstation her:

    gcloud compute ssh test-vws
  2. Legen Sie das Passwort für Ihr Konto fest. Teradici PCoIP erfordert die Einrichtung eines Nutzerpassworts.

    sudo passwd `whoami`

    Geben Sie ein Passwort ein, wenn Sie dazu aufgefordert werden. Sie werden es später in der Anleitung verwenden, um sich mit dem Teradici PCoIP-Client bei der virtuellen Workstation anzumelden.

Grafikbibliotheken und Fenstermanager installieren

Mit dem Standard-Image von Google Cloud CentOS 7 wird eine minimale Installation von CentOS 7.x vorgenommen. Als Nächstes müssen Sie Bibliotheken installieren, die erforderlich sind, um die virtuelle Workstation als Grafik-Workstation zu nutzen. In dieser Anleitung installieren Sie außerdem den KDE-Fenstermanager.

  1. Installieren Sie die erforderlichen Komponenten:

    sudo yum -y update
    sudo yum -y install kernel-devel
    sudo yum -y groupinstall "KDE desktop" "X Window System" "Fonts"
    sudo yum -y groupinstall "Development Tools"
    sudo yum -y groupinstall "Server with GUI"
  2. Starten Sie die Workstation neu:

    sudo reboot

    Ihre Cloud Shell-Verbindung wird getrennt.

NVIDIA-Treiber installieren

NVIDIA T4-, NVIDIA Tesla P4- und NVIDIA Tesla P100-GPUs können in Google Cloud nur mit entsprechenden NVIDIA Quadro vDWS-Treibern (Virtual Data Center Workstation) für Compute- und Anzeigearbeitslasten genutzt werden. Diese Treiber können von einem öffentlichen Storage-Bucket heruntergeladen werden.

  1. Nachdem die virtuelle Workstation neu gestartet worden ist, können Sie in Cloud Shell wieder eine Verbindung herstellen:

    gcloud compute ssh test-vws
  2. Rufen Sie auf der virtuellen Workstation mit gsutil eine Liste der neuesten Treiber ab:

    gsutil ls gs://nvidia-drivers-us-public/GRID

    Für diese Anleitung rufen Sie die neuesten Grafiktreiber ab, die beim Erstellen dieses Dokuments verfügbar waren: GRID 11.1 Linux-Treiber (Version 450.80.02). Der neueste Treiber befindet sich immer im Verzeichnis GRID mit der höchsten Versionsnummer. Wenn Sie einen neueren Treiber finden, verwenden Sie diesen.

  3. Laden Sie den Treiber herunter und installieren Sie ihn. Wenn Sie eine höhere Treiberversion als 450.80.02 verwenden, ändern Sie den Befehl entsprechend.

    curl -O \
    https://storage.googleapis.com/nvidia-drivers-us-public/GRID/GRID11.1/NVIDIA-Linux-x86_64-450.80.02-grid.run
    sudo bash NVIDIA-Linux-x86_64-450.80.02-grid.run

    Während der Treiberinstallation werden möglicherweise ein paar Aufforderungen angezeigt:

    • Wenn Sie zum Installieren von 32-Bit-Binärdateien aufgefordert werden, wählen Sie Ja aus.
    • Wenn Sie aufgefordert werden, die Datei x.org zu ändern, wählen Sie Nein aus.
  4. Prüfen Sie, ob der Treiber installiert worden ist und funktioniert:

    nvidia-smi

    Die Ausgabe sieht etwa so aus:

    Thu Sep 20 21:58:23 2018
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 450.80.02    Driver Version: 450.80.02    CUDA Version: 11.0     |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |                               |                      |               MIG M. |
    |===============================+======================+======================|
    |   0  Tesla P4            On   | 00000000:00:04.0 Off |                    0 |
    | N/A   41C    P0    23W /  75W |      0MiB /  7611MiB |      0%      Default |
    |                               |                      |                  N/A |
    +-------------------------------+----------------------+----------------------+
    
    +-----------------------------------------------------------------------------+
    | Processes:                                                                  |
    |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
    |        ID   ID                                                   Usage      |
    |=============================================================================|
    |  No running processes found                                                 |
    +-----------------------------------------------------------------------------+
    

Wenn Ihre Ausgabe nicht so aussieht wie diese Liste, sollten Sie weiter unten in dieser Anleitung den Abschnitt zur Fehlerbehebung lesen.

Teradici Cloud Access Software installieren

Teradici Cloud Access Software bietet einen Grafik-Agent, der auf einer virtuellen Workstation ausgeführt werden kann und den Desktop für einen Hardware- oder Softwareclient bereitstellt.

  1. Fügen Sie der virtuellen Workstation die Teradici-Software hinzu:

    sudo rpm --import https://downloads.teradici.com/rhel/teradici.pub.gpg
    sudo yum -y install wget
    sudo wget -O /etc/yum.repos.d/pcoip.repo \
        https://downloads.teradici.com/rhel/pcoip.repo
  2. Aktualisieren Sie die Software-Repositories:

    sudo yum -y update
  3. Installieren Sie die Teradici Cloud Access Software:

    sudo yum -y install pcoip-agent-graphics
  4. Setzen Sie den Anzeigestatus auf graphical:

    sudo systemctl set-default graphical.target
  5. Starten Sie die virtuelle Workstation neu:

    sudo reboot

Teradici Graphics Agent registrieren

Für die Verwendung des Teradici Graphics Agent benötigen Sie eine Lizenz, wie weiter oben in der Anleitung beschrieben.

  1. Stellen Sie in Cloud Shell wieder eine Verbindung zur virtuellen Workstation her:

    gcloud compute ssh test-vws
  2. Aktivieren Sie auf Ihrer virtuellen Workstation die Lizenz für die Teradici Cloud Access Software:

    pcoip-register-host --registration-code=registration-code

Firewallregel erstellen

Der PCoIP-Client kommuniziert mit der virtuellen Workstation über mehrere Ports. Sie müssen mit Firewallregeln festlegen, dass Traffic von und zur Workstation zulässig ist.

  • Erstellen Sie in Cloud Shell eine Firewallregel zum Öffnen der erforderlichen Ports:

    gcloud compute firewall-rules create allow-teradici \
        --allow tcp:443,tcp:4172,udp:4172,tcp:60443

Mit dem PCoIP-Client bei Ihrer virtuellen Workstation anmelden

  1. Gehen Sie auf Ihrem lokalen Computer auf der Teradici-Supportseite zum Abschnitt "PCoIP-Clients". Laden Sie dort die PCoIP-Clientanwendung für Ihr Betriebssystem herunter. Installieren und starten Sie die Anwendung.

  2. Wählen Sie New Connection (Neue Verbindung) aus.

  3. Geben Sie im Feld Host Address (Hostadresse) die externe IP-Adresse der virtuellen Workstation ein. Wenn Sie möchten, können Sie der Verbindung einen Namen geben.

    Grafik: Externe IP-Adresse einer virtuellen Workstation zuweisen

  4. Wenn die Verbindung hergestellt ist, können Sie sich authentifizieren. Dazu geben Sie den Nutzernamen und das Passwort ein, den bzw. das Sie zuvor für die virtuelle Workstation erstellt haben.

    Authentifizierung in der virtuellen Workstation

  5. Wählen Sie den Desktop aus, der ausgeführt werden soll, und klicken Sie auf Connect.

    Desktop auswählen, zu dem eine Verbindung hergestellt werden soll

    Nach ein paar Sekunden sehen Sie den Linux-Desktop:

    Linux-Desktop in der virtuellen Workstation.

Virtuelle Workstation testen

Nachdem Sie die virtuelle Workstation bereitgestellt haben, können Sie eine Reihe von Tools verwenden, um die Leistung und Interaktivität zu testen:

  • GPU-Benchmark-Tools wie glxgears oder glmark2 sind einfache Programme, mit denen Sie die Grafikleistung auf einer Linux-Workstation testen können.
  • Installieren Sie Blender, ein Open-Source-3D-Softwarepaket
  • Führen Sie Render-Benchmarking-Tools für gängige Renderer aus, wie z. B. V-Ray, OctaneRender und Maxon-Renderer.
  • Mit Google Chrome können Sie Ihre bevorzugten Websites aufrufen oder YouTube-Videos abspielen.

Fehlerbehebung

In diesem Abschnitt werden Probleme beschrieben, die beim Einrichten oder Herstellen einer Verbindung mit einer Workstation auftreten können.

NVIDIA-SMI ist fehlgeschlagen

Problem: NVIDIA-SMI ist fehlgeschlagen, da keine Kommunikation mit dem NVIDIA-Treiber möglich war.

Lösung: Sie müssen den Treiber neu installieren und nvidia-smi noch einmal ausführen. Wenn der Befehl weiterhin fehlschlägt, deinstallieren Sie den NVIDIA-Treiber, installieren Sie das dkms-Modul und installieren Sie den Treiber anschließend neu. Dadurch wird das dkms-Modul im Kernel registriert, sodass für Aktualisierungen des Kernels keine Neuinstallation des Grafiktreibers erforderlich ist.

X11 startet nicht

Problem: X11 startet nicht wie beabsichtigt.

Lösung: Achten Sie darauf, dass der Nouveau-Grafiktreiber nicht in der Installation vorhanden ist. Nouveau-Treiber sind Open-Source-Grafiktreiber, die in einigen Linux-Versionen enthalten sind. Führen Sie folgenden Befehl in der Shell der virtuellen Workstation aus, um zu prüfen, ob der Nouveau-Treiber vorhanden ist:

lsmod | grep nouveau

Wenn Ergebnisse angezeigt werden, führen Sie die folgenden Schritte aus, um das Laden des Nouveau-Treibers zu deaktivieren, bevor Sie den erforderlichen NVIDIA-Grafiktreiber installieren:

  1. Öffnen Sie in der Shell der virtuellen Workstation einen Texteditor als Superuser und ergänzen Sie die letzte Zeile der Datei /etc/modprobe.d/blacklist.conf mit dem folgenden Text:

    blacklist nouveau
  2. Starten Sie die virtuelle Workstation neu:

    sudo reboot
  3. Nachdem die virtuelle Workstation neu gestartet worden ist, können Sie in Cloud Shell wieder eine Verbindung herstellen:

    gcloud compute ssh test-vws
  4. Bearbeiten Sie die Datei /etc/default/grub als Superuser.

  5. Suchen Sie den Eintrag GRUB_CMDLINE_LINUX oder fügen Sie ihn gegebenenfalls hinzu. Ergänzen Sie den Eintrag anschließend mit dem folgenden Wert:

    rd.driver.blacklist=nouveau nouveau.modeset=0

    Achten Sie darauf, dass der Wert innerhalb der Anführungszeichen steht. Beispiel:

    GRUB_CMDLINE_LINUX="crashkernel=auto console=ttyS0,38400n8 rd.driver.blacklist=nouveau nouveau.modeset=0"
  6. Generieren Sie eine neue grub-Konfiguration, um die Änderungen zu übernehmen:

    sudo grub2-mkconfig -o /boot/grub2/grub.cfg
  7. Starten Sie die virtuelle Workstation noch einmal neu:

    sudo reboot
  8. Nachdem die virtuelle Workstation neu gestartet worden ist, können Sie in Cloud Shell wieder eine Verbindung herstellen:

    gcloud compute ssh test-vws
  9. Prüfen Sie, ob der Nouveau-Treiber noch vorhanden ist.

    lsmod | grep nouveau

    Ein leerer String bedeutet, dass der Treiber nicht installiert ist. Weitere Informationen zum Nouveau-Treiber finden Sie in der NVIDIA-Dokumentation unter Common Problems (Häufige Probleme).

Verbindung zur virtuellen Workstation nicht möglich

Problem: Sie verwenden einen PCoIP Zero Client und können keine Verbindung zur virtuellen Workstation herstellen.

Lösung: Für den Zero Client muss mindestens die Firmwareversion 6.1 installiert sein, damit eine Verbindung zur virtuellen Workstation möglich ist. Weitere Informationen erhalten Sie von Ihrem Ansprechpartner bei Teradici.

Bereinigen

Damit Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, löschen Sie entweder das Projekt, das die Ressourcen enthält, oder Sie behalten das Projekt und löschen die einzelnen Ressourcen.

Nach Abschluss der Anleitung können Sie die von Ihnen in Google Cloud erstellten Ressourcen bereinigen, damit Ihnen diese nicht weiter in Rechnung gestellt werden.

Virtuelle Workstation beenden

Für beendete virtuelle Workstations fallen Kosten für nichtflüchtigen Speicher an. Sie können jedoch jederzeit neu gestartet werden. Führen Sie in Cloud Shell den folgenden Befehl aus, um die virtuelle Workstation zu beenden:

gcloud compute instances stop test-vws

Projekt löschen

  1. Wechseln Sie in der Cloud Console zur Seite Ressourcen verwalten.

    Zur Seite „Ressourcen verwalten“

  2. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
  3. Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), um das Projekt zu löschen.

Alle Komponenten löschen

  1. Löschen Sie die virtuelle Workstation.
  2. Löschen Sie die Firewallregel.

Weitere Informationen