Ross Walker writes: > On Aug 4, 2010, at 12:04 PM, Roch <roch.bourbonn...@sun.com> wrote: > > > > > Ross Walker writes: > >> On Aug 4, 2010, at 9:20 AM, Roch <roch.bourbonn...@sun.com> wrote: > >> > >>> > >>> > >>> Ross Asks: > >>> So on that note, ZFS should disable the disks' write cache, > >>> not enable them despite ZFS's COW properties because it > >>> should be resilient. > >>> > >>> No, because ZFS builds resiliency on top of unreliable parts. it's able > >>> to deal > >>> with contained failures (lost state) of the disk write cache. > >>> > >>> It can then export LUNS that have WC enabled or > >>> disabled. But if we enable the WC on the exported LUNS, then > >>> the consumer of these LUNS must be able to say the same. > >>> The discussion at that level then needs to focus on failure groups. > >>> > >>> > >>> Ross also Said : > >>> I asked this question earlier, but got no answer: while an > >>> iSCSI target is presented WCE does it respect the flush > >>> command? > >>> > >>> Yes. I would like to say "obviously" but it's been anything > >>> but. > >> > >> Sorry to probe further, but can you expand on but... > >> > >> Just if we had a bunch of zvols exported via iSCSI to another Solaris > >> box which used them to form another zpool and had WCE turned on would > >> it be reliable? > >> > > > > Nope. That's because all the iSCSI are in the same fault > > domain as they share a unified back-end cache. What works, > > in principle, is mirroring SCSI channels hosted on > > different storage controllers (or N SCSI channels on N > > controller in a raid group). > > > > Which is why keeping the WC set to the default, is really > > better in general. > > Well I was actually talking about two backend Solaris storage servers > serving up storage over iSCSI to a front-end Solaris server serving ZFS over > NFS, so I have redundancy there, but want the storage to be performant, so I > want the iSCSI to have WCE, yet I want it to be reliable and have it honor > cache flush requests from the front-end NFS server. > > Does that make sense? Is it possible? >
Well in response to a commit (say after a file creation) then the front end server will end up sending flush write caches on both side of the iscsi mirror which will reach the backend server which will flush disk write caches. This will all work but probably not unleash performance the way you would like it to. If you setup to have the backend server not honor the backend disk flush write caches, then the 2 backend pools become at risk of corruption, mostly because the ordering of IOs around the ueberblock updates. If you have faith, then you could consider that you won't hit 2 backend pool corruption together and rely on the frontend resilvering to rebuild the corrupted backend. I wouldn't know how to calculate the MTTDL. -r > -Ross > _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss