0

I have a lot of data and I choose to manage it with ZFS. This is fine for secondary storage but cannot be used on the boot disk due to the filesystem not being part of the kernel.

RHEL 6 and 7 brought about a Technology Preview of BTRFS but this has since been removed in version 8.

I am very happy with ZFS and have become very spoiled by its data integrity features so much that I have become frustrated that my root file system, which is running on a RAID1 mdadm, does not have it. While this solution is resilient against entire disk failure, it cannot identify and can even propagate certain forms of corruption.

I am only aware of ZFS and BTRFS as available solutions capable of providing multiple disk parity and integrity check summing for small, non-enterprise deployment (such as on a SAN).

If I am only considering Red Hat's latest offerings (ignoring the BTRFS Technology Preview in 6 and 7), what does RHEL8 provide as a supported means of managing data integrity? Is this only an issue for small deployments such as mine? How do enterprise customers address this issue when choosing to run a RHEL server?

The system I am running provides network storage and other services and I want it to be as low-maintenance as possible with excellent resiliency against failure. If something breaks I want a sad e-mail from the system instead of an angry phone. I have run RHEL derivatives for years and have been very happy with it. But with the choice of BTRFS on SUSE and Oracle Linux and ZFS on Ubunutu and FreeBSD, I've been feeling as though there is less value to be had by staying with RHEL as a platform.

With all of this said, I have been researching competing solutions to coincide with the next upgrade and haven't found a compelling reason to stay with RHEL services. And this has me wondering if this is an issue for their enterprise customers as well or whether they are somehow insulated from this problem due to additional infrastructure. Maybe this is only a problem for small installations which, from what I've read, are not their target market anyways.


dm-integrity has been mentioned in an answer. While the technology itself is supported in EL8, its use in production is not recommended according to Red Hat.

Regarding support status: dm-integrity is not labeled as TechPreview, it is supported. Heavy stacks of RAID1 on top, with mdadm or LVM-raid, are not yet widely tested or recommended for production.

Detecting bit rot solves half the problem - but it's more than half of the work. What's left is to build an automated way to use RAID to fix corrupted data by using a known good copy (that is, one with a valid checksum) to recreate the corrupted segments on a different part of the disk. This part is still being worked on, with Red Hat and in the upstream communities

1
  • Before ZFS, BTRFS people have run network services for years. IMO the problem is related to what network services your server provides. So what does it do? iSCSI, NFS, ro/rw, how much writes etc...?
    – Jiri B
    Commented Mar 13, 2021 at 18:24

1 Answer 1

1

In RHEL data integrity is supported on the block level with device mapper integrity target. You can use it either as a standalone target or together with LUKS2 in form of authenticated disk encryption (AEAD).

Standalone integrity support can be configured using the integritysetup tool, AEAD can be configured using cryptsetup by adding the --integrity option when creating LUKS devices.

Configuring integrity on the block layer allows to use any filesystem or storage technology on top of it. Usual use case is having MD RAID on top of integritysetup devices.

For bigger and enterprise deployments this is covered in both Gluster and Ceph. GlusterFS has a build in bitrot detection and the Bluestore object storage used in Ceph has both data and metadata checksuming.

2
  • I've looked into this as a solution and updated my question. Red Hat has cited dm-integrity as a feature in EL8 is supported but does not recommended it for production use.
    – Zhro
    Commented Feb 12, 2021 at 13:58
  • DM integrity (and possibly DM verity, but I'm not sure if it's supported in RHEL, but it has the same issues integrity has) is (as far as I know) the only checksum technology for "normal"/local storage currently available. I've added information about Ceph and Gluster to my answer, both have some sort of data integrity protection, but that's probably not what are you looking for. Commented Feb 13, 2021 at 17:33

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .