Hey guys,
First let me say that I love the show and appreciate all the hard work
you guys put in producing it! I learn something new every time I listen!
I'm working on new FreeBSD ZFS storage box and I have a question
regarding the use of a mirrored vs. non-mirrored SLOG (separate log /
dedicated ZIL) devices.
In the past, it was recommended to always mirror SLOG devices in case of
a HW failure. Now there's conflicting information floating around that
says it's no longer necessary. From what I understand, the purpose of a
SLOG is to speed up SYNC writes to the pool by giving ZFS a fast
(usually SSD), non-volatile, linear block of storage for the TXGs
(transaction groups) before ACK'ing SYNC writes. I believe the TXGs are
still held in RAM and when it comes time to flush the data to the pool,
it's done from RAM - the SLOG is simply a "replay" backup in case of
immediate power failure.
If this is the case, would ZFS be able to sustain a SLOG HW failure
since the TXGs are still in RAM? If so, would a pool allocated ZIL (the
default when there's no SLOG) take over and be used for future SYNC
writes until the SLOG was replaced?
Obviously this would slow down any future SYNC writes until the SLOG was
replaced, but I think that's acceptable as the primary concern here is
"in-flight" data loss.
Thanks in advance!