CentOS
CentOS is a community maintained Linux distribution derived from the sources of Red Hat Enterprise Linux (RHEL). CentOS release versions follow closely RHEL releases, reusing the same version and release numbers.
More information on the distribution releases and kernel versions can be found here.
Supported Zoned Block Devices
Due to this design approach, CentOS zoned block device support is identical to that of Red Hat Enterprise Linux: zoned block device support is not available by default with the precompiled kernel shipped with the distribution.
However, third party repositories such as The Community Enterprise Linux Repository (elrepo) provide recent kernels packages precompiled with zoned block device support enabled. elrepo provides kernels version 5.12 and 5.13 for CentOS 7, CentOS 8 and CentOS 8 Stream.
The table below shows the supported types of zoned block devices.
Distribution Version | Kernel Version | SCSI ZBC and ATA ZAC Support | NVMe ZNS Support | null_blk Zone Emulation Support | scsi_debug ZBC Emulation Support |
---|---|---|---|---|---|
7 | 3.10 | No | No | No | No |
7 + elrepro | 5.18 | Yes | Yes | Yes | Yes |
8 | 4.18 | No | No | No | No |
8 + elrepro | 5.18 | Yes | Yes | Yes | Yes |
Stream 8 | 5.13 | No | No | No | No |
Stream8+elrepro | 5.18 | Yes | Yes | Yes | Yes |
Stream 9 | 5.14 | Yes | Yes | Yes | Yes |
Supported File Systems and Device Mapper Targets
As shown in the table below, only elrepo kernels and CentOS Stream 9 offer support for file systems and device mapper targets supporting zoned block devices.
File Systems | Device Mapper | ||||||||
---|---|---|---|---|---|---|---|---|---|
Distribution Version | Kernel Version | f2fs | zonefs | btrfs | linear | flakey | zoned | crypt | |
ZBC/ZAC | ZNS | ||||||||
7 | 3.10 | No | No | No | No | No | No | No | No |
7 + elrepro | 5.18 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
8 | 4.18 | No | No | No | No | No | No | No | No |
8 + elrepro | 5.18 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Stream 8 | 5.13 | No | No | No | No | No | No | No | No |
Stream8+elrepro | 5.18 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Stream 9 | 5.14 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Available Pre-Compiled Packages
The latest CentOS Stream 9 distribution only provides support for zoned block devices with the "standard" pre-compiled packages, that is, regular system tools and libraries packages.
-
System utilities packages:
- util-linux (blkzone utility)
- nvme-cli
- sg3_utils
-
Libraries related packages:
- libblkid (and libblkid-devel)
- libnvme (and libnvme-devel)
The user utilities related to file systems and device mapper targets supporting zoned block devices need to be compiled from source (e.g. zonefs-tools, btrfs-progs, dm-zoned-tools, etc).