Can I have a 2 TB ZIL that can make use of the full 2 TB as a write cache?

Even if i resolve the PC issue, truenas with a hard disk in a mirror configuration isn’t going to accept data and faster than 100MB/sec because it will be limited by my 1GB connection and the write speed of the disks.

The solution is to create a pool with SSD(s) and 10GB ethernet.

Tuning the ZFS caching is simply not going to work. The only remaining question is whether this is FUNDAMENTAL design issue (i.e., that transparent write caching simply cannot be done which seems really unlikely to me) or whether it is simply an artifact of the ZFS design since things have been bolted on after the initial design. I’m assuming it is the latter. Is that correct?

Yes, it’s a fundamental design decision, as you’ve repeatedly been told. ZFS has no concept of a write cache device. That isn’t what SLOG is, that’s never what it’s been, and it’s highly unlikely it will ever be. This may mean that ZFS is not the filesystem for you (and thus that TrueNAS is not the NAS for you), or it may mean that you need to implement a workaround. But ZFS has never worked in the way you want it to, and in all likelihood it never will.

3 Likes

I might add that it’s not a random, arbitrary hatred for the concept.

Fundamentally, the pool must be able to keep up, otherwise your problem space explodes in complexity and you’re better off solving it in userland (i.e. Explicitly moving files around to meet your needs) than trying to tack on even more complexity in ZFS.

Since the pool needs to be able to keep up, only a few seconds of write buffer are ever needed, and thus it always fits in RAM, and thus literally cannot be any faster.

3 Likes

dang… if it’s on windows there is a piece of software called “primocache” that does exactly what you are looking for, setting time for how long until flush happens, can write to ram / L2 before comits to HDD at risk of losing data with powerloss or system crash. I been trying to look for ways to do it on truenas without too much luck at the moment too, best i’ve got is to use Esxi to create NVMM from RAM w fakepmem, then pass it in as RAM disk to truenas, and setup some script to sync that ram disk to slower hdd.

That’s doing an end-run around the various OS and ZFS features meant to limit the damage in case of foot-shooting by users thinking they just yeet all their data into RAM and let it trickle out onto the disks. It’s an all-around terrible idea that seems to add a lot of problems without actually resolving the perceived need for tiered storage.

1 Like

Why are you looking at ZFS in the first place if you don’t care about losing data?

2 Likes

Open Media Vault is a valid alternative if you are not adamant about data integrity.

1 Like

Or unRaid, BTRFS, etc. In that context, solutions from ReadyNAS, Synology, and QNAP are usually a better fit thanks to streamlined UIs, an excellent feature set for most SOHO users, relatively low cost, and a small attractive form factor.

Many alternatives to TrueNAS exist. The reason to select TrueNAS is that you care about data integrity and want greater freedom re: your hardware choices / configurations / fine-tuning / protocols / etc. Going with TrueNAS entails a steep learning curve re: setting up Pools, enabling permissions, learning about snapshots and replication, etc.

Ultimately, the users here do it because TrueNAS is the best solution for them, but it certainly is not the best solution for everyone. The team at iXsystems has been working to make TrueNAS more attractive to a wider set of audiences, but fundamentally a lot more is being left exposed for people to deal with than if their intent was to develop a consumer-friendly NAS system.

3 Likes

pretty simple, because of such feature is in need. For instance some of heavy AI workload which could generate many different checkpoints or files; or constant VM snapshots, which will give lots write during the process but final result or what actually needs to be committed is generally small, and the procedure’s byproduct is disposed and no longer important; or you can use it for comparative benchmark, or building volatile data for either privacy or for other temporary purpose. I am not looking at ZFS exclusively for this feature, but just saying if there’s an option for that, that be nice.

yeah I think that’s more less of actual understanding vs having that option in the first place. I see no reason if someone need that feature, and knows what they are getting themselves into, not to have that feature available. That’s why the conecpt of RAM disk even exist, else no one in the old days would pay for RAM disk software.

You want a tmpfs, setup a tmpfs.

You want to store data, let ZFS do its thing.

For the millionth time: ZFS already caches all writes in DRAM. It is physically impossible to get faster than that in conventional computer architectures.

Also, because this is going nowhere and the question has been answered, I’m locking this thread.

2 Likes