Il 2021-06-28 05:28 Stuart D Gathman ha scritto:
Yes. I like the checksums in metadata feature for enhanced integrity checking.
Until recently btrfs has issue when a LVM snapshot was mounted. It is now solved?
It seems too complicated to have anytime soon - but when a filesystem detects corruption, and is on an LVM (or md) RAID1 layer, an ioctl to read alternate mirror branches to see which (if any) has the correct data would allow recovery. Btrfs does this if it is doing the mirroring, but then you lose all the other features from LVM or md raid10, including running other filesystems and efficient virtual disks for virtual machines.
For this to work, LVM should be able to identify the corrupted data. Without checksum, how can you do that? The solution is to use dm-integrity under the RAID layer. It works pretty well, letting apart the big performance drop in the default (journaled) configuration (bitmap is faster, but leave a small window for corruption to happen undetected).
That said, for rewrite-heavy workload (virtual machines, databases, etc) btrfs is very slow (and disabling CoW is not a solution for me, as it also disables checksum, compression, etc).
We eventually got DISCARD operations to pass to lower layers. Dealing with mirror branches should really be a thing too.
As said above, the issue is not to read from the mirror leg separately; rather, to detect *which* mirror leg contains valid data.
Regards. -- Danti Gionatan Supporto Tecnico Assyoma S.r.l. - www.assyoma.it email: g.danti@xxxxxxxxxx - info@xxxxxxxxxx GPG public key ID: FF5F32A8 _______________________________________________ linux-lvm mailing list linux-lvm@xxxxxxxxxx https://listman.redhat.com/mailman/listinfo/linux-lvm read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/