Does anyone know if such a product exists? I think such a product would be good to find because I believe it would compliment ZFS. Here is why:
1) ZFS likes to work with disks directly
2) ZFS uses the ZIL to log writes to the pool
3) In the absence of a dedicated log device ZFS will use the pool which slows random writes down considerably
4) Cache on an HBA/RAID controller speeds up random writes
It seems to be an ongoing issue where someone is asking "what the best log device?" or "what is the best SSD to use for a ZIL?" As of now, there is no "best" device short of a FusionIO or DDRDrive and most SSDs suitable for the job are expensive. I've also found that when you do add a dedicated log device and that device isn't "fast" enough you will artificially limit the speed of the pool.
While perusing the Sun tech docs trying to figure out some other issues I came across an article where it is said that one can disable cache flushing if the back-end storage has a protected cache. It has been an issue where some storage devices don't properly honour the ZFS "flush if your cache isn't protected" command and they will instead will always flush the data -even if the cache is protected. The solution is to enable a switch that disables cache flushing or, instead of globally setting "nocacheflush", you can add a line to a config file which tells the system that this particular storage device doesn't need to be tolt to flush its cache.
I think that if there was an HBA or RAID controller which supported JBOD or passthrough mode and still used the on-board cache this would somewhat negate the need for a separate SLOG device. ZFS would use the pool as a ZIL, but these random writes would go to the controller's cache instead to be dealt with later.
I don't know how much of a performance increase this would give, but I think it would be better than using a current-gen lower cost SSD. One way to find out would be to see the performance of a pool on a regular non-cached HBA vs the same configuration on a RAID card with each device in a RAID0.
Thoughts?
Thanks!!
Riley
1) ZFS likes to work with disks directly
2) ZFS uses the ZIL to log writes to the pool
3) In the absence of a dedicated log device ZFS will use the pool which slows random writes down considerably
4) Cache on an HBA/RAID controller speeds up random writes
It seems to be an ongoing issue where someone is asking "what the best log device?" or "what is the best SSD to use for a ZIL?" As of now, there is no "best" device short of a FusionIO or DDRDrive and most SSDs suitable for the job are expensive. I've also found that when you do add a dedicated log device and that device isn't "fast" enough you will artificially limit the speed of the pool.
While perusing the Sun tech docs trying to figure out some other issues I came across an article where it is said that one can disable cache flushing if the back-end storage has a protected cache. It has been an issue where some storage devices don't properly honour the ZFS "flush if your cache isn't protected" command and they will instead will always flush the data -even if the cache is protected. The solution is to enable a switch that disables cache flushing or, instead of globally setting "nocacheflush", you can add a line to a config file which tells the system that this particular storage device doesn't need to be tolt to flush its cache.
I think that if there was an HBA or RAID controller which supported JBOD or passthrough mode and still used the on-board cache this would somewhat negate the need for a separate SLOG device. ZFS would use the pool as a ZIL, but these random writes would go to the controller's cache instead to be dealt with later.
I don't know how much of a performance increase this would give, but I think it would be better than using a current-gen lower cost SSD. One way to find out would be to see the performance of a pool on a regular non-cached HBA vs the same configuration on a RAID card with each device in a RAID0.
Thoughts?
Thanks!!
Riley