What if you have ZFS deployed on SAN in a clustered environment and you require a dedicated SLOG? It would be really helpful if you could create a small LUN (2-4GB) directly out of disk array's cache. This would be perfect for SLOG. All reads and writes to such LUN would be serviced entirely from array's cache - meaning low latency and no double-writes to backend disks/SSDs for synchronous I/O. Some disk arrays actually do provide such feature, for example see Hitachi's Cache Residency Manager.
As a storage engineer, I think this is a terrible idea...at least for largeish arrays that service multiple (>20) hosts. They will do a better job of managing their cache then ZFS will...in that it will be more efficient then breaking off a chunk of cache (which will then be effectively unusable by any one else that consumes storage on said array). A more practice solution is to either integrate a SSD based array on the SAN that one could pull luns off of or locally attach SSDs to the servers (boot from SAN and replace the boot drives with SSDs).
ReplyDeleteFor disk arrays shared by multiple servers (not part of the same cluster) I agree it wouldn't make sense to use it. However if you really care about performance then you wouldn't deploy an application on a disk array shared by another 20+ different workloads anyway. Then you can't use local SSDs for ZIL if you want an ability to move a pool to other systems, as is the case in clustered environments.
ReplyDelete