So far only able to take backup of containers and images using zfs snapshot with customized scripts of borgsnap, but couldn’t find an easy solution to take the backup of full zfs pool.
Also found that ZFS do not support restore from old snapshots, it can only use latest snapshot, while BTRFS can, so not sure if I made a mistake by going with ZFS given it will not be supported directly by Linux Kernel like BTRFS.
Yes thats true but with BTRFS being default in Suse and Fedora will see improvements in qgroups.
Also I could setup backup of BTRFS pool easily compared to ZFS pool so far (cannot find any easy solution on how can I take a full zpool backup not individual dataset i.e. volumes).
Recently I had one drive failure in LXD cluster node running on BTRFS. I could easily recover the cluster by breaking the BTRFS RAID.
The only issue I found in both BTRFS and ZFS so far is that both cannot mark badblocks on drive like ext4 or XFS to avoid them. Indeed BTRFS went into read only mount as soon as encountered badblocks in any of the drive within RAID 1.
Hopefully with XFS Copy-on-Write landing in linux kernel LXD will support it as well.
Indeed, the main restriction with LVM is the lack of native transport for volumes and snapshots, so no optimized backups and no optimized migration to other systems.