Die virtuelle Netzwerkschnittstelle von Compute Engine (auch als gVNIC bezeichnet) wurde speziell für die Verwendung in Compute Engine entwickelt. Die virtuelle Compute Engine-Netzwerkschnittstelle bietet ein effizienteres Übermittlungsnetzwerk zum Senden von Traffic an Ihre und von Ihren VM-Instanzen. Früher nutzten in Compute Engine ausgeführte VM-Instanzen eine virtuelle Netzwerkschnittstelle, die auf der Spezifikation virtIO beruhte.
Die virtuelle Compute Engine-Netzwerkschnittstelle ist für höhere Netzwerkbandbreiten erforderlich, z. B. Geschwindigkeiten von 50 bis 100 Gbit/s, die für verteilte Arbeitslasten auf Instanzen mit verknüpften GPUs verwendet werden können.
Zum Erstellen von VM-Instanzen, die die virtuelle Netzwerkschnittstelle von Compute Engine verwenden, können Sie einen der folgenden Schritte ausführen:
- Erstellen Sie Ihre VM-Instanzen mit einem Image aus der Image-Familie
gvnic-vm-image-prod
. - Installieren Sie den virtuellen Compute Engine-Netzwerktreiber manuell auf einem Linux-Image Ihrer Wahl und verwenden Sie dann das Image zum Erstellen einer VM-Instanz.
Vorbereitung
- Wenn Sie die Befehlszeilenbeispiele in dieser Anleitung verwenden möchten:
- Installieren Sie das gcloud-Befehlszeilentool oder aktualisieren Sie es auf die neueste Version.
- Legen Sie eine Standardregion und -zone fest.
- Wenn Sie die API-Beispiele dieser Anleitung verwenden möchten, richten Sie den API-Zugang ein.
Beschränkungen
Die virtuelle Compute Engine-Netzwerkschnittstelle wird nicht für VM-Instanzen unterstützt, die speicheroptimierte Maschinentypen verwenden.
Betriebssystemunterstützung
Informationen darüber, welche Images zum Image-Projekt gvnic-vm-image-prod
gehören und für die Verwendung der virtuellen Netzwerkschnittstelle von Compute Engine konfiguriert sind, finden Sie unter Details zu Betriebssystemen.
Sie können eines dieser Images verwenden, um eine VM-Instanz zu erstellen, die standardmäßig die virtuelle Netzwerkschnittstelle Compute Engine nutzt.
VM-Instanz mit vorkonfigurierten Images erstellen
Wenn Sie eine VM-Instanz mit einem Image aus dem Image-Projekt gvnic-vm-image-prod
erstellen möchten, führen Sie die Schritte zum Erstellen einer VM-Instanz aus und stellen Sie das Image-Projekt und die Image-Familie bereit.
Debian
Führen Sie den folgenden Befehl aus, um eine Debian-Instanz zu erstellen:
gcloud beta compute instances create instance-name \ --image-project=gvnic-vm-image-prod \ --image-family=debian-9-gvnic
Ersetzen Sie instance-name
durch den Namen Ihrer Instanz.
Windows
Führen Sie den folgenden Befehl aus, um eine Windows 2019-Instanz zu erstellen:
gcloud beta compute instances create instance-name \ --image-project=gvnic-vm-image-prod \ --image-family=windows-2019-gvnic
Führen Sie den folgenden Befehl aus, um eine Windows 2016-Instanz zu erstellen:
gcloud beta compute instances create instance-name \ --image-project=gvnic-vm-image-prod \ --image-family=windows-2016-gvnic
Führen Sie den folgenden Befehl aus, um eine Windows 2012 R2-Instanz zu erstellen:
gcloud beta compute instances create instance-name \ --image-project=gvnic-vm-image-prod \ --image-family=windows-2012-r2-gvnic
Ersetzen Sie
instance-name
durch den Namen Ihrer Instanz.
Virtuellen Compute Engine-Netzwerktreiber manuell installieren
Wenn Sie eine VM-Instanz aus einem Image erstellen möchten, auf dem der virtuelle Compute Engine-Netzwerktreiber nicht installiert ist, gehen Sie folgendermaßen vor:
- Installieren Sie den virtuellen Compute Engine-Netzwerktreiber auf dem Image.
- Verwenden Sie das Image, auf dem jetzt der virtuelle Compute Engine-Netzwerktreiber installiert ist, um eine VM-Instanz zu erstellen.
Linux
Bevor Sie den virtuellen Compute Engine-Netzwerktreiber installieren können, müssen Sie die neuesten Versionen des Kernel-Treibers und des Headers für Ihr Betriebssystem installieren. Eine Instanz, die eine virtuelle Compute Engine-Netzwerkschnittstelle ohne Kerneltreiber verwendet, hat weder SSH noch RDP oder eine andere interne oder externe Netzwerkverbindung.
Wenn Sie den Kernel-Treiber aus der Quelle erstellen und installieren möchten, benötigen Sie einen unterstützten Kernel mit installierten Headern. Der virtuelle Compute Engine-Netzwerktreiber unterstützt die Erstellung für Mainline- und Major-Distribution-Kernel ab den Versionen 3.10.
Installieren oder aktualisieren Sie Kernel und Header auf eine Version ab 3.10. Wie Sie diesen Schritt ausführen, können Sie der Dokumentation für Ihr Betriebssystem entnehmen. Quellcode- und Treiberpakete erhalten Sie auf GitHub. Siehe GoogleCloudPlatform/compute-virtual-ethernet-linux.
Verwenden Sie Ihr Image, um eine VM-Instanz zu erstellen und zu starten.
Laden Sie den Kernel-Treiber auf dieser VM-Instanz. Führen Sie den folgenden Befehl aus, um den Treiber zu laden:
modprobe gve
Mit diesem Befehl wird der Treiber geladen, bis Sie entweder das System neu starten oder den Treiber mit dem Befehl
rmmod
entfernen.(Optional) Führen Sie einen der folgenden Befehle aus, damit der Treiber beim Systemstart automatisch geladen wird:
Führen Sie für Betriebssysteme, die systemd verwenden, den folgenden Befehl aus:
echo gve > /etc/modules-load.d/gve.conf
Führen Sie für Debian-Systeme den folgenden Befehl aus:
echo gve >> /etc/modules
Stoppen Sie die VM-Instanz.
Erstellen Sie ein Image von dem Laufwerk, das mit der gerade angehaltenen VM-Instanz verknüpft ist.
gcloud beta compute images create image-name\ --source-disk disk-name \ --guest-os-features=GVNIC
Ersetzen Sie Folgendes:
image-name
: Der Name des Images, das Sie erstellen möchten. Auf diesem Image ist der virtuelle Compute Engine-Netzwerktreiber installiert.disk-name
: Der Name des Bootlaufwerks auf der VM-Instanz, die Sie gerade angehalten haben.
Verwenden Sie das Image, auf dem der virtuelle Compute Engine-Netzwerktreiber installiert ist, zum Erstellen und Starten einer VM-Instanz.
Windows
Verwenden Sie das Image, um eine VM-Instanz zu erstellen und zu starten.
Installieren Sie GooGet auf dieser VM-Instanz. Informationen zur Installation von GooGet finden Sie unter GooGet herunterladen und installieren.
Installieren Sie den gVNIC-Treiber. Führen Sie in einer erweiterten PowerShell-Eingabeaufforderung den folgenden Befehl aus, um den Treiber zu installieren:
googet install google-compute-engine-driver-gvnic
Stoppen Sie die VM-Instanz.
Erstellen Sie ein Image von dem Laufwerk, das mit der gerade angehaltenen VM-Instanz verknüpft ist.
gcloud beta compute images create image-name\ --source-disk disk-name \ --guest-os-features=GVNIC
Ersetzen Sie Folgendes:
image-name
: Der Name des Images, das Sie erstellen möchten. Auf diesem Image ist jetzt der virtuelle Compute Engine-Netzwerktreiber installiert.disk-name
: Der Name des Bootlaufwerks auf der VM-Instanz, die Sie gerade angehalten haben.
Verwenden Sie das Image, auf dem der virtuelle Compute Engine-Netzwerktreiber installiert ist, zum Erstellen und Starten einer VM-Instanz.
Aktivierung der virtuellen Compute Engine-Netzwerkschnittstelle prüfen
Linux
1. Methode
Führen Sie auf Ihrer VM-Instanz unter Linux die folgenden Befehle aus:
sudo apt install pciutils lspci
Die Ausgabe sollte in etwa so aussehen:
00:04.0 Ethernet controller: Google, XXX. Device 0042
Methode 2
Wie Sie das Netzwerkdienstprogramm
ethtool
herunterladen, können Sie der Anleitung zu Ihrem Betriebssystem entnehmen.Führen Sie diesen Befehl aus:
sudo ethtool -i network-interface
Ersetzen Sie
network-interface
durch den Namen Ihrer Netzwerkschnittstelle. Beispiel:eth0
Die Ausgabe sollte in etwa so aussehen:
driver: gve version: 1.0.0 firmware-version: expansion-rom-version: bus-info: 0000:00:04.0 supports-statistics: yes supports-test: no supports-eeprom-access: no supports-register-dump: no supports-priv-flags: no
Windows
- Öffnen Sie auf Ihrer VM-Instanz unter Windows den Geräte-Manager.
- Unter „Netzwerkadapter“ sollten Sie diesen Eintrag finden:
"Google Ethernet Adapter"
Nächste Schritte
- Stellen Sie eine Verbindung zur Instanz her.
- Zusätzlichen nichtflüchtigen Speicher zur neuen Instanz hinzufügen
- gVNIC-Probleme beheben