Von Compute Engine aus verbinden

In dieser Anleitung wird beschrieben, wie Sie einen einzelnen Compute Engine-Client erstellen und ihn mit Ihrer Google Cloud Managed Lustre-Instanz verbinden. Managed Lustre unterstützt Verbindungen von bis zu 20.000 Clients.

Für eine bessere Leistung sollten Client-Compute Engine-VMs in derselben Zone wie die Managed Lustre-Instanz erstellt werden.

Erforderliche Berechtigungen

Sie benötigen die folgenden IAM-Rollen:

  • Compute-Instanzadministrator (Version 1) (roles/compute.instanceAdmin.v1) zum Erstellen einer Compute Engine-VM.

  • Sie benötigen die Rolle „Compute Admin“ (roles/compute.admin) oder „Compute Security Admin“ (roles/compute.securityAdmin), um eine Firewallregel zu erstellen.

  • „Nutzer IAP-gesicherter Tunnel“ (roles/iap.tunnelResourceAccessor) für die SSH-Verbindung zu einer Compute Engine-VM mit Identity-Aware Proxy.

Eine vollständige Liste der Berechtigungen, die mit jeder Rolle gewährt werden, finden Sie in der Referenz für IAM-Rollen.

Beschränkungen

Managed Lustre kann nicht auf Shielded VMs bereitgestellt werden.

Compute Engine-VM erstellen

Folgen Sie der Anleitung zum Erstellen einer Compute Engine-VM mit einer der folgenden Google Cloud-Image-Familien:

  • Rocky Linux 8
  • Rocky Linux 9
  • Red Hat Enterprise Linux (RHEL) 9
  • Ubuntu 20.04 LTS, v20250213 oder höher. Ubuntu 20.04 hat das Supportende erreicht und kann nicht über die Google Cloud -Konsole ausgewählt werden.
  • Ubuntu 22.04 LTS, v20250128 oder höher
  • Ubuntu 24.04 LTS, nur für Arm-VMs.

Wenn Sie einen benutzerdefinierten Ubuntu 22.04- oder 24.04-Kernel verwenden, ist DKMS-Unterstützung verfügbar.

Maschinentypen und Vernetzung

Sie können einen beliebigen Maschinentyp und ein beliebiges Bootlaufwerk auswählen. Wir empfehlen mindestens den Maschinentyp c2-standard-4.

Der Netzwerkdurchsatz kann durch die Wahl des Maschinentyps beeinflusst werden. Im Allgemeinen gilt für den besten Durchsatz:

  • Die Anzahl der vCPUs erhöhen Die maximale Bandbreite für ausgehenden Traffic beträgt in der Regel 2 Gbit/s pro vCPU, bis zum Maximum des Maschinentyps.
  • Wählen Sie eine Maschinenserie aus, die höhere Ein- und Ausgangslimits unterstützt. C2-Instanzen mit Tier_1-Netzwerk unterstützen beispielsweise eine Bandbreite für ausgehenden Traffic von bis zu 100 Gbit/s. C3-Instanzen mit Tier_1-Netzwerken unterstützen bis zu 200 Gbit/s.
  • Aktivieren Sie die Tier_1-Netzwerkleistung pro VM mit größeren Maschinentypen.
  • Wählen Sie eine Maschinenreihe mit mehreren physischen Netzwerkkarten (NICs) aus, um die Netzwerkbandbreite zu aggregieren. Physische NICs müssen an reguläre VPCs und nicht an VPCs mit RDMA-Netzwerkprofilen angehängt werden, um die Bandbreite zu erhöhen. Weitere Informationen finden Sie unter Netzwerk und GPU-Maschinen.

Ausführliche Informationen finden Sie unter Netzwerkbandbreite.

VM erstellen

Google Cloud Console

  1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf:

    Zur Seite „VM-Instanzen“

  2. Wählen Sie Ihr Projekt aus und klicken Sie auf Weiter.

  3. Klicken Sie auf Instanz erstellen.

  4. Geben Sie unter Name einen Namen für Ihre VM ein. Weitere Informationen finden Sie unter Namenskonvention für Ressourcen.

  5. Wählen Sie die Region und Zone für diese VM aus den Drop-down-Menüs aus. Ihre VM sollte sich in derselben Zone wie Ihre Managed Lustre-Instanz befinden.

  6. Wählen Sie in der Liste eine Maschinenkonfiguration für Ihre VM aus.

  7. Klicken Sie im linken Navigationsbereich auf Betriebssystem und Speicher.

  8. Klicken Sie unter Betriebssystem und Speicher auf Ändern.

  9. Wählen Sie im Drop-down-Menü Betriebssystem eine der folgenden Optionen aus:

    • HPC-VM-Image für Rocky 8
    • Rocky Linux für Rocky 9
    • Red Hat Enterprise Linux für RHEL 9
    • Ubuntu für Ubuntu 22.04 LTS oder 24.04 LTS
  10. Wählen Sie im Drop-down-Menü Version eine der folgenden Optionen aus:

    • HPC Rocky Linux 8
    • Rocky Linux 9
    • Red Hat Enterprise Linux 9
    • Ubuntu 22.04 LTS
    • Ubuntu 24.04 LTS

    Wählen Sie entweder die x86/64-Version oder die Arm64-Version aus, die zu Ihrem Maschinentyp passt. Ubuntu 24.04 LTS wird nur auf Arm-VMs unterstützt.

  11. Klicken Sie auf Auswählen, um die Bootlaufwerksoptionen zu bestätigen.

  12. Klicken Sie im linken Navigationsbereich auf Netzwerk.

  13. Wählen Sie das VPC-Netzwerk aus, das Sie unter VPC-Netzwerk konfigurieren erstellt haben, und das primäre Subnetz (SUBNET_NAME) als primäre Schnittstelle.

  14. (Optional) Klicken Sie für Multi-NIC auf Netzwerkschnittstelle hinzufügen und wählen Sie dasselbe VPC-Netzwerk und ein anderes Subnetz aus (z.B. SUBNET_NAME_2).

  15. Optional: Wenn Sie Tier 1-Netzwerke aktivieren möchten, legen Sie unter Konfigurationen für die Netzwerkleistung die Netzwerkbandbreitenstufe auf Tier 1 fest.

  16. Klicken Sie im Navigationsbereich links auf Sicherheit.

  17. Wählen Sie unter Zugriffsbereiche die Option Uneingeschränkten Zugriff auf alle Cloud-APIs zulassen aus.

  18. Klicken Sie im linken Menü auf Erweitert.

  19. Geben Sie unter Automatisierung Folgendes in das Feld Startskript ein:

    #!/bin/bash
    sudo apt-get update
    sudo apt-get install -y lustre-client-modules-$(uname -r)
    

    Dieses Skript sorgt dafür, dass die Lustre-Clientpakete aktualisiert werden, wenn der Ubuntu-Kernel aktualisiert wird.

  20. Klicken Sie zum Erstellen und Starten der VM auf Erstellen.

gcloud

Verwenden Sie das Befehlszeilentool gcloud, um eine VM zu erstellen:

HPC Rocky Linux 8

Erstellen Sie eine VM mit dem Befehl gcloud compute instances create. Sie können den Maschinentyp und alle Laufwerkspezifikationen aktualisieren, bevor Sie den Befehl ausführen.

gcloud compute instances create VM_NAME \
  --project=PROJECT_ID \
  --zone=LOCATION \
  --machine-type=c2d-standard-112 \
  --scopes="https://www.googleapis.com/auth/cloud-platform" \
  --network-interface=stack-type=IPV4_ONLY,subnet=SUBNET_NAME,nic-type=GVNIC \
  --network-performance-configs=total-egress-bandwidth-tier=TIER_1 \
  --create-disk=auto-delete=yes,boot=yes,device-name=VM_NAME,\
image-project=cloud-hpc-image-public,image-family=hpc-rocky-linux-8,\
mode=rw,size=100,type=pd-balanced

Wenn Ihr Compute Engine-Maschinentyp mehrere physische Netzwerkkarten (NICs) hat, weisen Sie jeder NIC ein Subnetz zu. So können Sie die Bandbreite über mehrere Netzwerkschnittstellen hinweg aggregieren.

Fügen Sie dazu für jede zusätzliche NIC ein weiteres --network-interface-Flag hinzu und geben Sie ein anderes Subnetz an. Weitere Informationen finden Sie unter Zusätzliche Subnetze für mehrere NICs erstellen.

...
--network-interface=stack-type=IPV4_ONLY,subnet=SUBNET_NAME,nic-type=GVNIC \
--network-interface=subnet=SUBNET_NAME_2,no-address,nic-type=GVNIC \
...

Rocky Linux 9

Erstellen Sie eine VM mit dem Befehl gcloud compute instances create. Sie können den Maschinentyp und alle Laufwerkspezifikationen aktualisieren, bevor Sie den Befehl ausführen.

gcloud compute instances create VM_NAME \
  --project=PROJECT_ID \
  --zone=LOCATION \
  --machine-type=c2d-standard-112 \
  --scopes="https://www.googleapis.com/auth/cloud-platform" \
  --network-interface=stack-type=IPV4_ONLY,subnet=SUBNET_NAME,nic-type=GVNIC \
  --network-performance-configs=total-egress-bandwidth-tier=TIER_1 \
  --create-disk=auto-delete=yes,boot=yes,device-name=VM_NAME,\
image-project=rocky-linux-cloud,image-family=rocky-linux-9,\
mode=rw,size=100,type=pd-balanced

Wenn Ihr Compute Engine-Maschinentyp mehrere physische Netzwerkkarten (NICs) hat, weisen Sie jeder NIC ein Subnetz zu. So können Sie die Bandbreite über mehrere Netzwerkschnittstellen hinweg aggregieren.

Fügen Sie dazu für jede zusätzliche NIC ein weiteres --network-interface-Flag hinzu und geben Sie ein anderes Subnetz an. Weitere Informationen finden Sie unter Zusätzliche Subnetze für mehrere NICs erstellen.

...
--network-interface=stack-type=IPV4_ONLY,subnet=SUBNET_NAME,nic-type=GVNIC \
--network-interface=subnet=SUBNET_NAME_2,no-address,nic-type=GVNIC \
...

RHEL 9

Erstellen Sie eine VM mit dem Befehl gcloud compute instances create. Sie können den Maschinentyp und alle Laufwerkspezifikationen aktualisieren, bevor Sie den Befehl ausführen.

gcloud compute instances create VM_NAME \
  --project=PROJECT_ID \
  --zone=LOCATION \
  --machine-type=c2d-standard-112 \
  --scopes="https://www.googleapis.com/auth/cloud-platform" \
  --network-interface=stack-type=IPV4_ONLY,subnet=SUBNET_NAME,nic-type=GVNIC \
  --network-performance-configs=total-egress-bandwidth-tier=TIER_1 \
  --create-disk=auto-delete=yes,boot=yes,device-name=VM_NAME,\
image-project=rhel-cloud,image-family=rhel-9,\
mode=rw,size=100,type=pd-balanced

Wenn Ihr Compute Engine-Maschinentyp mehrere physische Netzwerkkarten (NICs) hat, weisen Sie jeder NIC ein Subnetz zu. So können Sie die Bandbreite über mehrere Netzwerkschnittstellen hinweg aggregieren.

Fügen Sie dazu für jede zusätzliche NIC ein weiteres --network-interface-Flag hinzu und geben Sie ein anderes Subnetz an. Weitere Informationen finden Sie unter Zusätzliche Subnetze für mehrere NICs erstellen.

...
--network-interface=stack-type=IPV4_ONLY,subnet=SUBNET_NAME,nic-type=GVNIC \
--network-interface=subnet=SUBNET_NAME_2,no-address,nic-type=GVNIC \
...

Ubuntu 20.04 LTS

Erstellen Sie eine VM mit dem Befehl gcloud compute instances create. Sie können den Maschinentyp und alle Laufwerkspezifikationen aktualisieren, bevor Sie den Befehl ausführen.

gcloud compute instances create VM_NAME \
  --project=PROJECT_ID \
  --zone=LOCATION \
  --machine-type=c2d-standard-112 \
  --scopes="https://www.googleapis.com/auth/cloud-platform" \
  --network-interface=stack-type=IPV4_ONLY,subnet=SUBNET_NAME,nic-type=GVNIC \
  --network-performance-configs=total-egress-bandwidth-tier=TIER_1 \
  --create-disk=auto-delete=yes,boot=yes,device-name=VM_NAME,\
image=projects/ubuntu-os-cloud/global/images/ubuntu-2004-focal-v20250606,\
mode=rw,size=100,type=pd-balanced \
  --metadata=startup-script='#!/bin/bash
    sudo apt-get update
    sudo apt-get install -y lustre-client-modules-$(uname -r)'

Wenn Ihr Compute Engine-Maschinentyp mehrere physische Netzwerkkarten (NICs) hat, weisen Sie jeder NIC ein Subnetz zu. So können Sie die Bandbreite über mehrere Netzwerkschnittstellen hinweg aggregieren.

Fügen Sie dazu für jede zusätzliche NIC ein weiteres --network-interface-Flag hinzu und geben Sie ein anderes Subnetz an. Weitere Informationen finden Sie unter Zusätzliche Subnetze für mehrere NICs erstellen.

...
--network-interface=stack-type=IPV4_ONLY,subnet=SUBNET_NAME,nic-type=GVNIC \
--network-interface=subnet=SUBNET_NAME_2,no-address,nic-type=GVNIC \
...

Ubuntu 22.04 LTS

Erstellen Sie eine VM mit dem Befehl gcloud compute instances create. Sie können den Maschinentyp und alle Laufwerkspezifikationen aktualisieren, bevor Sie den Befehl ausführen.

gcloud compute instances create VM_NAME \
  --project=PROJECT_ID \
  --zone=LOCATION \
  --machine-type=c2d-standard-112 \
  --scopes="https://www.googleapis.com/auth/cloud-platform" \
  --network-interface=stack-type=IPV4_ONLY,subnet=SUBNET_NAME,nic-type=GVNIC \
  --network-performance-configs=total-egress-bandwidth-tier=TIER_1 \
  --create-disk=auto-delete=yes,boot=yes,device-name=VM_NAME,\
image-project=ubuntu-os-cloud,image-family=ubuntu-2204-lts,\
mode=rw,size=100,type=pd-balanced \
  --metadata=startup-script='#!/bin/bash
    sudo apt-get update
    sudo apt-get install -y lustre-client-modules-$(uname -r)'

Wenn Ihr Compute Engine-Maschinentyp mehrere physische Netzwerkkarten (NICs) hat, weisen Sie jeder NIC ein Subnetz zu. So können Sie die Bandbreite über mehrere Netzwerkschnittstellen hinweg aggregieren.

Fügen Sie dazu für jede zusätzliche NIC ein weiteres --network-interface-Flag hinzu und geben Sie ein anderes Subnetz an. Weitere Informationen finden Sie unter Zusätzliche Subnetze für mehrere NICs erstellen.

...
--network-interface=stack-type=IPV4_ONLY,subnet=SUBNET_NAME,nic-type=GVNIC \
--network-interface=subnet=SUBNET_NAME_2,no-address,nic-type=GVNIC \
...

Ubuntu 24.04 LTS

Erstellen Sie eine VM mit dem Befehl gcloud compute instances create.

Managed Lustre unterstützt nur Ubuntu 24.04 LTS auf Arm-VMs.

Sie können den Maschinentyp und alle Laufwerkspezifikationen aktualisieren, bevor Sie den Befehl ausführen.

gcloud compute instances create VM_NAME \
  --project=PROJECT_ID \
  --zone=LOCATION \
  --machine-type=c4a-standard-32 \
  --scopes="https://www.googleapis.com/auth/cloud-platform" \
  --network-interface=network-tier=PREMIUM,nic-type=GVNIC,stack-type=IPV4_ONLY,subnet=SUBNET_NAME \
  --network-performance-configs=total-egress-bandwidth-tier=TIER_1 \
  --create-disk=auto-delete=yes,boot=yes,device-name=VM_NAME,\
image-project=ubuntu-os-cloud,image-family=ubuntu-2404-lts-arm64,mode=rw,size=100,type=hyperdisk-balanced

Wenn Ihr Compute Engine-Maschinentyp mehrere physische Netzwerkkarten (NICs) hat, weisen Sie jeder NIC ein Subnetz zu. So können Sie die Bandbreite über mehrere Netzwerkschnittstellen hinweg aggregieren.

Fügen Sie dazu für jede zusätzliche NIC ein weiteres --network-interface-Flag hinzu und geben Sie ein anderes Subnetz an. Weitere Informationen finden Sie unter Zusätzliche Subnetze für mehrere NICs erstellen.

...
--network-interface=stack-type=IPV4_ONLY,subnet=SUBNET_NAME,nic-type=GVNIC \
--network-interface=subnet=SUBNET_NAME_2,no-address,nic-type=GVNIC \
...

Weitere Informationen zu den verfügbaren Optionen finden Sie in der Compute Engine-Dokumentation.

Firewallregel erstellen, die SSH zulässt

Wenn Sie eine SSH-Verbindung zu Ihrer Compute Engine-VM herstellen möchten, müssen Sie zuerst eine Firewallregel erstellen, die den Zugriff auf TCP-Port 22 auf Ihrer VM zulässt.

VMs ohne öffentliche IP-Adressen

Wenn Sie eine SSH-Verbindung zu VMs ohne externe IP-Adressen herstellen, wird sowohl über die Google Cloud -Schaltfläche für SSH in der Console als auch über gcloud compute ssh eine Verbindung über Identity-Aware Proxy (IAP) hergestellt.

Folgen Sie für diese Verbindungen der Anleitung unter Firewallregel erstellen, um eine Firewallregel zu erstellen, die nur eingehenden Traffic aus dem IAP-Quellbereich zulässt. Dieser ist immer 35.235.240.0/20. Dies erhöht die Sicherheit, da Port 22 nicht für das gesamte Internet freigegeben wird.

VMs mit öffentlichen IP-Adressen

Wenn Sie Ihrer Compute Engine-VM eine öffentliche IP-Adresse zugewiesen haben, wird mit derGoogle Cloud -Schaltfläche „Console SSH“ möglicherweise versucht, eine direkte Verbindung herzustellen und IAP zu umgehen.

Die Quell-IP-Adresse für diese direkte Verbindung ist nicht der IAP-Bereich, sondern eine von vielen Google-IP-Adressen. Wenn Sie diese Verbindung zulassen möchten, ist ein größerer Quelladressbereich erforderlich, z. B. 0.0.0.0/0 (beliebige Quelle).

Wenn Ihre VM eine öffentliche IP-Adresse hat, empfehlen wir, die Firewallregel so zu konfigurieren, dass nur SSH-Verbindungen aus dem IAP-Bereich (35.235.240.0/20) zugelassen werden. Verwenden Sie dann gcloud compute ssh, um eine Verbindung herzustellen, und geben Sie das Flag --tunnel-through-iap an.

Wenn Sie eine öffentliche IP-Adresse zuweisen und eine Verbindung über die Google Cloud -Konsole herstellen müssen, geben Sie 0.0.0.0/0 als Wert für den Quell-IPv4-Bereich an.

Firewallregel erstellen

Google Cloud Console

Erstellen Sie eine Firewallregel, die SSH zulässt.

  1. Rufen Sie in der Google Cloud Console die Seite Firewallrichtlinien auf.

    Zu den Firewall-Richtlinien

  2. Klicken Sie auf Firewallregel erstellen.

  3. Geben Sie einen Namen für die Regel ein.

  4. Wählen Sie unter Netzwerk das VPC-Netzwerk aus, das Sie zuvor erstellt haben.

  5. Wählen Sie Eingehend als Traffic-Richtung und Zulassen als Aktion bei Übereinstimmung aus.

  6. Wählen Sie im Drop-down-Menü Ziele die Option Alle Instanzen im Netzwerk aus.

  7. Geben Sie im Feld Quell-IPv4-Bereiche den Wert 35.235.240.0/20 ein.

  8. Wählen Sie unter Protokolle und Ports die Option Angegebene Protokolle und Ports aus.

  9. Wählen Sie TCP aus und geben Sie 22 in das Feld Ports ein.

  10. Klicken Sie auf Erstellen.

gcloud

Erstellen Sie eine Firewallregel, die SSH zulässt.

gcloud compute firewall-rules create FIREWALL_RULE_NAME \
  --allow=tcp:22 \
  --network=NETWORK_NAME \
  --source-ranges=35.235.240.0/20 \
  --project=PROJECT_ID

SSH-Verbindung zu Ihrer Compute Engine-VM herstellen

Nachdem die Firewallregel erstellt wurde, können Sie eine SSH-Verbindung zu Ihrer VM herstellen:

Google Cloud Console

  1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf:

    Zur Seite „VM-Instanzen“

  2. Suchen Sie in der Instanztabelle nach der Zeile Ihrer Instanz und klicken Sie in der Spalte Verbinden auf SSH.

  3. Wenn Sie dazu aufgefordert werden, klicken Sie auf Autorisieren, um die Verbindung zuzulassen.

gcloud

gcloud compute ssh VM_NAME \
  --zone=LOCATION \
  --project=PROJECT_ID \
  --tunnel-through-iap

Lustre-Clientpakete installieren

Die Lustre-Clientpakete werden im Projekt lustre-client-binaries in Artifact Registry gehostet.

Zugriff auf das Repository konfigurieren

Folgen Sie dieser Anleitung, um Ihre VM für die Installation aus Artifact Registry zu konfigurieren.

HPC Rocky Linux 8

Führen Sie gcloud beta artifacts print-settings aus und leiten Sie die Ausgabe an bash weiter, um die erforderlichen Befehle auszuführen:

gcloud beta artifacts print-settings yum \
  --repository=lustre-client-rocky-8 \
  --location=us --project=lustre-client-binaries | sudo bash

Rocky Linux 9

Führen Sie gcloud beta artifacts print-settings aus und leiten Sie die Ausgabe an bash weiter, um die erforderlichen Befehle auszuführen:

gcloud beta artifacts print-settings yum \
  --repository=lustre-client-rocky-9 \
  --location=us --project=lustre-client-binaries | sudo bash

RHEL 9

Führen Sie gcloud beta artifacts print-settings aus und leiten Sie die Ausgabe an bash weiter, um die erforderlichen Befehle auszuführen:

gcloud beta artifacts print-settings yum \
  --repository=lustre-client-rocky-9 \
  --location=us --project=lustre-client-binaries | sudo bash

RHEL 9 verwendet dasselbe lustre-client-rocky-9-Repository wie Rocky Linux 9.

Ubuntu 20.04 LTS

  1. Installieren Sie die Signaturschlüssel für das Apt-Repository:

    curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg \
      | sudo gpg --dearmor -o /usr/share/keyrings/google-cloud.gpg
    curl -fsSL https://us-apt.pkg.dev/doc/repo-signing-key.gpg \
      | sudo gpg --dearmor -o /usr/share/keyrings/lustre-client.gpg
    
  2. VM für den Zugriff auf Artifact Registry-Pakete konfigurieren:

    echo 'deb [signed-by=/usr/share/keyrings/google-cloud.gpg] http://packages.cloud.google.com/apt apt-transport-artifact-registry-stable main' \
      | sudo tee /etc/apt/sources.list.d/artifact-registry.list
    
  3. Aktualisieren Sie Apt und installieren Sie das Paket apt-transport-artifact-registry:

    sudo apt update && sudo apt install apt-transport-artifact-registry
    
  4. Konfigurieren Sie Apt so, dass Pakete aus dem Repository abgerufen werden:

    echo "deb [signed-by=/usr/share/keyrings/lustre-client.gpg] ar+https://us-apt.pkg.dev/projects/lustre-client-binaries lustre-client-ubuntu-focal main" \
      | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
    
  5. Aktualisieren Sie Ihre Repository-Quellen:

    sudo apt update
    

    Wenn der Befehl einen Fehler zurückgibt, prüfen Sie, ob Ihre Compute Engine-VM mit dem Zugriffsbereich erstellt wurde, der vollen Zugriff auf alle Cloud APIs ermöglicht. Weitere Informationen finden Sie unter Zugriff auf Compute Engine-Instanzen gewähren.

Weitere Informationen zu diesen Befehlen finden Sie in der Artifact Registry-Dokumentation unter VMs für die Installation von Debian-Paketen konfigurieren.

Ubuntu 22.04 LTS

  1. Installieren Sie die Signaturschlüssel für das Apt-Repository:

    curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg \
      | sudo gpg --dearmor -o /usr/share/keyrings/google-cloud.gpg
    curl -fsSL https://us-apt.pkg.dev/doc/repo-signing-key.gpg \
      | sudo gpg --dearmor -o /usr/share/keyrings/lustre-client.gpg
    
  2. VM für den Zugriff auf Artifact Registry-Pakete konfigurieren:

    echo 'deb [signed-by=/usr/share/keyrings/google-cloud.gpg] http://packages.cloud.google.com/apt apt-transport-artifact-registry-stable main' \
      | sudo tee /etc/apt/sources.list.d/artifact-registry.list
    
  3. Aktualisieren Sie Apt und installieren Sie das Paket apt-transport-artifact-registry:

    sudo apt update && sudo apt install apt-transport-artifact-registry
    
  4. Konfigurieren Sie Apt so, dass Pakete aus dem Repository abgerufen werden:

    echo "deb [signed-by=/usr/share/keyrings/lustre-client.gpg] ar+https://us-apt.pkg.dev/projects/lustre-client-binaries lustre-client-ubuntu-jammy main" \
      | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
    
  5. Aktualisieren Sie Ihre Repository-Quellen:

    sudo apt update
    

    Wenn der Befehl einen Fehler zurückgibt, prüfen Sie, ob Ihre Compute Engine-VM mit dem Zugriffsbereich erstellt wurde, der vollen Zugriff auf alle Cloud APIs ermöglicht. Weitere Informationen finden Sie unter Zugriff auf Compute Engine-Instanzen gewähren.

Weitere Informationen zu diesen Befehlen finden Sie in der Artifact Registry-Dokumentation unter VMs für die Installation von Debian-Paketen konfigurieren.

Ubuntu 24.04 LTS

  1. Installieren Sie die Signaturschlüssel für das Apt-Repository:

    curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg \
      | sudo gpg --dearmor -o /usr/share/keyrings/google-cloud.gpg
    curl -fsSL https://us-apt.pkg.dev/doc/repo-signing-key.gpg \
      | sudo gpg --dearmor -o /usr/share/keyrings/lustre-client.gpg
    
  2. VM für den Zugriff auf Artifact Registry-Pakete konfigurieren:

    echo 'deb [signed-by=/usr/share/keyrings/google-cloud.gpg] http://packages.cloud.google.com/apt apt-transport-artifact-registry-stable main' \
      | sudo tee /etc/apt/sources.list.d/artifact-registry.list
    
  3. Aktualisieren Sie Apt und installieren Sie das Paket apt-transport-artifact-registry:

    sudo apt update && sudo apt install apt-transport-artifact-registry
    
  4. Konfigurieren Sie Apt so, dass Pakete aus dem Repository abgerufen werden:

    echo "deb [signed-by=/usr/share/keyrings/lustre-client.gpg] ar+https://us-apt.pkg.dev/projects/lustre-client-binaries lustre-client-ubuntu-noble main" \
      | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
    
  5. Aktualisieren Sie Ihre Repository-Quellen:

    sudo apt update
    

    Wenn der Befehl einen Fehler zurückgibt, prüfen Sie, ob Ihre Compute Engine-VM mit dem Zugriffsbereich erstellt wurde, der vollen Zugriff auf alle Cloud APIs ermöglicht. Weitere Informationen finden Sie unter Zugriff auf Compute Engine-Instanzen gewähren.

Weitere Informationen zu diesen Befehlen finden Sie in der Artifact Registry-Dokumentation unter VMs für die Installation von Debian-Paketen konfigurieren.

Lustre-Clientpakete installieren

Folgen Sie der Anleitung zum Installieren der Lustre-Clientpakete.

HPC Rocky Linux 8

sudo yum -y --enablerepo=lustre-client-rocky-8 install kmod-lustre-client
sudo yum -y --enablerepo=lustre-client-rocky-8 install lustre-client

Rocky Linux 9

sudo yum -y --enablerepo=lustre-client-rocky-9 install kmod-lustre-client
sudo yum -y --enablerepo=lustre-client-rocky-9 install lustre-client

RHEL 9

sudo yum -y --enablerepo=lustre-client-rocky-9 install kmod-lustre-client
sudo yum -y --enablerepo=lustre-client-rocky-9 install lustre-client

Ubuntu 20.04 LTS

Führen Sie die folgenden Befehle aus:

sudo apt install lustre-client-modules-$(uname -r)/lustre-client-ubuntu-focal
sudo apt install lustre-client-utils/lustre-client-ubuntu-focal

Die Lustre-Clientpakete sind spezifisch für die Kernelversion. Wenn Sie das Startskript beim Erstellen Ihrer Compute Engine-Instanz nicht angegeben haben und sich die Ubuntu-Kernelversion aufgrund eines automatischen Kernel-Updates ändert, müssen Sie diese Befehle noch einmal ausführen, um die entsprechenden Lustre-Clientpakete herunterzuladen.

Ubuntu 22.04 LTS

Führen Sie die folgenden Befehle aus:

sudo apt install lustre-client-modules-$(uname -r)/lustre-client-ubuntu-jammy
sudo apt install lustre-client-utils/lustre-client-ubuntu-jammy

Die Lustre-Clientpakete sind spezifisch für die Kernelversion. Wenn sich Ihre Ubuntu-Kernelversion aufgrund eines automatischen Kernel-Updates ändert, müssen Sie diese Befehle noch einmal ausführen, um die entsprechenden Lustre-Clientpakete herunterzuladen.

Ubuntu 24.04 LTS

Führen Sie die folgenden Befehle aus:

sudo apt install lustre-client-modules-$(uname -r)/lustre-client-ubuntu-noble
sudo apt install lustre-client-utils/lustre-client-ubuntu-noble

Die Lustre-Clientpakete sind spezifisch für die Kernelversion. Wenn Sie das Startskript beim Erstellen Ihrer Compute Engine-Instanz nicht angegeben haben und sich die Ubuntu-Kernelversion aufgrund eines automatischen Kernel-Updates ändert, müssen Sie diese Befehle noch einmal ausführen, um die entsprechenden Lustre-Clientpakete herunterzuladen.

Laden des Lustre-Kernelmoduls

Nachdem die Clientpakete installiert wurden, folgen Sie dieser Anleitung, um das Lustre-Kernelmodul zu laden.

Standardkonfiguration

Führen Sie dazu diesen Befehl aus:

sudo modprobe lustre

Konfiguration für mehrere NICs

Wenn Ihre VM mehrere NICs hat, die jeweils mit einem anderen Subnetz verbunden sind, müssen Sie LNet so konfigurieren, dass sie verwendet werden, bevor Sie das Modul laden.

  1. Erstellen oder ändern Sie die Datei /etc/modprobe.d/lustre.conf:

    options lnet networks="tcp0(eth0, eth1)"
    

    In diesem Beispiel wird davon ausgegangen, dass die Schnittstellen auf der VM eth0 und eth1 heißen. Ersetzen Sie diese durch die entsprechenden Schnittstellennamen. Die Schnittstellennamen können Sie mit dem Befehl ip address aufrufen.

  2. Laden Sie das Modul:

    sudo modprobe lustre
    
  3. (Optional) TCP-Optimierung überprüfen Führen Sie dazu diesen Befehl aus:

    sudo lctl list_nids
    

    In der Ausgabe werden beide NICs angezeigt.

Optional: LNet für gke-support-enabled-Instanzen konfigurieren

Dieser Abschnitt gilt nur für Compute Engine-Clients, die eine Verbindung zu verwalteten Lustre-Instanzen mit --gke-support-enabled herstellen.

Wenn Ihre verwaltete Lustre-Instanz nicht mit der Option GKE-Unterstützung erstellt wurde, überspringen Sie diesen Abschnitt.

LNet für die Verwendung von accept_port 6988 konfigurieren

Wenn für Ihre verwaltete Lustre-Instanz --gke-support-enabled auf „true“ gesetzt ist und Sie eine Verbindung über eine Compute Engine-VM herstellen:

  1. /etc/modprobe.d/lnet.conf erstellen oder bearbeiten.
  2. Fügen Sie folgende Zeile hinzu:
    options lnet accept_port=6988
    
  3. Starten Sie die VM neu:
    sudo reboot
    

Managed Lustre-Instanz einbinden

Stellen Sie die Managed Lustre-Instanz bereit.

  • Verwenden Sie für eine schnelle Einbindung, die nicht über Neustarts hinweg bestehen muss, den Befehl mount.

  • Wenn das Laufwerk bei jedem Start Ihrer VM automatisch eingebunden werden soll, verwenden Sie die Option /etc/fstab.

In beiden Fällen muss das Verzeichnis, das als Bereitstellungspunkt verwendet werden soll, vorhanden sein, bevor Sie den Befehl ausführen.

Verwenden Sie den Befehl gcloud lustre instances describe oder rufen Sie die Seite Instanzen in der Google Cloud -Konsole auf, um die IP-Adresse und den Dateisystemnamen für Ihre Instanz abzurufen.

gcloud lustre instances describe INSTANCE_NAME \
  --location=ZONE

mount

Verwenden Sie in der Befehlszeile Ihrer Compute Engine-VM den Befehl mount, um die Managed Lustre-Instanz manuell zu mounten:

sudo mkdir -p ~/MOUNT_DIR
sudo mount -t lustre IP_ADDRESS:/FILESYSTEM_NAME ~/MOUNT_DIR

Wobei:

  • IP_ADDRESS ist die IP-Adresse Ihrer Managed Lustre-Instanz.

  • FILESYSTEM_NAME ist der Dateisystemname Ihrer Instanz.

  • ~/MOUNT_DIR ist das von Ihnen erstellte lokale Bereitstellungspunktverzeichnis.

/etc/fstab

Über die Befehlszeile Ihrer Compute Engine-VM:

  1. Erstellen Sie ein lokales Verzeichnis für den Bereitstellungspunkt:

    sudo mkdir -p ~/MOUNT_DIR
    
  2. Öffnen Sie die Datei /etc/fstab zur Bearbeitung und fügen Sie die folgende Zeile hinzu:

    IP_ADDRESS@tcp:/FILESYSTEM_NAME ~/MOUNT_DIR lustre defaults,_netdev 0 0
    

    Wobei:

    • IP_ADDRESS ist die IP-Adresse Ihrer Managed Lustre-Instanz.

    • FILESYSTEM_NAME ist der Dateisystemname Ihrer Instanz.

    • ~/MOUNT_DIR ist das von Ihnen erstellte lokale Bereitstellungspunktverzeichnis.

    • lustre defaults,_netdev 0 0 sind die empfohlenen Mount-Optionen:

      • lustre gibt den Dateisystemtyp als Lustre an.
      • Bei defaults wird der Standardsatz von Mount-Optionen verwendet.
      • _netdev weist das System an, auf eine Netzwerkverbindung zu warten, bevor es versucht, das Dateisystem bereitzustellen.
      • 0 0 steuert die Reihenfolge von Dumping und Dateisystemprüfung.
  3. Speichern und schließen Sie die Datei /etc/fstab.

  4. Führen Sie den folgenden Befehl aus, um alle in /etc/fstab aufgeführten Dateisysteme zu mounten:

    sudo mount -a
    

Ihre Managed Lustre-Instanz ist jetzt eingebunden. Es wird bei jedem Start Ihrer Compute Engine-VM automatisch eingebunden.

Wenn der Mount-Befehl fehlschlägt, lesen Sie die Anleitung zur Fehlerbehebung, um das Problem zu diagnostizieren.

Erweiterte Netzwerkkonfigurationen

In den folgenden Abschnitten werden erweiterte Netzwerkkonfigurationen beschrieben.

Sekundäre NIC verwenden

Wenn Sie die Managed Lustre-Instanz mit einer sekundären NIC einer Compute Engine-Instanz mit mehreren NICs einbinden, folgen Sie der Anleitung unten.

Dies ist nicht dasselbe wie Multi-NIC.

  1. Konfigurieren Sie LNET so, dass die richtige NIC verwendet wird.

    Kopieren Sie den Inhalt von /etc/lnet.conf in eine Datei mit dem Namen /etc/modprobe.d/lustre.conf auf der VM. Hängen Sie die folgende Zeile an die Datei an und ersetzen Sie eth1 durch den Namen der sekundären NIC:

    options lnet networks="tcp0(eth1)"
    

    Laden Sie das Lustre-Kernelmodul neu:

    lustre_rmmod
    modprobe lustre
    

    Prüfen Sie, ob LNET für die Verwendung der zweiten NIC konfiguriert ist. Die Ausgabe des folgenden Befehls sollte die zweite NIC sein:

    lctl list_nids
    
  2. Fügen Sie über das Gateway der sekundären NIC eine statische Route zum CIDR-Block der verwalteten Lustre-Instanz hinzu.

    • Führen Sie den Befehl route aus, um das Gateway für die sekundäre NIC zu ermitteln.

    • So finden Sie den CIDR-Block der Managed Lustre-Instanz:

      • Rufen Sie die Instanzdetails mit dem Befehl gcloud lustre instances describe ab.
      • Rufen Sie die im Feld mountPoint angegebene Adresse ab.
      • Wandeln Sie die IP-Adresse in einen CIDR-Block mit der Größe 23 um, der sie enthält.

    Wenn der CIDR-Block der Managed Lustre-Instanz beispielsweise 172.16.0.0/24, die sekundäre NIC eth1 und das Gateway 10.130.0.1 ist, führen Sie den folgenden Befehl aus:

    ip route add 172.16.0.0/24 via 10.130.0.1 dev eth1
    

    Die hinzugefügte Route bleibt nicht erhalten, wenn die Compute Engine-Instanz neu gestartet wird. Wie Sie das dauerhaft machen, hängt von der verwendeten Betriebssystemfamilie ab.

Multi-NIC-Routing

Für Compute Engine-Instanzen mit mehreren NICs ist eine manuelle Routingkonfiguration erforderlich, damit der Traffic die zusätzlichen Schnittstellen richtig verwendet.

In den folgenden Schritten wird gezeigt, wie Sie die eth1-Schnittstelle konfigurieren. Wiederholen Sie diese Schritte für jede zusätzliche NIC auf der VM (z.B. eth2, eth3 usw.).

  1. Legen Sie den Namen der Netzwerkschnittstelle fest, rufen Sie dann die interne IP-Adresse ab und berechnen Sie die entsprechende Gateway-IP-Adresse. Das Gateway ist die .1-Adresse des Subnetzes der Schnittstelle.

    IFACE="eth1"
    IFACE_IP=$(ip -4 addr show ${IFACE} | grep -oP '(?<=inet\s)\d+(\.\d+){3}')
    GATEWAY_IP=$(echo ${IFACE_IP} | awk -F. '{print $1"."$2"."$3".1"}')
    
  2. Rufen Sie den IP-Bereich Ihrer Managed Lustre-Instanz ab:

    LUSTRE_CIDR=$(gcloud compute instances describe INSTANCE_NAME --zone=ZONE \
      --format='value(networkInterfaces[0].networkIP)')/23
    
  3. Erstellen Sie eine eindeutige Routingtabelle für die Schnittstelle und wenden Sie die Traffic-Regeln an:

    sudo tee -a /etc/iproute2/rt_tables <<< "100 ${IFACE}_table"
    sudo ip route add ${LUSTRE_CIDR} via ${GATEWAY_IP} dev ${IFACE} table ${IFACE}_table
    sudo ip rule add from ${IFACE_IP} table ${IFACE}_table
    

Auf Ihre Managed Lustre-Instanz zugreifen

Ihre verwaltete Lustre-Instanz ist jetzt auf Ihrer Compute Engine-VM gemountet und kann mit der standardmäßigen POSIX-Syntax gelesen und geschrieben werden. Es gibt jedoch einige Ausnahmen.

Führen Sie den folgenden Befehl aus, um das eingebundene Verzeichnis zu prüfen:

sudo lfs df -h ~/MOUNT_DIR

Mit den folgenden Befehlen können Sie das Kopieren und Schreiben von Dateien testen:

# sample file copy/file write
sudo dd if=/dev/zero of=~/MOUNT_DIR/bigfile1 bs=1M count=8000
sudo dd if=/dev/urandom of=~/MOUNT_DIR/bigfile1 bs=1M count=1000

So prüfen Sie die Speicherplatzbelegung:

sudo lfs df -h ~/MOUNT_DIR

Instanz unmounten

Die Managed Lustre-Instanz kann mit dem folgenden Befehl unmountet werden:

sudo umount ~/MOUNT_DIR

Nächste Schritte