[OmniOS-discuss] Auto snapshots?

Eric Sproul esproul at omniti.com
Tue Apr 23 11:26:30 EDT 2013


On Tue, Apr 23, 2013 at 11:12 AM, Sašo Kiselkov <skiselkov.ml at gmail.com> wrote:
> Quiescing clients is something that's been kicking around my head for a
> while and I'm not sure ZFS per-se needs it. The canonical example of a
> customer who needs transactional consistency are databases. Those
> already implement their own redo logs, so all one needs to ensure is
> that a snapshot is taken in between atomic updates by the database (e.g.
> when committing a redo log entry). This should, in theory, align well
> with ZFS transaction groups - a txg is either in a snapshot completely,
> or not at all. So even if the full DB transaction (think BEGIN/COMMIT)
> is partly split up between ZFS txg's, it's the COMMIT step that must be
> atomic, and as far as I can see it, it is.
>
> If not, where did I go wrong?

Databases are already aware that their storage is unreliable, and act
accordingly.  It's true that over NFS, those guest writes from ESXi
are typically sync, and so are flushed out to either an SSD SLOG or
the main pool, and given that txg's cannot span snapshot boundaries,
you can be reasonably assured that what the guest committed is
actually in the snapshot.


More information about the OmniOS-discuss mailing list