Perhaps have a closer look at Boot Environments and especially their relation to recovery; for example
Managing Boot Environments and
Let’s Talk OpenZFS Snapshots; also have a look at
vermaden's
message. For a deeper ZFS dive I recommend the two ZFS books:
FreeBSD Development: Books, Papers, Slides
Boot Environments (BEs) are a feature enabled by ZFS. From an implementation standpoint they are "almost free of charge"; ZFS does the heavy lifting. BEs are (very) useful for managing updates: patches, minor and major version updates of FreeBSD and software packages. Those updates are related to system environments and system changes, hence the name Boot Environments: if an update does not function as intended (extreme case: does not boot) you can easily go back to a previous Boot Environment: the system as is was before the update. BEs are not intended for recovery in case of corrupt (user) data. Currently there are no Boot Environment options for Linux.
When there is data corruption to such an extend that ZFS cannot correct the errors anymore and you have lost a ZFS pool, there are basically no tools available to recover a failed pool. That means all data in that pool is lost and you'll have to resort to backups. This is a kind of a consequence of ZFS taking very good care of your data (depending on the chosen redundancy setup) but if, in the end, there is a non-recoverable error (even in just one file), you will have lost all data in the pool where that file belongs to.
As you have described your situation so far the environment is an all Linux environment, so please be aware of what properties and additional tools mentioned belong exclusively to a FreeBSD ZFS environment and consider
SirDice's
suggestion*.
___
* unless you are in a position to consider a switch from Linux to FreeBSD: no proxmox on FreeBSD but, we do have
jails as a lightweight OS-level virtualisation mechanism