HPE EVA Storage

EVA8100 +Solaris ZFS

Go to solution
Occasional Advisor

EVA8100 +Solaris ZFS

We may be having potential performance problems due to ZFS Cache Flushes enabled on our array... Can someone shed some light?

Sun document on ZFS Cache Flushes and arrays with NVRAM:

-Does the EVA we're attached to ignore flush requests?
"For many NVRAM-based storage arrays, a problem might come up if the array takes the cache flush request and actually does something rather than ignoring it. Some storage will flush their caches despite the fact that the NVRAM protection makes those caches as good as stable storage. "

-If we were to turn off ZFS's flush requests what happens to the array?
--Will the array automatically flush the cache?
--Can the cache be "filled up", if we don't request a flush from the system side?
Honored Contributor

Re: EVA8100 +Solaris ZFS


It's interesting reading a document which still talks about NVRAM based storage systems. Currently, almost every mid-range to enterprise class storage systems offer cache RAM with battery backup which takes out the fear (of ZFS) to potentially loose the data in case of failure. On top of it, EVAs are designed with write-cache mirroring, hence it's very well protected against any such failures.

EVA write cache is flushed as soon as the drives are free, so if there is not much of activity in EVA will transfer the write-cache contents to drives immediately.

Not sure how the EVAs will behave to ZFS flush requests, your "the best" option is to turn off cache flush from ZFS.
New Member

Re: EVA8100 +Solaris ZFS

There is quite a bit of discussion on this topic, but non really dive deep into it. I am looking into converting some ufs san based filesystems to zfs san based filesystems and have observed poorer performance on the zfs san based filesystems. I have tested with disabling zfs flush request ( zfs_nocacheflush ) from the os, but as the evil guide stated, I shouldn't have to do this with 5.10 u5 and above. I am running 5.10 u6. I didn't see and difference with the setting zfs_nocacheflush. There is a way to disable the request form the array, but I am unable to test this for myself. If you are considering disabling the flush request from the os side, be sure you don't have any locally attached zfs pools.. as the flush will be turned off for them as well.