jgreco
Resident Grinch
- Joined
- May 29, 2011
- Messages
- 18,680
At least we have jgreco left
HEY! I resemble that remark...
At least we have jgreco left
The 5 second interval is about flushing the slog to the pool.
I think Pool-resident ZIL isn't required to confirm async writes...
I get your point... The memory resident copy is what's flushed, but the SLOG (and memory) won't be allowed to build up beyond that point if the flush can't happen.Nope. SLOG writes are always lock-step with the sync write requests.
OK, that's what I was trying to say.No SLOG or ZIL is required to "confirm" ASYNC writes.
Perfect... that would support the recommendation I made.Writes not tagged for SYNC are not written to the ZIL, and ONLY go to the transaction group mechanism.
SLOG (and memory) won't be allowed to build up
In a word, "yes" but you'll also need to adjust zfs_txg_timeout or the 5s default timer will trip you up well before that 320GB threshold is reached.So question again, is it possible to devote 320GB of 384GB RAM to dirty data to smooth out high burst data dumps please?
"We want pics!"Uh?
Nope. SLOG writes are always lock-step with the sync write requests. There is never a read of the SLOG, except at pool import time, so "flushing the slog to the pool" is not a thing that happens. You're confusing a few different interactions here, sorry.
No SLOG or ZIL is required to "confirm" ASYNC writes. Async writes always ONLY go to the in-memory transaction group that is being built out, to be flushed out with the txg.
ANY synchronous write HAS to be committed to the ZIL in order to guarantee compliance with the POSIX requirement to be "committed to stable storage" (I believe is the wording used). This can be the in-pool ZIL space, or a separate SLOG device holding the pool's ZIL.
But those statements may be hard to understand if your concept of ZIL/SLOG is incorrect.
There are basically two things happening in parallel.
[...]
That looks suspiciously like the Ars Technica article I've quoted a number of times in this forum already... not sure which one came first or where the diagrams are from.ZFS sync/async + ZIL/SLOG, explained – JRS Systems: the blog
I think we need to go back to what @jgreco was saying... I don't think the txg timeouts/flushing even apply if you're using sync=disabled.
It's the same author: Jim Salter.That looks suspiciously like the Ars Technica article I've quoted a number of times in this forum already... not sure which one came first or where the diagrams are from. [...]
The interactions with the write throttle and other factors in modern ZFS may make the sort of "large buffer subterfuge" you are attempting more difficult.