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-headersusing the following commands:cat /etc/os-releaseuname -rIn 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-headersis 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-oraclesudo apt-get install linux-headers-5.15.0-1040-oraclesudo apt-get install linux-modules-5.15.0-1040-oracleNote
 You might only need to install thelinux-headerspackages if the required kernel is already installed.
- 
Update grub using the following command: sudo update-grub
- 
Inspect the /boot/grub/grub.cfgto get the entry for the kernel version and update the entryGRUB_DEFAULTin the file/etc/default/grubas 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 rebootAfter 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-clientcd 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-clientsudo sh autogen.sh./configure --enable-client
- 
Edit the Debian control files to remove dependencies with latest linux-imageandlinux-headerspackages. 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.mainRemove 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 debspackages using the following commands:sudo make debs
- 
Inspect the packages: ls -l debs/*.deb
- Move the *.debpackages to a safe place.
- 
Build the dkms-debspackages 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 installsudo depmodsudo 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-releaseuname -rIn 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-headersis 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-oraclesudo apt-get install linux-headers-5.15.0-1002-oraclesudo apt-get install linux-modules-5.15.0-1002-oracleNote
 You might only need to install thelinux-headerspackages if the required kernel is already installed.
- 
Update grub using the following command: sudo update-grub
- 
Inspect the /boot/grub/grub.cfgto get the entry for the kernel version and update the entryGRUB_DEFAULTin the file/etc/default/grubas 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 rebootAfter 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-clientcd 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-clientsudo sh autogen.sh./configure --enable-client
- 
Edit the Debian control files to remove dependencies with latest linux-imageandlinux-headerspackages. 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.mainRemove 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 debspackages using the following commands:sudo make debs
- 
Inspect the packages: ls -l debs/*.deb
- Move the *.debpackages to a safe place.
- 
Build the dkms-debspackages 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 installsudo depmodsudo 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-releaseuname -rIn 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-headersis 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-oraclesudo apt-get install linux-headers-6.8.0-1022-oracle-oraclesudo apt-get install linux-modules-6.8.0-1022-oracle-oracleNote
 You might only need to install thelinux-headerspackages if the required kernel is already installed.
- 
Update grub using the following command: sudo update-grub
- 
Inspect the /boot/grub/grub.cfgto get the entry for the kernel version and update the entryGRUB_DEFAULTin the file/etc/default/grubas 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 rebootAfter 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-clientcd 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-clientsudo sh autogen.sh./configure --enable-client
- 
Edit the Debian control files to remove dependencies with latest linux-imageandlinux-headerspackages. 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.mainRemove 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 debspackages using the following commands:sudo make debs
- 
Inspect the packages: ls -l debs/*.deb
- Move the *.debpackages to a safe place.
- 
Build the dkms-debspackages 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 installsudo depmodsudo 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-releaseuname -rIn 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-headersis 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-oraclesudo apt-get install linux-headers-6.8.0-1026-oraclesudo apt-get install linux-modules-6.8.0-1026-oracleNote
 You might only need to install thelinux-headerspackages if the required kernel is already installed.
- 
Update grub using the following command: sudo update-grub
- 
Inspect the /boot/grub/grub.cfgto get the entry for the kernel version and update the entryGRUB_DEFAULTin the file/etc/default/grubas 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 rebootAfter 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-clientcd 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-clientsudo sh autogen.sh./configure --enable-client
- 
Edit the Debian control files to remove dependencies with latest linux-imageandlinux-headerspackages. 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 debssudo 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 installsudo depmodsudo 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-releaseuname -rIn 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-oraclesudo apt-get install linux-headers-5.15.0-1040-oraclesudo apt-get install linux-modules-5.15.0-1040-oracle
- 
Update grub using the following command: sudo update-grub
- 
Update the entry GRUB_DEFAULTin the file/etc/default/grubas 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 debsdirectory, 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 updatesudo apt install --fix-broken ./*.deb
- 
Test the modules using the following commands: sudo modprobe lustresudo 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-releaseuname -rIn 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-oraclesudo apt-get install linux-headers-5.15.0-1002-oraclesudo apt-get install linux-modules-5.15.0-1002-oracle
- 
Update grub using the following command: sudo update-grub
- 
Update the entry GRUB_DEFAULTin the file/etc/default/grubas 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 debsdirectory, 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 updatesudo apt install --fix-broken ./*.deb
- 
Test the modules using the following commands: sudo modprobe lustresudo 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-releaseuname -rIn 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-oraclesudo apt-get install linux-headers-6.8.0-1022-oraclesudo apt-get install linux-modules-6.8.0-1022-oracle
- 
Update grub using the following command: sudo update-grub
- 
Update the entry GRUB_DEFAULTin the file/etc/default/grubas 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 debsdirectory, 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 updatesudo apt install --fix-broken ./*.deb
- 
Test the modules using the following commands: sudo modprobe lustreIn 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-releaseuname -rIn 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-oraclesudo apt-get install linux-headers-6.8.0-1026-oraclesudo apt-get install linux-modules-6.8.0-1026-oracle
- 
Update grub using the following command: sudo update-grub
- 
Update the entry GRUB_DEFAULTin the file/etc/default/grubas 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 debsdirectory, 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 updatesudo apt install --fix-broken ./*.deb
- 
Test the modules using the following commands: sudo modprobe lustresudo lsmod |grep lustre
- 
The Lustre client is ready. Reboot the system.