[lustre-discuss] No ZFS compression on OST's when using PFL
BALVERS Martin
Martin.BALVERS at danone.com
Mon Aug 4 23:43:38 PDT 2025
Unfortunately, I don't have any more time to figure this out. I opted to just install lustre 2.15.1, because that is the one that seems to work for me.
I have attached my install procedure for lustre 2.15.7, is there something I should be doing differently?
Gr,
Martin Balvers
________________________________
From: Andreas Dilger <adilger at ddn.com>
Sent: Friday, August 01, 2025 22:58
To: BALVERS Martin <Martin.BALVERS at danone.com>
Cc: lustre-discuss <lustre-discuss at lists.lustre.org>
Subject: Re: [lustre-discuss] No ZFS compression on OST's when using PFL
WARNING - EXTERNAL SENDER - BE CYBERSAFE
You are changing a number of different things with each of your tests, not just Lustre. It could be ZFS 2.1.5->2.1.15 or Alma 8.6->8.10 is also causing issues... Hard to say for sure without apples-to-apples comparisons.
It should be possible to build Lustre 2.15.5 on Alma 8.6 + ZFS 2.1.5 to help isolate the issue.
There was LU-19193<https://urldefense.com/v3/__https://jira.whamcloud.com/browse/LU-19193__;!!OUGTln_Lrg!Ugs-QNv1jVaQ0FZzMnQ9mLWiu0QW-B3iSDiiXoIU2XwGrg2ab0Uh-J-krG6w9pYI3ffwwwLgjxtjhLeNfA$> filed recently about ZFS and blocksize detection, which might hurt ZFS compression, but that was never landed on 2.15.
Cheers, Andreas
On Aug 1, 2025, at 06:33, BALVERS Martin via lustre-discuss <lustre-discuss at lists.lustre.org> wrote:
I ended up installing lustre 2.15.1 on the new servers. Now compression works as expected when PFL is enabled.
What I have tested so far is:
AlmaLinux 9.4 - Lustre 2.16.1 - ZFS 2.1.16 - No compression with PFL
AlmaLinux 8.10 - Lustre 2.15.7 - ZFS 2.2.8 - No compression with PFL
AlmaLinux 8.10 - Lustre 2.15.5 - ZFS 2.1.15 - No compression with PFL
AlmaLinux 8.6 - Lustre 2.15.1 - ZFS 2.1.5 - PFL + compression works as expected
I tried installing 2.15.2, 2.15.3 and 2.15.4 but that failed with ksym errors.
It seems that somewhere between lustre 2.15.1 and 2.15.5 the PFL + compression breaks.
gr,
Martin Balvers
Cheers, Andreas
—
Andreas Dilger
Lustre Principal Architect
Whamcloud/DDN
Ce message électronique et tous les fichiers attachés qu'il contient sont confidentiels et destinés exclusivement à l'usage de la personne à laquelle ils sont adressés. Si vous avez reçu ce message par erreur, merci de le retourner à son émetteur. Les idées et opinions présentées dans ce message sont celles de son auteur, et ne représentent pas nécessairement celles de DANONE ou d'une quelconque de ses filiales. La publication, l'usage, la distribution, l'impression ou la copie non autorisée de ce message et des attachements qu'il contient sont strictement interdits.
This e-mail and any files transmitted with it are confidential and intended solely for the use of the individual to whom it is addressed. If you have received this email in error please send it back to the person that sent it to you. Any views or opinions presented are solely those of its author and do not necessarily represent those of DANONE or any of its subsidiary companies. Unauthorized publication, use, dissemination, forwarding, printing or copying of this email and its associated attachments is strictly prohibited.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lustre.org/pipermail/lustre-discuss-lustre.org/attachments/20250805/198dc7de/attachment.htm>
-------------- next part --------------
### SETUP NODES
# Install AlmaLinux 8.10 from minimal iso and configure networking etc.
# For any server, disable selinux!
nano /etc/selinux/config
SELINUX=disabled
dnf install epel-release
dnf install https://zfsonlinux.org/epel/zfs-release-2-3$(rpm --eval "%{dist}").noarch.rpm
# Disable [zfs] and enable [zfs-kmod] repos
nano /etc/yum.repos.d/zfs.repo
dnf install zfs
nano /etc/yum.repos.d/lustre.repo
[lustre-server]
name=lustre-server
baseurl=https://downloads.whamcloud.com/public/lustre/lustre-2.15.7/el8.10/server/
enabled=1
exclude=*debuginfo*
gpgcheck=0
# to allow port 988
firewall-cmd --zone=public --add-port 988/tcp --permanent && firewall-cmd --reload
# create zfs.conf file
# by default zfs takes max 50% memory, set zfs_arc_max to 80-90% of total memory (in bytes) Use 'free -b' tot find the total memory in bytes
nano /etc/modprobe.d/zfs.conf
### OSS
# Optimized ZFS settings for Lustre OST with HDD mirrors and 265GB RAM
options zfs zfs_arc_max=227633266688
options zfs zfs_arc_min=8589934592
options zfs zfs_prefetch_disable=1
options zfs metaslab_debug_unload=0
options zfs zfs_vdev_cache_size=0
options zfs zfs_read_chunk_size=1048576
options zfs zfs_vdev_async_write_min_active=10
options zfs zfs_vdev_async_write_max_active=30
options zfs zfs_vdev_async_write_active_min_dirty_percent=15
options zfs zfs_vdev_scheduler=deadline
reboot
dnf install lustre kmod-lustre kmod-lustre-osd-zfs
### setup OSS
# create the zfs pool
zpool create -o ashift=12 -f lustre -o cachefile=none -O acltype=posixacl -O compression=zstd -O xattr=sa -O canmount=off mirror /dev/sda /dev/sdb mirror /dev/sdc /dev/sdd mirror /dev/sde /dev/sdf mirror /dev/sdg /dev/sdh mirror /dev/sdi /dev/sdj mirror /dev/sdk /dev/sdl
# Create the lustre fs. Index needs to be unique for each OST
mkfs.lustre --reformat --ost --backfstype=zfs --fsname=lustre --index=<i> --mgsnode=192.168.6.1 at tcp lustre/ost
mkdir /mnt/ost
# mounting the pool starts lustre
mount -t lustre_tgt -v lustre/ost /mnt/ost
# Make sure compression is enabled:
zfs set compression=zstd lustre/ost
## From a client
lfs setstripe -E 1M -L mdt -E 128M -c 1 -S 4M -E 2G -c 2 -z 128M -E -1 -c -1 -z 256M /mnt/lustre_new
More information about the lustre-discuss
mailing list