Jason,
Thank you for the detailed explanation. It is very helpful to
understand the issue. Is anyone successfully using SNDR with ZFS yet?
Of the opportunities I've been involved with the answer is yes, but so
far I've not seen SNDR with ZFS in a production environment, but that
does not mean they don't exists. It was not until late June '06, that
AVS 4.0, Solaris 10 and ZFS were generally available, and to date AVS
has not been made available for the Solaris Express, Community Release,
but it will be real soon.
While I have your attention, there are two issues between ZFS and AVS
that needs mentioning.
1). When ZFS is given an entire LUN to place in a ZFS storage pool, ZFS
detect this, enabling SCSI write-caching on the LUN, and also opens the
LUN with exclusive access, preventing other data services (like AVS)
from accessing this device. The work-around is to manually format the
LUN, typically placing all the blocks into a single partition, then just
place this partition into the ZFS storage pool. ZFS detect this, not
owning the entire LUN, and doesn't enable write-caching, which means it
also doesn't open the LUN with exclusive access, and therefore AVS and
ZFS can share the same LUN.
I thought about submitting an RFE to have ZFS provide a means to
override this restriction, but I am not 100% certain that a ZFS
filesystem directly accessing a write-cached enabled LUN is the same
thing as a replicated ZFS filesystem accessing a write-cached enabled
LUN. Even though AVS is write-order consistent, there are disaster
recovery scenarios, when enacted, where block-order, verses write-order
I/Os are issued.
2). One has to be very cautious in using "zpool import -f .... " (forced
import), especially on a LUN or LUNs in which SNDR is actively
replicating into. If ZFS complains that the storage pool was not cleanly
exported when issuing a "zpool import ...", and one attempts a "zpool
import -f ....", without checking the active replication state, they are
sure to panic Solaris. Of course this failure scenario is no different
then accessing a LUN or LUNs on dual-ported, or SAN based storage when
another Solaris host is still accessing the ZFS filesystem, or
controller based replication, as they are all just different operational
scenarios of the same issue, data blocks changing out from underneath
the ZFS filesystem, and its CRC checking mechanisms.
Jim
Best Regards,
Jason
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss