Fehlerbehebung bei Clientverbindungen

Wenn beim Bereitstellen oder Herstellen einer Verbindung zu einem Managed Lustre-Dateisystem auf einer Client-VM oder -Instanz Probleme auftreten, führen Sie die folgenden Schritte aus, um das Problem zu diagnostizieren.

Prüfen, ob die Managed Lustre-Instanz erreichbar ist

Prüfen Sie zuerst, ob Ihre Managed Lustre-Instanz von Ihrer Client-Instanz aus erreichbar ist:

sudo lctl ping IP_ADDRESS@tcp

Informationen zum Abrufen des Werts von IP_ADDRESS finden Sie unter Instanz abrufen.

Bei einem erfolgreichen Ping wird eine Antwort ähnlich der folgenden zurückgegeben:

12345-0@lo
12345-10.115.0.3@tcp

Bei einem fehlgeschlagenen Ping wird Folgendes zurückgegeben:

failed to ping 10.115.0.3@tcp: Input/output error

Wenn der Ping-Befehl fehlschlägt:

  • Ihre Managed Lustre-Instanz und Ihre Client-Instanz müssen sich im selben VPC-Netzwerk befinden. Vergleichen Sie die Ausgabe der folgenden Befehle:

    gcloud compute instances describe VM_NAME \
      --zone=VM_ZONE \
      --format='get(networkInterfaces[0].network)'
    
    gcloud lustre instances describe INSTANCE_NAME \
      --location=ZONE --format='get(network)'
    

    Die Ausgabe sieht so aus:

    https://www.googleapis.com/compute/v1/projects/my-project/global/networks/my-network
    projects/my-project/global/networks/my-network
    

    Die Ausgabe des Befehls gcloud compute instances describe hat das Präfix https://www.googleapis.com/compute/v1/. Alles, was nach diesem String folgt, muss mit der Ausgabe des Befehls gcloud lustre instances describe übereinstimmen.

  • Prüfen Sie die Firewallregeln und Routingkonfigurationen Ihres VPC-Netzwerk, um sicherzustellen, dass sie Traffic zwischen Ihrer Clientinstanz und der Managed Lustre-Instanz zulassen.

LNet-Akzeptanzport prüfen (Legacy-Instanzen)

Das Flag --gke-support-enabled ist zwar veraltet und beim Erstellen neuer Managed Lustre-Instanzen nicht mehr erforderlich, aber möglicherweise haben Sie ältere Instanzen, die mit diesem Flag erstellt wurden.

Wenn Sie eine Verbindung zu einer Legacy-Instanz herstellen, für die GKE-Unterstützung aktiviert wurde, müssen Sie LNet auf allen Client-Compute Engine-Instanzen für die Verwendung von accept_port 6988 konfigurieren. Weitere Informationen finden Sie unter LNet für gke-support-enabled-Instanzen konfigurieren.

Führen Sie den folgenden Befehl aus, um festzustellen, ob eine vorhandene Instanz mit diesem Legacy-Flag konfiguriert wurde:

gcloud lustre instances describe INSTANCE_NAME \
  --location=LOCATION | grep gkeSupportEnabled

Wenn der Befehl gkeSupportEnabled: true zurückgibt, müssen Sie LNet auf Ihren Client-VMs konfigurieren.

Ubuntu-Kernelversion stimmt nicht mit Lustre-Client überein

Bei Compute Engine-Instanzen, auf denen Ubuntu ausgeführt wird, muss die Ubuntu-Kernelversion mit der jeweiligen Version der Lustre-Clientpakete übereinstimmen. Wenn Ihre Lustre-Client-Tools fehlschlagen, prüfen Sie, ob Ihre Compute Engine-Instanz automatisch auf einen neueren Kernel aktualisiert wurde.

So prüfen Sie Ihre Kernelversion:

uname -r

Die Antwort sieht in etwa so aus:

6.8.0-1029-gcp

So prüfen Sie die Version Ihres Lustre-Clientpakets:

dpkg -l | grep -i lustre

Die Antwort sieht in etwa so aus:

ii  lustre-client-modules-6.8.0-1029-gcp 2.14.0-ddn198-1  amd64  Lustre Linux kernel module (kernel 6.8.0-1029-gcp)
ii  lustre-client-utils                  2.14.0-ddn198-1  amd64  Userspace utilities for the Lustre filesystem (client)

Wenn die Kernelversionen, die von beiden Befehlen aufgeführt werden, nicht übereinstimmen, müssen Sie die Lustre-Clientpakete neu installieren.

dmesg auf Lustre-Fehler prüfen

Viele Lustre-Warnungen und ‑Fehler werden im Linux-Kernel-Ringpuffer protokolliert. Mit dem Befehl dmesg wird der Kernel-Ringpuffer ausgegeben.

Wenn Sie nach Lustre-spezifischen Nachrichten suchen möchten, verwenden Sie grep in Verbindung mit dmesg:

dmesg | grep -i lustre

Oder suchen Sie nach allgemeineren Fehlern, die möglicherweise damit zusammenhängen:

dmesg | grep -i error

Bereitstellung von Lustre auf einer VM mit mehreren NICs schlägt fehl

Wenn eine VM mehrere Netzwerkschnittstellen-Controller (NICs) hat und sich die Managed Lustre-Instanz in einer VPC befindet, die mit einer sekundären NIC (z. B. eth1) verbunden ist, kann das Mounten der Instanz fehlschlagen. Folgen Sie der Anleitung zum Einbinden mit einer sekundären NIC, um dieses Problem zu beheben.

Verbindung aus dem Subnetzbereich 172.17.0.0/16 nicht möglich

Compute Engine- und GKE-Clients mit einer IP-Adresse im Subnetzbereich 172.17.0.0/16 können keine Managed Lustre-Instanzen einbinden.

Kein Zugriff auf Managed Lustre über ein Peering-Projekt

Wenn sich Ihre Client-VMs oder GKE-Cluster in einem VPC-Netzwerk mit Peering befinden und keine Verbindung zu Ihrer Managed Lustre-Instanz herstellen können, prüfen Sie Folgendes:

  • Network Connectivity Center-Routing (NCC): Durch VPC-Peering allein wird kein Traffic an die Verbindung für den Zugriff auf private Dienste weitergeleitet, die von Managed Lustre verwendet wird. Wenn Sie eine Verbindung zwischen VPC-Netzwerken mit Peering herstellen möchten, müssen Sie beide Netzwerke über Network Connectivity Center (NCC) verbinden.
  • Firewallregeln:Achten Sie darauf, dass Firewallregeln sowohl im Host-VPC-Netzwerk als auch im verbundenen VPC-Netzwerk TCP-Traffic auf den Ports 988 und 6988 zwischen Client-Subnetzen und dem zugewiesenen IP-Bereich ($CIDR_BLOCK) der Instanz zulassen.

Eine detaillierte Anleitung zur Einrichtung und gcloud-Befehle finden Sie unter VPC-Netzwerk konfigurieren.

Bereitstellung auf Shielded VMs (Secure Boot) schlägt fehl

Managed Lustre kann nicht auf Shielded VMs bereitgestellt werden. Der Versuch, das Lustre-Kernelmodul in einer Secure Boot-Umgebung zu laden, schlägt mit dem folgenden Fehler fehl: ERROR: could not insert 'lustre': Required key not available.

Informationen, die in einer Supportanfrage enthalten sein sollten

Wenn Sie den Mount-Fehler nicht beheben können, sammeln Sie Diagnoseinformationen, bevor Sie eine Supportanfrage erstellen. Sie benötigen SSH-Zugriff auf Ihren Clientcomputer, um die Befehle in diesem Abschnitt auszuführen.

Das sosreport-Dienstprogramm erfasst Systemlogs und Konfigurationsinformationen und generiert eine komprimierte TAR-Datei.

Um einen sosreport zu generieren, stellen Sie eine SSH-Verbindung zu Ihrem Clientcomputer her. Führen Sie dann diesen Befehl aus:

sudo sos report --all-logs --batch --tmp-dir=/var

Wenn der Befehl nicht gefunden wird:

Rocky Linux und RHEL

Verwenden Sie den Paketmanager dnf, um das Paket sos zu installieren:

sudo dnf install -y sos

Ubuntu

Verwenden Sie den Paketmanager apt, um das Paket sosreport zu installieren:

sudo apt update
sudo apt install -y sosreport

Container-Optimized OS

Verwenden Sie den Paketmanager apt in der Toolbox, um das Paket sosreport zu installieren:

sudo toolbox
sudo apt install sosreport -y

Hängen Sie das Archiv sosreport an Ihre Supportanfrage an.

Weitere Informationen zum sosreport-Dienstprogramm finden Sie unter Debugging-Informationen mit sosreport erfassen.