On Fri, 2010-07-09 at 00:23 +0200, Ragnar Sundblad wrote: > On 8 jul 2010, at 17.23, Garrett D'Amore wrote: > > > You want the write cache enabled, for sure, with ZFS. ZFS will do the > > right thing about ensuring write cache is flushed when needed. > > That is not for sure at all, it all depends on what "the right thing" > is, which depends on the application and/or what other measures > there are for redundancy. > > Many raid controllers will respond to a flush [to persistant storage] > by doing nothing, since the data already is in its write cache buffer > which (hopefully) is battery backed or something. > They will typically NOT flush the data to the drives and issue > flush commands to the disks, and wait for that to finish, before > responding.
I consider such behavior "bad", at least if not explicitly enabled, and probably a bug. > > This means, that if your raid controller dies on you, some of your most > recently written data will be gone. It may very well be vital metadata, > and in the zfs world it may be data or metadata from several of the > latest txgs, that is gone. Potentially, it could leave your file system > corrupt, or arbitrary pieces of your data could be lost. Yes, failure to flush data when the OS requests it is *evil*. Enabling a write a cache should only be done if you believe your hardware is not buggy in this respect. I guess I was thinking more along the lines of simple JBOD controllers when I answered the question the first time -- I failed to take into accounted RAID controller behavior. - Garrett > > Maybe that is acceptable in the application, or maybe this is compensated > for with other means as multiple raid controllers with the data mirrored > over all of them which could reduce the risks by a lot, but you have to > evaluate each separate case by itself. > > /ragge > > > For the case of a single JBOD, I don't find it surprising that UFS beats > > ZFS. ZFS is designed for more complex configurations, and provides much > > better data integrity guarantees than UFS (so critical data is written > > to the disk more than once, and in areas of the drive that are not > > adjacent to improve the chances of recovery in the event of a localized > > media failure). That said, you could easily accelerate the write > > performance of ZFS on that single JBOD by adding a small SSD log device. > > (4GB would be enough. :-) > > > > - Garrett > > > > On Thu, 2010-07-08 at 15:10 +0200, Philippe Schwarz wrote: > >> Hi, > >> > >> With dual-Xeon, 4GB of Ram (will be 8GB in a couple of weeks), two PCI-X > >> 3Ware cards 7 Sata disks (750G & 1T) over FreeBSD 8.0 (But i think it's > >> OS independant), i made some tests. > >> > >> The disks are exported as JBOD, but i tried enabling/disabling write-cache > >> . > >> > >> I tried with UFS and ZFS on the same disk and the difference is > >> overwhelming. > >> > >> With a 1GB file (greater than the ZFS cache ?): > >> > >> With Writecache disabled > >> UFS > >> time cp /mnt/ufs/rnd /mnt/ufs/rnd2 > >> real 2m58.073s > >> ZFS > >> time cp /zfs/rnd /zfs/rnd2 > >> real 4m33.726s > >> > >> On the same card with WCache enabled > >> UFS > >> time cp /mnt/ufs/rnd /mnt/ufs/rnd2 > >> real 0m31.406s > >> ZFS > >> time cp /zfs/rnd /zfs/rnd2 > >> real 1m0.199s > >> > >> So, despite the fact that ZFS can be twice slower than UFS, it is clear > >> that Write-Cache have to be enabled on the controller. > >> > >> Any drawback (except that without BBU, i've got a pb in case of power > >> loss) in enabling the WC with ZFS ? > >> > >> > >> Thanks. > >> Best regards. > >> > >> > > > > > > _______________________________________________ > > zfs-discuss mailing list > > zfs-discuss@opensolaris.org > > http://mail.opensolaris.org/mailman/listinfo/zfs-discuss > > _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss