
On Mon, 23 Jul 2012, Craig Sanders <cas@taz.net.au> wrote:
Right now, the entire block devices are mirrored. So yes, the ZIL is.
there's no benefit in having the ZIL mirrored, but it's probably not worth the hassle of changing it.
http://en.wikipedia.org/wiki/Zfs#ZFS_cache:_L2ARC.2C_ZIL The below paragraph is from the above Wikipedia page. It seems that mirroring the log device is a really good idea, particularly if it's a SSD. Also it would be interesting to know whether the zfsonlinux code isn't one of the "earlier versions of ZFS" mentioned. The write SSD cache is called the Log Device, and it is used by the ZIL (ZFS Intent Log). ZIL basically turns synchronous writes into asynchronous writes, which helps e.g. NFS or databases.[39] All data is written to the ZIL like a journal log, but only read after a crash. Thus, the ZIL data is normally never read. Every once in a while, the ZIL will flush the data to the zpool, this is called Transaction Group Commit. In case there is no separate log device added to the zpool, a part of the zpool will automatically be used as ZIL, thus there is always a ZIL on every zpool. It is important that the log device use a disk with low latency, for superior performance a disk consisting of battery backed up RAM, such as the ZeusRAM should be used. Because the log device is written to a lot, an SSD disk will eventually be worn out, but a RAM disk will not. If the log device is lost, it is possible to lose the latest writes, therefore the log device should be mirrored. In earlier versions of ZFS, loss of the log device could result in loss of the entire zpool, therefore one should upgrade ZFS if planning to use a separate log device. -- My Main Blog http://etbe.coker.com.au/ My Documents Blog http://doc.coker.com.au/