Lustre Clients for Ubuntu
Build and install Lustre clients for Ubuntu so that you can access a File Storage with Lustre file system.
Building Clients
Build a Lustre client compatible with your version of Ubuntu, then install the client.
Build a Lustre client on one system and then install the client package on each instance that mounts a Lustre file system.
-
Lustre 2.15.5 isn't compatible with Linux kernel 6. The client needs a kernel version of
5.15.x
. Check the OS and kernel versions and kernel headers packagelinux-headers
using the following commands:cat /etc/os-release
uname -r
In this example, the compatible kernel version used is
5.15.0-1040-oracle
.If the required kernel is installed, check that the corresponding kernel headers package
linux-headers
is also installed.-
If a different kernel version is installed, install the required kernel version and kernel headers using the following commands, which use the example version of
5.15.0-1040-oracle
: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
Note
You might only need to install thelinux-headers
packages if the required kernel is already installed. -
Update grub using the following command:
sudo update-grub
-
Inspect the
/boot/grub/grub.cfg
to get the entry for the kernel version and update the entryGRUB_DEFAULT
in the file/etc/default/grub
as follows:GRUB_DEFAULT='Advanced options for Ubuntu>Ubuntu, with Linux 5.15.0-1040-oracle'
-
Update grub using the following command:
sudo update-grub
-
Reboot the client using the following command:
sudo reboot
After the reboot, ensure that the correct kernel version is running.
-
-
Clone the Lustre client source repo and checkout the client using the following commands:
git clone https://github.com/lustre/lustre-release.git lustre-client
cd lustre-client/
git checkout tags/2.15.5
-
Install common packages using the following command:
sudo apt-get install -y libreadline-dev libpython3-dev libkrb5-dev libkeyutils-dev flex bison libmount-dev quilt swig libtool make 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 debhelper libsnmp-dev mpi-default-dev libssl-dev python3-distutils-extra rsync
-
Configure the client:
cd lustre-client
sudo sh autogen.sh
./configure --enable-client
-
Edit the Debian control files to remove dependencies with latest
linux-image
andlinux-headers
packages. This removes dependency so that package manager doesn't look for these dependencies during package management. These dependencies must be installed manually. This enables the use of different kernel versions than the default available with Linux distribution. Without removing these dependencies, building the packages will fail. Edit the control files such as:vi debian/control.main
Remove all the references in the two files, such as:
linux-headers-generic | linux-headers-amd64 | linux-headers-arm64 , linux-image | linux-image-amd64 | linux-image-arm64, linux-headers-generic | linux-headers-amd64
-
Build the
debs
packages using the following commands:sudo make debs
-
Inspect the packages:
ls -l debs/*.deb
- Move the
*.deb
packages to a safe place. -
Build the
dkms-debs
packages using the following command:sudo make dkms-debs
-
If you plan to install the Lustre client on the same instance you built it, run the following commands:
sudo make install
sudo depmod
sudo modprobe lustre
Proceed to Installing on Ubuntu 22.04 x86_64.
Build a Lustre client on one system and then install the client package on each instance that mounts a Lustre file system.
-
Check the OS and kernel versions using the following commands:
cat /etc/os-release
uname -r
In this example, the compatible kernel version used is
5.15.0-1002-oracle
.If the required kernel is installed, check that the corresponding kernel headers package
linux-headers
is also installed.-
If a different kernel version is installed, install the required kernel version and kernel headers using the following commands, which use the example version of
5.15.0-1002-oracle
:sudo apt-get install linux-image-5.15.0-1002-oracle
sudo apt-get install linux-headers-5.15.0-1002-oracle
sudo apt-get install linux-modules-5.15.0-1002-oracle
Note
You might only need to install thelinux-headers
packages if the required kernel is already installed. -
Update grub using the following command:
sudo update-grub
-
Inspect the
/boot/grub/grub.cfg
to get the entry for the kernel version and update the entryGRUB_DEFAULT
in the file/etc/default/grub
as follows:GRUB_DEFAULT='Advanced options for Ubuntu>Ubuntu, with Linux 5.15.0-1002-oracle'
-
Update grub using the following command:
sudo update-grub
-
Reboot the client using the following command:
sudo reboot
After the reboot, ensure that the correct kernel version is running.
-
-
Clone the Lustre client source repo and checkout the client using the following commands:
git clone https://github.com/lustre/lustre-release.git lustre-client
cd lustre-client/
git checkout tags/2.15.90
-
Install common packages using the following command:
sudo apt-get install -y libreadline-dev libpython3-dev libkrb5-dev libkeyutils-dev flex bison libmount-dev quilt swig libtool make 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 debhelper libsnmp-dev mpi-default-dev libssl-dev python3-distutils-extra rsync
-
Configure the client:
cd lustre-client
sudo sh autogen.sh
./configure --enable-client
-
Edit the Debian control files to remove dependencies with latest
linux-image
andlinux-headers
packages. This removes dependency so that package manager doesn't look for these dependencies during package management. These dependencies must be installed manually. This enables the use of different kernel versions than the default available with Linux distribution. Without removing these dependencies, building the packages will fail. Edit the control files such as:vi debian/control.main
Remove all the references in the two files, such as:
linux-headers-generic | linux-headers-amd64 | linux-headers-arm64 , linux-image | linux-image-amd64 | linux-image-arm64, linux-headers-generic | linux-headers-amd64
-
Build the
debs
packages using the following commands:sudo make debs
-
Inspect the packages:
ls -l debs/*.deb
- Move the
*.deb
packages to a safe place. -
Build the
dkms-debs
packages using the following command:sudo make dkms-debs
-
If you plan to install the Lustre client on the same instance you built it, run the following commands:
sudo make install
sudo depmod
sudo modprobe lustre
Proceed to Installing on Ubuntu 22.04 aarch64.
Build a Lustre client on one system and then install the client package on each instance that mounts a Lustre file system.
-
Check the OS and kernel versions using the following commands:
cat /etc/os-release
uname -r
In this example, the compatible kernel version used is
6.8.0-1022-oracle
.If the required kernel is installed, check that the corresponding kernel headers package
linux-headers
is also installed.-
If a different kernel version is installed, install the required kernel version and kernel headers using the following commands, which use the example version of
6.8.0-1022-oracle
:sudo apt-get install linux-image-6.8.0-1022-oracle-oracle
sudo apt-get install linux-headers-6.8.0-1022-oracle-oracle
sudo apt-get install linux-modules-6.8.0-1022-oracle-oracle
Note
You might only need to install thelinux-headers
packages if the required kernel is already installed. -
Update grub using the following command:
sudo update-grub
-
Inspect the
/boot/grub/grub.cfg
to get the entry for the kernel version and update the entryGRUB_DEFAULT
in the file/etc/default/grub
as follows:GRUB_DEFAULT='Advanced options for Ubuntu>Ubuntu, with Linux 6.8.0-1022-oracle'
-
Update grub using the following command:
sudo update-grub
-
Reboot the client using the following command:
sudo reboot
After the reboot, ensure that the correct kernel version is running.
-
-
Clone the Lustre client source repo and checkout the client using the following commands:
git clone https://github.com/lustre/lustre-release.git lustre-client
cd lustre-client/
git checkout tags/2.15.90
-
Install common packages using the following command:
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 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 debhelper libsnmp-dev mpi-default-dev python3-distutils-extra rsync
-
Configure the client:
cd lustre-client
sudo sh autogen.sh
./configure --enable-client
-
Edit the Debian control files to remove dependencies with latest
linux-image
andlinux-headers
packages. This removes dependency so that package manager doesn't look for these dependencies during package management. These dependencies must be installed manually. This enables the use of different kernel versions than the default available with Linux distribution. Without removing these dependencies, building the packages will fail. Edit the control files such as:vi debian/control.main
Remove all the references in the two files, such as:
linux-headers-generic | linux-headers-amd64 | linux-headers-arm64 , linux-image | linux-image-amd64 | linux-image-arm64, linux-headers-generic | linux-headers-amd64
-
Build the
debs
packages using the following commands:sudo make debs
-
Inspect the packages:
ls -l debs/*.deb
- Move the
*.deb
packages to a safe place. -
Build the
dkms-debs
packages using the following command:sudo make dkms-debs
-
If you plan to install the Lustre client on the same instance you built it, run the following commands:
sudo make install
sudo depmod
sudo modprobe lustre
Proceed to Installing on Ubuntu 24.04 x86_64.
Build a Lustre client on one system and then install the client package on each instance that mounts a Lustre file system.
-
Check the OS and kernel versions using the following commands:
cat /etc/os-release
uname -r
In this example, the compatible kernel version used is
6.8.0-1026-oracle
.If the required kernel is installed, check that the corresponding kernel headers package
linux-headers
is also installed.-
If a different kernel version is installed, install the required kernel version and kernel headers using the following commands, which use the example version of
6.8.0-1026-oracle
:sudo apt-get install linux-image-6.8.0-1026-oracle
sudo apt-get install linux-headers-6.8.0-1026-oracle
sudo apt-get install linux-modules-6.8.0-1026-oracle
Note
You might only need to install thelinux-headers
packages if the required kernel is already installed. -
Update grub using the following command:
sudo update-grub
-
Inspect the
/boot/grub/grub.cfg
to get the entry for the kernel version and update the entryGRUB_DEFAULT
in the file/etc/default/grub
as follows:GRUB_DEFAULT='Advanced options for Ubuntu>Ubuntu, with Linux 6.8.0-1026-oracle'
-
Update grub using the following command:
sudo update-grub
-
Reboot the client using the following command:
sudo reboot
After the reboot, ensure that the correct kernel version is running.
-
-
Clone the Lustre client source repo and checkout the client using the following commands:
git clone https://github.com/lustre/lustre-release.git lustre-client
cd lustre-client/
git checkout tags/2.15.90
-
Install common packages using the following command:
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 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 debhelper libsnmp-dev mpi-default-dev python3-distutils-extra rsync
-
Configure the client:
cd lustre-client
sudo sh autogen.sh
./configure --enable-client
-
Edit the Debian control files to remove dependencies with latest
linux-image
andlinux-headers
packages. Without removing these dependencies, building the packages will fail. Edit the control files such as:vi debian/control*
Remove all the references in the two files, such as:
linux-headers-generic | linux-headers-amd64 | linux-headers-arm64 , linux-image | linux-image-amd64 | linux-image-arm64, linux-headers-generic | linux-headers-amd64
-
Build the packages using the following commands:
sudo make debs
sudo make dkms-debs
-
Inspect the packages:
ls -l debs/*.deb
-
If you plan to install the Lustre client on the same instance you built it, run the following commands:
sudo make install
sudo depmod
sudo modprobe lustre
Proceed to Installing on Ubuntu 24.04 aarch64.
Installing Clients
Use the following sections to install Lustre clients for Ubuntu. These steps assume that you already built a Lustre client for Ubuntu.
These steps assume that you already built a Lustre client for Ubuntu 22.
-
Lustre 2.15.5 isn't compatible with Linux kernel 6. The client needs a kernel version of
5.15.x
. Check the OS and kernel versions using the following commands:cat /etc/os-release
uname -r
In this example, the compatible kernel version used is
5.15.0-1040-oracle
. -
If a different kernel version is installed, install the required kernel version and kernel headers using the following commands, which use the example version of
5.15.0-1040-oracle
: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
-
Update grub using the following command:
sudo update-grub
-
Update the entry
GRUB_DEFAULT
in the file/etc/default/grub
as follows:GRUB_DEFAULT='Advanced options for Ubuntu>Ubuntu, with Linux 5.15.0-1040-oracle'
-
Update grub using the following command:
sudo update-grub
- Reboot the client using
sudo reboot
. After the reboot, ensure that the correct kernel version is running. -
Copy the package files that you built to the instance where you want to install the Lustre client. In the following example
debs
directory, the DKMS kernel module package was selected for its flexibility, but you may choose non-DKMS module RPMs if you prefer: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
-
Install the packages using the following commands:
sudo apt-get update
sudo apt install --fix-broken ./*.deb
-
Test the modules using the following commands:
sudo modprobe lustre
sudo lsmod |grep lustre
-
The Lustre client is ready. Reboot the system.
These steps assume that you already built a Lustre client for Ubuntu 22.
-
Check the OS and kernel versions using the following commands:
cat /etc/os-release
uname -r
In this example, the compatible kernel version used is
5.15.0-1002-oracle
. -
If a different kernel version is installed, install the required kernel version and kernel headers using the following commands, which use the example version of
5.15.0-1002-oracle
:sudo apt-get install linux-image-5.15.0-1002-oracle
sudo apt-get install linux-headers-5.15.0-1002-oracle
sudo apt-get install linux-modules-5.15.0-1002-oracle
-
Update grub using the following command:
sudo update-grub
-
Update the entry
GRUB_DEFAULT
in the file/etc/default/grub
as follows:GRUB_DEFAULT='Advanced options for Ubuntu>Ubuntu, with Linux 5.15.0-1002-oracle'
-
Update grub using the following command:
sudo update-grub
- Reboot the client using
sudo reboot
. After the reboot, ensure that the correct kernel version is running. -
Copy the package files that you built to the instance where you want to install the Lustre client. In the following example
debs
directory, the DKMS kernel module package was selected for its flexibility, but you may choose non-DKMS module RPMs if you prefer:-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
-
Install the packages using the following commands:
sudo apt-get update
sudo apt install --fix-broken ./*.deb
-
Test the modules using the following commands:
sudo modprobe lustre
sudo lsmod |grep lustre
-
The Lustre client is ready. Reboot the system.
These steps assume that you already built a Lustre client for Ubuntu 24.
-
Check the OS and kernel versions using the following commands:
cat /etc/os-release
uname -r
In this example, the compatible kernel version used is
6.8.0-1022-oracle
. -
If a different kernel version is installed, install the required kernel version and kernel headers using the following commands, which use the example version of
6.8.0-1022-oracle
:sudo apt-get install linux-image-6.8.0-1022-oracle
sudo apt-get install linux-headers-6.8.0-1022-oracle
sudo apt-get install linux-modules-6.8.0-1022-oracle
-
Update grub using the following command:
sudo update-grub
-
Update the entry
GRUB_DEFAULT
in the file/etc/default/grub
as follows:GRUB_DEFAULT='Advanced options for Ubuntu>Ubuntu, with Linux 6.8.0-1022-oracle'
-
Update grub using the following command:
sudo update-grub
- Reboot the client using
sudo reboot
. After the reboot, ensure that the correct kernel version is running. -
Copy the package files that you built to the instance where you want to install the Lustre client. In the following example
debs
directory, the DKMS kernel module package was selected for its flexibility, but you may choose non-DKMS module RPMs if you prefer:-rw-r--r-- 1 ubuntu ubuntu 17058172 Apr 2 02:26 lustre-client-modules-dkms_2.15.90-1_amd64.deb -rw-r--r-- 1 ubuntu ubuntu 678790 Apr 2 02:26 lustre-client-utils_2.15.5-1_amd64.deb
-
Install the packages using the following commands:
sudo apt-get update
sudo apt install --fix-broken ./*.deb
-
Test the modules using the following commands:
sudo modprobe lustre
In a success case, the output should be empty.
sudo lsmod |grep lustre
-
The Lustre client is ready. Reboot the system.
These steps assume that you already built a Lustre client for Ubuntu 24.
-
Check the OS and kernel versions using the following commands:
cat /etc/os-release
uname -r
In this example, the compatible kernel version used is
6.8.0-1026-oracle
. -
If a different kernel version is installed, install the required kernel version and kernel headers using the following commands, which use the example version of
6.8.0-1026-oracle
:sudo apt-get install linux-image-6.8.0-1026-oracle
sudo apt-get install linux-headers-6.8.0-1026-oracle
sudo apt-get install linux-modules-6.8.0-1026-oracle
-
Update grub using the following command:
sudo update-grub
-
Update the entry
GRUB_DEFAULT
in the file/etc/default/grub
as follows:GRUB_DEFAULT='Advanced options for Ubuntu>Ubuntu, with Linux 6.8.0-1026-oracle'
-
Update grub using the following command:
sudo update-grub
- Reboot the client using
sudo reboot
. After the reboot, ensure that the correct kernel version is running. -
Copy the package files that you built to the instance where you want to install the Lustre client. In the following example
debs
directory, the DKMS kernel module package was selected for its flexibility, but you may choose non-DKMS module RPMs if you prefer:-rw-r--r-- 1 ubuntu ubuntu 17058172 Apr 2 02:26 lustre-client-modules-dkms_2.15.90-1_aarch64.deb -rw-r--r-- 1 ubuntu ubuntu 678790 Apr 2 02:26 lustre-client-utils_2.15.5-1_aarch64.deb
-
Install the packages using the following commands:
sudo apt-get update
sudo apt install --fix-broken ./*.deb
-
Test the modules using the following commands:
sudo modprobe lustre
sudo lsmod |grep lustre
-
The Lustre client is ready. Reboot the system.