Lustre File System mounten und darauf zugreifen
Um auf ein File Storage with Lustre-Dateisystem zuzugreifen, müssen Sie es von einer Compute-Instanz oder einem OKE-Knoten mounten. Auf der Instanz, über die Sie das Dateisystem mounten möchten, müssen Sie einen Lustre-Client installieren. Erstellen Sie zunächst das Lustre-Clientpackage auf einem System, und installieren Sie dann das Clientpackage auf allen Instanzen, die ein Lustre-Dateisystem mounten müssen.
Clients
Ein Lustre-Client, der auf einer Compute-Instanz ausgeführt wird, ist für den Zugriff auf ein Lustre-Dateisystem erforderlich. Erstellen und installieren Sie einen Client, der mit dem Betriebssystem der Instanzen kompatibel ist, die das Dateisystem mounten. Wenn Sie Hilfe bei Lustre-Clients benötigen, wenden Sie sich an den Support.
Erstellen Sie einen Lustre-Client auf einem System, und installieren Sie das Clientpackage dann auf jeder Instanz, die ein Lustre-Dateisystem mountet.
- Um einen Lustre-Client mit Oracle Linux zu verwenden, muss der Kernel in Red Hat Compatible Kernel (RHCK) geändert werden. Das Wechseln von Kernelversionen wird unter Ändern des Standardkernels in Oracle Linux beschrieben.
- Stellen Sie sicher, dass das System den RHCK-Kernel nach dem Neustart ausführt.
-
Installieren Sie erforderliche Packages mit den folgenden Befehlen:
release=$(cat /etc/os-release | grep ^VERSION= |cut -f2 -d\" |cut -f1 -d.)
sudo dnf config-manager --set-enabled ol${release}_codeready_builder
sudo dnf config-manager --enable ol${release}_developer_EPEL
sudo yum-config-manager --enable ol${release}_developer
sudo yum install git libtool patch pkgconfig libnl3-devel.x86_64 libblkid-devel libuuid-devel rpm-build kernel-rpm-macros kernel-devel kernel-abi-whitelists libmount libmount-devel libyaml-devel
-
Klonen Sie das Lustre-Client-Quell-Repository, und checken Sie den Client mit den folgenden Befehlen aus:
git clone git://git.whamcloud.com/fs/lustre-release.git lustre-client
cd lustre-client/
git checkout tags/2.15.5
-
Erstellen Sie den Client und RPMs. Alle Lustre RPMs im aktuellen Verzeichnis werden mit den folgenden Befehlen erstellt:
sudo sh autogen.sh ./configure --enable-client sudo make sudo make rpms sudo make dkms-rpm
-
Prüfen Sie die RPMs:
ls -l *.rpm
-
Wenn Sie den Lustre-Client auf derselben Instanz installieren möchten, die Sie erstellt haben, führen Sie die folgenden Befehle aus:
sudo make install
sudo depmod
sudo modprobe lustre
Fahren Sie mit Installieren eines Lustre-Clients für Oracle Linux 8 fort.
Bei diesen Schritten wird davon ausgegangen, dass Sie bereits einen Lustre-Client für Oracle Linux erstellt haben.
In diesem Beispiel wird das Lustre Dynamic Kernel Module Support-(DKMS-)Clientpackage für seine Flexibilität über verschiedene Kernelversionen hinweg verwendet. Wenn Sie jedoch den DKMS-Client verwenden, müssen Lustre-Module erstellt werden, wenn er installiert ist oder der Kernel aktualisiert wird. Sie können die RPMs auswählen, die Sie installieren möchten, wie das Nicht-DKMS-Package kmod-lustre-client
für die Linux-Module.
-
Erstellen Sie ein Verzeichnis auf der Instanz, in der Sie den Lustre-Client installieren möchten. Beispiel:
mkdir lustre-rpms
-
Kopieren Sie die Lustre RPMs. In diesem Beispiel verwenden wir die DKMS-RPMs, wie:
lustre-client-2.15.5-1.el8.x86_64.rpm lustre-client-dkms-2.15.5-1.el8.noarch.rpm
- Um einen Lustre-Client mit Oracle Linux zu verwenden, muss der Kernel in Red Hat Compatible Kernel (RHCK) geändert werden. Das Wechseln von Kernelversionen wird unter Ändern des Standardkernels in Oracle Linux beschrieben.
- Stellen Sie sicher, dass das System den RHCK-Kernel nach dem Neustart ausführt.
-
Aktivieren Sie das erforderliche Linux-Repository für Abhängigkeiten, und installieren Sie Abhängigkeiten mit den folgenden Befehlen:
release=$(cat /etc/os-release | grep ^VERSION= |cut -f2 -d\" |cut -f1 -d.)
sudo dnf config-manager --set-enabled ol${release}_codeready_builder
sudo dnf config-manager --enable ol${release}_developer_EPEL
sudo yum install dkms libmount-devel libyaml-devel
-
Installieren Sie die Client-RPMs mit dem folgenden Befehl:
sudo yum localinstall -y ./*.rpm
-
Testen Sie die Module mit den folgenden Befehlen:
sudo modprobe lustre
sudo lsmod |grep lustre
-
Der Lustre-Client ist bereit. Starten Sie das System neu.
Erstellen Sie einen Lustre-Client auf einem System, und installieren Sie das Clientpackage dann auf jeder Instanz, die ein Lustre-Dateisystem mountet.
-
Lustre 2.15.5 ist nicht kompatibel mit Linux-Kernel 6. Der Client benötigt eine Kernelversion von
5.15.x
. Prüfen Sie die BS- und Kernel-Versionen mit den folgenden Befehlen:cat /etc/os-release
uname -r
In diesem Beispiel ist die verwendete kompatible Kernelversion
5.15.0-1040-oracle
. -
Wenn eine andere Kernelversion installiert ist, installieren Sie die erforderliche Kernelversion und die Kernel-Header mit den folgenden Befehlen, die die Beispielversion von
5.15.0-1040-oracle
verwenden:sudo apt-get install linux-image-5.15.0-1040-oracle
sudo apt-get install linux-headers-5.15.0-1040-oracle
sudo apt-get install linux-modules-5.15.0-1040-oracle
-
Aktualisieren Sie grub mit dem folgenden Befehl:
sudo update-grub
-
Prüfen Sie die Datei
/boot/grub/grub.cfg
, um den Eintrag für die Kernelversion abzurufen, und aktualisieren Sie den EintragGRUB_DEFAULT
in der Datei/etc/default/grub
wie folgt:GRUB_DEFAULT='Advanced options for Ubuntu>Ubuntu, with Linux 5.15.0-1040-oracle'
-
Aktualisieren Sie grub mit dem folgenden Befehl:
sudo update-grub
- Starten Sie den Client mit
sudo reboot
neu. Stellen Sie nach dem Neustart sicher, dass die richtige Kernelversion ausgeführt wird. -
Klonen Sie das Lustre-Client-Quell-Repository, und checken Sie den Client mit den folgenden Befehlen aus:
git clone git://git.whamcloud.com/fs/lustre-release.git lustre-client
cd lustre-client/
git checkout tags/2.15.5
-
Installieren Sie allgemeine Packages mit dem folgenden Befehl:
sudo apt-get install -y libreadline-dev libpython3-dev libkrb5-dev libkeyutils-dev flex bison libmount-dev quilt swig libtool make git libnl-3-dev libnl-genl-3-dev libnl-3-dev pkg-config libhwloc-dev libnl-genl-3-dev libyaml-dev libtool libyaml-dev ed libreadline-dev dpatch libsnmp-dev mpi-default-dev libncurses5-dev libncurses-dev bison flex gnupg libelf-dev gcc libssl-dev bc wget bzip2 build-essential udev kmod cpio module-assistant module-assistant debhelper dpatch libsnmp-dev mpi-default-dev libssl-dev
-
Konfigurieren Sie den Client:
cd lustre-client
sudo sh autogen.sh
./configure --enable-client
-
Bearbeiten Sie die Debian-Kontrolldateien, um Abhängigkeiten mit den neuesten
linux-image
- undlinux-headers
-Paketen zu entfernen. Ohne diese Abhängigkeiten zu entfernen, schlägt das Erstellen der Packages fehl. Bearbeiten Sie die Kontrolldateien wie:vi debian/control*
Entfernen Sie alle Referenzen in den beiden Dateien. Beispiel:
linux-headers-generic | linux-headers-amd64 | linux-headers-arm64 , linux-image | linux-image-amd64 | linux-image-arm64, linux-headers-generic | linux-headers-amd64
-
Erstellen Sie die Packages mit den folgenden Befehlen:
sudo make debs
sudo make dkms-debs
-
Überprüfen Sie die Pakete:
ls -l debs/*.deb
-
Wenn Sie den Lustre-Client auf derselben Instanz installieren möchten, die Sie erstellt haben, führen Sie die folgenden Befehle aus:
sudo make install
sudo depmod
sudo modprobe lustre
Fahren Sie mit Installieren eines Lustre-Clients für Ubuntu 22.04 fort.
Bei diesen Schritten wird davon ausgegangen, dass Sie bereits einen Lustre-Client für Ubuntu erstellt haben.
-
Lustre 2.15.5 ist nicht kompatibel mit Linux-Kernel 6. Der Client benötigt eine Kernelversion von
5.15.x
. Prüfen Sie die BS- und Kernel-Versionen mit den folgenden Befehlen:cat /etc/os-release
uname -r
In diesem Beispiel ist die verwendete kompatible Kernelversion
5.15.0-1040-oracle
. -
Wenn eine andere Kernelversion installiert ist, installieren Sie die erforderliche Kernelversion und die Kernel-Header mit den folgenden Befehlen, die die Beispielversion von
5.15.0-1040-oracle
verwenden:sudo apt-get install linux-image-5.15.0-1040-oracle
sudo apt-get install linux-headers-5.15.0-1040-oracle
sudo apt-get install linux-modules-5.15.0-1040-oracle
-
Aktualisieren Sie grub mit dem folgenden Befehl:
sudo update-grub
-
Aktualisieren Sie den Eintrag
GRUB_DEFAULT
in der Datei/etc/default/grub
wie folgt:GRUB_DEFAULT='Advanced options for Ubuntu>Ubuntu, with Linux 5.15.0-1040-oracle'
-
Aktualisieren Sie grub mit dem folgenden Befehl:
sudo update-grub
- Starten Sie den Client mit
sudo reboot
neu. Stellen Sie nach dem Neustart sicher, dass die richtige Kernelversion ausgeführt wird. -
Kopieren Sie die erstellten Paketdateien in die Instanz, in der Sie den Lustre-Client installieren möchten. Im folgenden Beispielverzeichnis
debs
wurde das DKMS-Kernelmodulpackage aufgrund seiner Flexibilität ausgewählt. Sie können jedoch auch Nicht-DKMS-Modul-RPMs auswählen:rw-r--r-- 1 ubuntu ubuntu 17058172 Apr 2 02:26 lustre-client-modules-dkms_2.15.5-1_amd64.deb -rw-r--r-- 1 ubuntu ubuntu 678790 Apr 2 02:26 lustre-client-utils_2.15.5-1_amd64.deb
-
Installieren Sie die Packages mit den folgenden Befehlen:
sudo apt-get update
sudo apt install --fix-broken ./*.deb
-
Testen Sie die Module mit den folgenden Befehlen:
sudo modprobe lustre
sudo lsmod |grep lustre
-
Der Lustre-Client ist bereit. Starten Sie das System neu.
Mountbefehle
Von einer Instanz mit Lustre-Clientmodulen installiert können Sie ein Dateisystem mounten.
Mountbefehl abrufen
Gehen Sie wie folgt vor, um den Mountbefehl für ein bestimmtes Dateisystem abzurufen:
- Wählen Sie auf der Listenseite Lustre-Dateisysteme das Dateisystem aus, mit dem Sie arbeiten möchten. Wenn Sie Hilfe beim Suchen der Listenseite benötigen, lesen Sie Dateisysteme auflisten.
- Suchen Sie auf der Detailseite des Dateisystems unter Lustre-Eigenschaften den Mount-Befehl.
- Wählen Sie Kopieren, um den Mountbefehl in die Zwischenablage zu kopieren.
Mounten eines Dateisystems
Führen Sie aus der Instanz den Mountbefehl aus, der in den vorherigen Schritten in die Zwischenablage kopiert wurde. Beispiel:
mount -t lustre 10.0.0.2@tcp:/lustrefs /mnt/mymountpoint