I'm using an x4500 as a large data store for our VMware environment.  I
have mirrored the first 2 disks, and created a ZFS pool of the other 46:
22 pairs of mirrors, and 2 spares (optimizing for random I/O performance
rather than space).  Datasets are shared to the VMware ESX servers via
NFS.  We noticed that VMware mounts its NFS datastore with the SYNC
option, so every NFS write gets flagged with FILE_SYNC.  In testing,
syncronous writes are significantly slower than async, presumably
because of the strict ordering required for correctness (cache flushing
and ZIL).

Can anyone tell me if a ZFS snapshot taken when zil_disable=1 will be
crash-consistant with respect to the data written by VMware?  Are the
snapshot metadata updates serialized with pending non-metadata writes?
If an asyncronous write is issued before the snapshot is initiated, is
it guarenteed to be in the snapshot data, or can it be reordered to
after the snapshot?  Does a snapshot flush pending writes to disk?

To increase performance, the users are willing to "lose" an hour or two
of work (these are development/QA environments): In the event that the
x4500 crashes and loses the 16GB of cached (zil_disable=1) writes, we
roll back to the last hourly snapshot, and everyone's back to the way
they were.  However, I want to make sure that we will be able to boot a
crash-consistant VM from that rolled-back virtual disk.

Thanks for any knowledge you might have,
--Joe
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to