Quantcast
Channel: R&D Forums
Viewing all articles
Browse latest Browse all 9966

Veeam Backup & Replication • Re: OpenZFS 2.2 support for reflinks now available

$
0
0
Sorry for the length of this post the answer on support of OpenZFS is complex and there is no real official view without consulting lawyers.
My understanding is as follows;

Based on information here;
https://openzfs.github.io/openzfs-docs/ ... .html#dkms
https://openzfs.github.io/openzfs-docs/ ... positories

I've run a variety of tests (see below) and my summary is;
- Not using the testing repository results in version 2.2.8 branch of OpenZFS. By default this does not have block cloning enabled nor block clone wait dirty enabled. The 2.2.8 branch does not support direct IO (DIO). It can be made to work reliably in for Veeam by setting both zfs_bclone_enabled and zfs_bclone_wait_dirty to 1.
- Using the latest testing repository results in version 2.3.4 of OpenZFS. By default zfs_bclone_enabled, zfs_bclone_wait_dirty and zfs_dio_enabled are all set to 1. Having zfs_dio_enabled=1 breaks Veeam V12 integration. Hannes said this particular issue has been resolved in V13.
- If OpenZFS support was elevated in Veeam, it would need to determine a minimum supported version of OpenZFS. If it was say 2.2.4 the following checks would be needed;
1. If target is Veeam V12 and OpenZFS version is >=2.2.4 and <2.3
/sys/module/zfs/parameters/zfs_bclone_enabled=1
/sys/module/zfs/parameters/zfs_bclone_wait_dirty=1
2. If target is Veeam V12 and OpenZFS version is >=2.3
/sys/module/zfs/parameters/zfs_bclone_enabled=1
/sys/module/zfs/parameters/zfs_bclone_wait_dirty=1
/sys/module/zfs/parameters/zfs_dio_enabled=0
3. If target is Veeam V13 and OpenZFS version is >=2.2.4 and <2.3
/sys/module/zfs/parameters/zfs_bclone_enabled=1
/sys/module/zfs/parameters/zfs_bclone_wait_dirty=1
- The default values of zfs_bclone_enabled, zfs_bclone_wait_dirty and zfs_dio_enabled are different between OpenZFS 2.x and 2.3
- It would be beneficial if Veeam could back port the V13 behavior around zfs_dio_enabled to a V12 patch release so that both V12 and V13 could work reliably regardless of the zfs_dio_enabled setting.
- Synthetic fulls will not work correctly unless block cloning and block clone wait dirty are enabled as the transformation stage will break or the job will randomly fail in the ways described earlier on in this thread.
- Due to the number of changes and optimisations in place (some of which are specific to Veeam) attempting to support anything earlier than the latest 2.x branch - i.e. 2.2.8 is probably not desirable and preferably just the 2.3 branch to avoid confusion.
- RedHat doesn't officially support ZFS primarily due to a licensing conflict between ZFS and Linux GPL. Rocky is based off the RedHat source code. This means the kernel modules have to be rebuilt under RHEL/clones like Rocky to use ZFS, which means secure boot needs to be disabled which some may consider a security risk. The secure boot issue could potentially be mitigated by Veeam leveraging the Rocky partnership and signing the kernel on the distro Veeam uses to base the JeOS after injecting OpenZFS support. Other distros like Ubuntu don't have the same view on the GPL license risks so ship ZFS with the modules included.

all tests on;
Minimal Rocky9 deployment with full OS patches;

Code:

# cat /etc/os-releaseNAME="Rocky Linux"VERSION="9.6 (Blue Onyx)"ID="rocky"
* test1: not latest using DKMS - which results in OpenZFS 2.2.8
disable secure boot

Code:

# dnf install -y https://zfsonlinux.org/epel/zfs-release-2-8$(rpm --eval "%{dist}").noarch.rpm# dnf install -y epel-release# dnf install -y kernel-devel# dnf install -y zfs# modprobe zfs# zfs --versionzfs-2.2.8-1zfs-kmod-2.2.8-1# cat /sys/module/zfs/parameters/zfs_bclone_enabled0# cat /sys/module/zfs/parameters/zfs_bclone_wait_dirty0# cat /sys/module/zfs/parameters/zfs_dio_enabledcat: /sys/module/zfs/parameters/zfs_dio_enabled: No such file or directory
* test2: latest using DKMS - which results in OpenZFS 2.3.4
disable secure boot

Code:

# dnf install -y https://zfsonlinux.org/epel/zfs-release-2-8$(rpm --eval "%{dist}").noarch.rpm# dnf config-manager --enable zfs-testing# dnf install -y epel-release# dnf install -y kernel-devel# dnf install -y zfs# modprobe zfs# zfs --versionzfs-2.3.4-1zfs-kmod-2.3.4-1# cat /sys/module/zfs/parameters/zfs_bclone_enabled1# cat /sys/module/zfs/parameters/zfs_bclone_wait_dirty1# cat /sys/module/zfs/parameters/zfs_dio_enabled1

Statistics: Posted by ashleyw — Sep 17, 2025 11:45 pm



Viewing all articles
Browse latest Browse all 9966

Latest Images

Trending Articles



Latest Images