Build Lustre packages from source, then install the test packages.
# dnf install -y lustre-tests
Test scripts are present in the /usr/lib64/lustre/tests directory.
# cd /usr/lib64/lustre/tests
Execute the llmount.sh script to deploy a server and a client on a single node.
# ./llmount.sh
Use the lfs command to display Lustre file system information.
# lfs df
UUID 1K-blocks Used Available Use% Mounted on
lustre-MDT0000_UUID 125056 1672 107148 2% /mnt/lustre[MDT:0]
lustre-OST0000_UUID 313104 1408 284536 1% /mnt/lustre[OST:0]
lustre-OST0001_UUID 313104 1408 284536 1% /mnt/lustre[OST:1]
filesystem_summary: 626208 2816 569072 1% /mnt/lustre
Execute the llmountcleanup.sh script to tear down the deployed Lustre file system.
# ./llmountcleanup.sh
Auster is used to run Lustre tests. It supports running test groups, individual tests, or sub-tests. Use the --help option to view all available options.
# ./auster --verbose sanity --only "17b 17c"
mgs: Rocky Linux release 9.7 (Blue Onyx)
MGS_OS_VERSION_ID=9.7
MGS_OS_ID=rocky
MGS_OS_VERSION_CODE=151453696
MGS_OS_ID_LIKE=rhel centos fedora rocky
mds1: Rocky Linux release 9.7 (Blue Onyx)
MDS1_OS_ID=rocky
MDS1_OS_VERSION_CODE=151453696
MDS1_OS_ID_LIKE=rhel centos fedora rocky
MDS1_OS_VERSION_ID=9.7
ost1: Rocky Linux release 9.7 (Blue Onyx)
OST1_OS_VERSION_ID=9.7
OST1_OS_VERSION_CODE=151453696
OST1_OS_ID=rocky
OST1_OS_ID_LIKE=rhel centos fedora rocky
client: Rocky Linux release 9.7 (Blue Onyx)
CLIENT_OS_VERSION_ID=9.7
CLIENT_OS_ID_LIKE=rhel centos fedora rocky
CLIENT_OS_ID=rocky
CLIENT_OS_VERSION_CODE=151453696
Started at Sat Apr 18 11:50:18 AM IST 2026
Lustre is not mounted, trying to do setup ...
Checking servers environments
Checking clients vbox environments
Loading modules from /usr/lib64/lustre
detected 4 online CPUs by sysfs
MODOPTS_LIBCFS=
Force libcfs to create 2 CPU partitions
../libcfs/libcfs/libcfs options: 'cpu_npartitions=2'
Setup mgs, mdt, osts
Start mds1: mount -t lustre -o localrecov /dev/mapper/mds1_flakey /mnt/lustre-mds1
Started lustre-MDT0000
Start ost1: mount -t lustre -o localrecov /dev/mapper/ost1_flakey /mnt/lustre-ost1
seq.cli-lustre-OST0000-super.width=65536
Started lustre-OST0000
/mnt/lustre-ost1: 0 B (0 bytes) trimmed
Start ost2: mount -t lustre -o localrecov /dev/mapper/ost2_flakey /mnt/lustre-ost2
seq.cli-lustre-OST0001-super.width=65536
Started lustre-OST0001
/mnt/lustre-ost2: 0 B (0 bytes) trimmed
Starting client: vbox: -o user_xattr,flock 10.0.2.15@tcp,192.168.56.103@tcp:/lustre /mnt/lustre
Using TIMEOUT=20
osc.lustre-OST0000-osc-ffff9c70785d7800.idle_timeout=debug
osc.lustre-OST0001-osc-ffff9c70785d7800.idle_timeout=debug
disable quota as required
vbox: executing check_logdir /tmp/test_logs/2026-04-18/115017
Logging to shared log directory: /tmp/test_logs/2026-04-18/115017
vbox: executing yml_node
Client: 2.17.50.192
MDS: 2.17.50.192
OSS: 2.17.50.192
running: sanity ONLY=17b 17c
run_suite sanity /usr/lib64/lustre/tests/sanity.sh
-----============= acceptance-small: sanity ============----- Sat Apr 18 11:50:47 AM IST 2026
Running: bash /usr/lib64/lustre/tests/sanity.sh
mgs: Rocky Linux release 9.7 (Blue Onyx)
MGS_OS_VERSION_ID=9.7
MGS_OS_ID=rocky
MGS_OS_VERSION_CODE=151453696
MGS_OS_ID_LIKE=rhel centos fedora rocky
mds1: Rocky Linux release 9.7 (Blue Onyx)
MDS1_OS_ID=rocky
MDS1_OS_VERSION_CODE=151453696
MDS1_OS_ID_LIKE=rhel centos fedora rocky
MDS1_OS_VERSION_ID=9.7
ost1: Rocky Linux release 9.7 (Blue Onyx)
OST1_OS_VERSION_ID=9.7
OST1_OS_VERSION_CODE=151453696
OST1_OS_ID=rocky
OST1_OS_ID_LIKE=rhel centos fedora rocky
client: Rocky Linux release 9.7 (Blue Onyx)
CLIENT_OS_VERSION_ID=9.7
CLIENT_OS_ID_LIKE=rhel centos fedora rocky
CLIENT_OS_ID=rocky
CLIENT_OS_VERSION_CODE=151453696
vbox: /usr/lib64/lustre/tests/except/sanity.0f.ex
vbox: /usr/lib64/lustre/tests/except/sanity.360.ex
vbox: /usr/lib64/lustre/tests/except/sanity.ex
- need _VERSION ( 0) for , skip
- see CLIENT_VERSION > v2_15_63-134-gdacc4b6d38 (34681536 > 34553734) for LU-15963, go 312
- need MDS1_VERSION <= 2.14.55-100-g8a84c7f9c7 (34681536 <= 34486116) for LU-14927, skip 0f
- need MDS1_VERSION <= 2.16.61-1-g89cf292a8c2 (34681536 <= 34618625) for LU-18938, skip 360
- see MDS1_VERSION <= CLIENT_VERSION (34681536 <= 34681536) for LU-18562, go 270a
- need MDS1_VERSION < v2_14_55-100-g8a84c7f9c7 (34681536 < 34486116) for LU-14927, skip 0f
excepting tests: 42a 42c 42b 118c 118d 407 119i 817 906
skipping tests SLOW=no: 27m 60i 64b 68 71 135 136 230d 300o 842
=== sanity: start setup 11:50:48 (1776493248) ===
vbox: executing check_config_client /mnt/lustre
vbox: Checking config lustre mounted on /mnt/lustre
Checking servers environments
Checking clients vbox environments
Using TIMEOUT=20
osc.lustre-OST0000-osc-ffff9c70785d7800.idle_timeout=debug
osc.lustre-OST0001-osc-ffff9c70785d7800.idle_timeout=debug
disable quota as required
osd-ldiskfs.track_declares_assert=1
=== sanity: finish setup 11:50:50 (1776493250) ===
running as uid/gid/euid/egid 500/500/500/500, groups: 500
[true]
running as uid/gid/euid/egid 500/500/500/500, groups: 500
[touch] [/mnt/lustre/d0_runas_test/f83352]
preparing for tests involving mounts
mke2fs 1.47.3-wc2 (11-Nov-2025)
debug=all
== sanity test 17b: symlinks: create, remove (dangling) == 11:50:50 (1776493250)
total 0
lrwxrwxrwx. 1 root root 12 Apr 18 11:50 l-dangle -> no-such-file
/mnt/lustre/d17b.sanity/l-dangle links to no-such-file OK
/mnt/lustre/d17b.sanity/l-dangle: absent OK
/mnt/lustre/d17b.sanity/l-dangle: absent OK
PASS 17b (1s)
== sanity test 17c: symlinks: open dangling (should return error) ========================================================== 11:50:51 (1776493251)
cat: /mnt/lustre/d17c.sanity/f17c.sanity: No such file or directory
PASS 17c (0s)
resend_count is set to 4 4
resend_count is set to 4 4
resend_count is set to 4 4
resend_count is set to 4 4
resend_count is set to 4 4
== sanity test complete, duration 6 sec ================== 11:50:53 (1776493253)
=== sanity: start cleanup 11:50:54 (1776493254) ===
=== sanity: finish cleanup 11:50:54 (1776493254) ===
debug=super ioctl neterror warning dlmtrace error emerg ha rpctrace vfstrace config console lfsck
sanity returned 0
Stopping clients: vbox /mnt/lustre (opts:)
Stopping client vbox /mnt/lustre opts:
Stopping clients: vbox /mnt/lustre2 (opts:)
Stopping /mnt/lustre-mds1 (opts:-f) on vbox
Stopping /mnt/lustre-ost1 (opts:-f) on vbox
Stopping /mnt/lustre-ost2 (opts:-f) on vbox
modules unloaded.
Finished at Sat Apr 18 11:51:06 AM IST 2026 in 49s
./auster: completed with rc 0
By default, Auster uses User ID 500 and Group ID 500 on both the MDS and client. You can override this using the RUNAS_ID environment variable, or create a corresponding user and group on the system.
# groupadd -g 500 lustre
# useradd -u 500 -g 500 -m lustre