Let's say I've got 2 zpools -- one with a database's database files and one with the database transaction logs.
If I do a zfs snapshot -r database@snapshot will the resulting snapshots all be taken at exactly the same time? Or will each pool's snapshot be internally consistent but they won't be consistent across pools?
On systems based on the Illumos ZFS implementations which includes LibZFS_Core (eg Most of the OpenSolaris derivatives, the BSD implementations, and ZFSonLinux), Snapshots created with a single call (as a
zfs snapshot -r ...
call) are atomic, including syntax failure, corruption, or IO failure. Either all snapshots are created or none.