You can (and should) monitor your pool via zed, the ZFS event daemon
Alternatively, you can configure cron to regularly run zpool status -x, sending email when some output is printed. For example:
/usr/sbin/zpool status -x | grep -v "all pools are healthy" && exit_code=1
Maybe also you did not offline the old drive prior to removing it. (It's a possibility that ZFS thinks that the logical drives (your pools) are corrupted, and the controller thinks they are fine. This happens if there's a difference in disk cylinder size - rare case but can happen.)
To get out of the situation:
get the name of the disk from zpool status
In general, ZFS could easily achieve 1.2:1 compression of VM disk. It also is smart and doesn't save any zero blocks on disk. Databases compress better. In general, I wouldn't be surprised if 4Tb virtual disk of some good-compressible will fit into array with 1.8T physical space.
If you make snapshot with ZFS, it will be CoW snapshot. In the beginning, ZFS ...
In ZFS, snapshots are immutable: you cannot alter any file properties after the snapshot was taken.
You can try to chmod the snapshot directory (or the .zfs directory) itself. Or, taking another approach, you can set snapdir=hidden