zil never gets any action

Status
Not open for further replies.

16num

Cadet
Joined
Aug 10, 2018
Messages
1
I've tried everything I can think of including synthetic benchmarks but the zil never gets used (not even a little). This is the case even when transferring files form a SSD to a local pool. Sync options haven't appeared to do anything. What else could I be missing? I'm new to ZFS and don't use it professionally so it's most likely an ammeter mistake I'm making.

I know the zil drive below is way overkill but really just interesting in playing with freenas and ZFS at this point.

the current configuration is as follows
2x6TB raidz1
1x intel 750 400GB zil
1x intel 750 400GB l2arc
2x e5-1240v4
64GB 4ch


thanks
 

m0nkey_

MVP
Joined
Oct 27, 2015
Messages
2,739
ZIL? The correct term in SLOG. ZIL is in RAM, SLOG is on a device such as a SSD.

You're probably not touching the SLOG as it's unlikely you're performing synchronous writes.
 

Stux

MVP
Joined
Jun 2, 2016
Messages
4,419
How are you measuring it’s use?

With gstat?
 

kdragon75

Wizard
Joined
Aug 7, 2016
Messages
2,457
ZIL is in RAM
Or the main pool (still in RAM too) for sync writes if no SLOG is configured. Thats is if I'm not mistaken.
 

anmnz

Patron
Joined
Feb 17, 2018
Messages
286
Or the main pool (still in RAM too) for sync writes if no SLOG is configured. Thats is if I'm not mistaken.
Not sure what you guys mean, because the ZIL is on persistent storage not RAM. Otherwise it wouldn't work...

But yes it's on the pool's normal data storage disks if you don't move it to a SLOG.
 

kdragon75

Wizard
Joined
Aug 7, 2016
Messages
2,457
Not sure what you guys mean, because the ZIL is on persistent storage not RAM. Otherwise it wouldn't work...

But yes it's on the pool's normal data storage disks if you don't move it to a SLOG.
My understanding was that its always in RAM but (for sync writes) it's only considered written once is on non-volatile memory i.e. HDD or SSD. Again the "working" copy is always in RAM.
 

anmnz

Patron
Joined
Feb 17, 2018
Messages
286
My understanding was that its always in RAM but (for sync writes) it's only considered written once is on non-volatile memory i.e. HDD or SSD. Again the "working" copy is always in RAM.

Async writes get stored in RAM and written to disk as part of the next transaction group.

Sync writes get stored in RAM and written to disk as part of the next transaction group just like async writes, but a copy of the data is also written immediately to disk, without waiting for the next transaction group to be written.

The ZIL is that place where sync writes get written to immediately. Its purpose is just to hold sync write data where the write has been acknowledged but the data has not been written as part of a transaction group. Once the data has been written as part of a transaction group, it's removed from the ZIL. This explains why (a) the ZIL is small, and (b) why you never need to read from the ZIL unless you are recovering from a crash.

But it's certainly on disk. Does that make sense?
 

pro lamer

Guru
Joined
Feb 16, 2018
Messages
626
ZIL is on persistent storage not RAM
it's on the pool's normal data storage disks if you don't move it to a SLOG.
Moreover the above is along with the SLOG meaning. SLOG = Separate [zfs] intent LOG (iXsystems university module 101). Opposed to non-separate ZIL being not separated from... the main storage.

Sent from my mobile phone
 
Status
Not open for further replies.
Top