Wenn Ihre Organisation benutzerdefinierte Kernel verwendet oder bestimmte Umgebungskonfigurationen erforderlich sind, sind die Standard-Lustre-Pakete möglicherweise nicht kompatibel.
In diesen Fällen unterstützt Managed Lustre Dynamic Kernel Module Support (DKMS). DKMS ist ein Framework zum Verwalten von Linux-Kernelmodulen, deren Quellcode außerhalb des Haupt-Kernelbaums liegt. Die Hauptfunktion besteht darin, diese Module automatisch neu zu erstellen und zu installieren, wenn ein neuer Kernel installiert wird. So wird die Kompatibilität ohne manuellen Eingriff gewährleistet.
Vorkompilierte Kernelmodule sind zwar weiterhin der empfohlene Installationspfad für die meisten Nutzer, DKMS bietet jedoch eine Alternative für Nutzer, die benutzerdefinierte Linux-Kernel verwenden.
Hinweise
Die Verwendung von DKMS für den Managed Lustre-Client ist speziell für fortgeschrittene Nutzer gedacht, die Kompatibilität mit benutzerdefinierten Kerneln benötigen und bereit sind, clientseitige Probleme selbst zu beheben. Im Gegensatz zu vorkompilierten Modulen erfordert DKMS die Installation einer vollständigen Compiler-Toolchain und bestimmter Kernel-Header, was die Angriffsfläche und den Speicherplatzbedarf des Systems erhöht. Da Module bei Bedarf kompiliert werden, müssen Nutzer außerdem mit deutlich längeren Startzeiten für Client-VMs und potenziellen Kompilierungsfehlern bei Kernel-Updates rechnen.
Unterstützte Plattformen
Managed Lustre unterstützt DKMS-Clientpakete für:
- Ubuntu 22.04 LTS
- Ubuntu 24.04 LTS, nur für Arm-VMs.
Voraussetzungen
Für die Verwendung von DKMS muss Ihr System Folgendes enthalten:
Alle Compilerpakete, die zum Kompilieren eines Kernelmoduls erforderlich sind. Dies ist distributionsspezifisch.
Die Header für Ihren spezifischen Kernel. Bei benutzerdefinierten Kerneln müssen Sie den DKMS-Dienst manuell auf den Speicherort des Headers verweisen.
DKMS wird auf Shielded VMs nicht unterstützt.
DKMS und Header installieren
Bevor Sie die Managed Lustre-DKMS-Pakete installieren, müssen Sie das Paket dkms und die richtigen Linux-Kernel-Header für Ihr System installieren.
Die Version der Kernel-Header muss genau mit der Version des Kernels übereinstimmen, den Sie ausführen.
Für Standard-Ubuntu-Kernel
Wenn Sie einen von Ubuntu bereitgestellten Standard-Kernel verwenden, können Sie die erforderlichen Pakete in der Regel mit folgendem Befehl installieren:
sudo apt update
sudo apt install dkms linux-headers-$(uname -r)
Für nicht standardmäßige oder benutzerdefinierte Kernel
Wenn Sie einen benutzerdefinierten Kernel verwenden, sind Sie für das Abrufen und Installieren der richtigen Kernel-Header verantwortlich.
Die Installation von Headern für einen benutzerdefinierten Kernel hängt von der Quelle ab. Kann es erforderlich sein:
- Dokumentation Ihres Betriebssystemanbieters lesen: Ihr Anbieter stellt möglicherweise ein bestimmtes Paket oder Repository für die Kernel-Header bereit.
- Aus der Quelle erstellen: Wenn Sie den Kernel selbst kompiliert haben, müssen Sie die Header möglicherweise aus dem Kernel-Quellbaum erstellen und installieren.
Benutzerdefinierte Speicherorte für Header
DKMS erwartet, die Kernel-Header im Verzeichnis /usr/src/linux-headers-$(uname -r) zu finden.
Der Befehl uname -r wird ausgeführt, um den Kernel-Versionsstring abzurufen und den Pfad zu erstellen. Beispiel: /usr/src/linux-headers-5.15.0-101-generic.
Wenn Ihre Kernel-Header nicht am erwarteten Speicherort installiert sind, müssen Sie den DKMS-Dienst manuell auf diesen Speicherort verweisen. Erstellen Sie dazu einen symbolischen Link von Ihrem benutzerdefinierten Header-Verzeichnis zu dem Speicherort, an dem DKMS sie erwartet.
Wenn sich Ihre Header beispielsweise in /opt/custom-kernel/headers/ befinden, führen Sie den folgenden Befehl aus:
sudo ln -s /opt/custom-kernel/headers/ /usr/src/linux-headers-$(uname -r)
Sie sind dafür verantwortlich, dass die richtigen Kernel-Header ordnungsgemäß installiert sind und für DKMS zugänglich sind. Wenn die Header nicht gefunden werden, kann das DKMS-Paket das Lustre-Kernelmodul nicht erstellen.
Managed Lustre-DKMS-Pakete installieren
So installieren Sie die Managed Lustre-DKMS-Pakete:
Zugriff auf das Repository konfigurieren
Die DKMS-Clientpakete werden im Projekt lustre-client-modules-dkms in Artifact Registry gehostet.
Folgen Sie dieser Anleitung, um Ihre VM für die Installation aus Artifact Registry zu konfigurieren.
Ubuntu 22.04 LTS
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.gpgKonfigurieren Sie Ihre VM für den Zugriff auf Artifact Registry-Pakete:
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.listAktualisieren Sie Apt und installieren Sie das Paket
apt-transport-artifact-registry:sudo apt update && sudo apt install apt-transport-artifact-registryKonfigurieren 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-modules-dkms lustre-client-ubuntu-jammy main" \ | sudo tee -a /etc/apt/sources.list.d/artifact-registry.listAktualisieren Sie Ihre Repository-Quellen:
sudo apt updateWenn der Befehl einen Fehler zurückgibt, prüfen Sie, ob Ihre Compute Engine-VM mit dem Zugriffsbereich „Vollen Zugriff auf alle Cloud APIs zulassen“ erstellt wurde. Weitere Informationen finden Sie unter Zugriff auf Compute Engine-Instanzen gewähren.
Weitere Informationen zu diesen Befehlen finden Sie in der Artifact Registry Dokumentation: VMs für die Installation von Debian-Paketen konfigurieren.
Ubuntu 24.04 LTS
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.gpgKonfigurieren Sie Ihre VM für den Zugriff auf Artifact Registry-Pakete:
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.listAktualisieren Sie Apt und installieren Sie das Paket
apt-transport-artifact-registry:sudo apt update && sudo apt install apt-transport-artifact-registryKonfigurieren 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-modules-dkms lustre-client-ubuntu-noble main" \ | sudo tee -a /etc/apt/sources.list.d/artifact-registry.listAktualisieren Sie Ihre Repository-Quellen:
sudo apt updateWenn der Befehl einen Fehler zurückgibt, prüfen Sie, ob Ihre Compute Engine-VM mit dem Zugriffsbereich „Vollen Zugriff auf alle Cloud APIs zulassen“ erstellt wurde. Weitere Informationen finden Sie unter Zugriff auf Compute Engine-Instanzen gewähren.
Weitere Informationen zu diesen Befehlen finden Sie in der Artifact Registry Dokumentation: VMs für die Installation von Debian-Paketen konfigurieren.
Lustre-Clientpakete installieren
Folgen Sie der Anleitung, um die Lustre-Clientpakete zu installieren.
Ubuntu 22.04 LTS
Führen Sie die folgenden Befehle aus:
sudo apt install lustre-client-modules-dkms/lustre-client-ubuntu-jammy
sudo apt install lustre-client-utils/lustre-client-ubuntu-jammy
Ubuntu 24.04 LTS
Führen Sie die folgenden Befehle aus:
sudo apt install lustre-client-modules-dkms/lustre-client-ubuntu-noble
sudo apt install lustre-client-utils/lustre-client-ubuntu-noble
Bei diesem Schritt werden die Clientpakete kompiliert. Das kann einige Zeit dauern.
Managed Lustre-Instanz bereitstellen und darauf zugreifen
Folgen Sie der Anleitung unter Managed Lustre-Instanz bereitstellen.