kernel integration is iffy; I don’t want to attach a module to my system every time I compile the kernel and prey that the difference in pace between the release schedules of openZFS and Linux hasn’t caused issues, and because of the licencing issues my options of having a distro with zfs built in are very limited.
it’s performance isn’t excellent from a NVME standpoint. It’s not terrible, but it could be better.
it has a massive code base, making introducing things like performance improvements and new features quite a challenge (Though the openZFS team are doing a bang-up job despite this).
Ultimately if I was still holding on to 40+TB of important data, I’d be using ZFS and be happy about it. I want snapshots on my workstation, without all the strange issues I’ve had with btrfs. I’m sure bcachefs will have its own issues but it’s better to have options.
Sure, I understand the part about having to compile the ZFS module every time alongside the kernel. But that must be some heavy-lifting you’re doing if you’re regularly compiling your own kernel. I’d be interested in what you’re running that requires such efforts.
I don’t understand why you would need NVMe for ARC. Doesn’t it run in RAM only? Isn’t L2ARC what runs on storage devices?
Not really heavy lifting, I’m just running the Xanmod kernel, and need to turn on some features I need for eBPF development. I’m also keeping up to date with kernel releases, so every 6 weeks or so I need to rebuild.
The ARC runs in RAM, but is generally best when it’s given:
A consistent amount of memory.
An easily predictable workload.
Long periods of time between restarts.
Conditions great for a server but not so much for a workstation. I don’t intend for my cache misses to go to spinning rust, so I have 2 2TB NVME drives. SSDs are cheap as chips currently.
The L2ARC is a victim cache of the ARC, and while it is persistent it’s still much more effective for me to just use a NVME drive for my pool.
Just went through Xanmod’s page: the list of features provided seem exciting, although I don’t really know much about some of them. Do you need these features for eBPF development?
Well, you’re right: ARC is best used in a server. What problems did you have with BTRFS that prompted you to switch?
I use Xanmod for gaming (fsync & related tweaks), but need other flags for development on the same machine.
My issues with BTRFS were mainly in their userspace tooling; ZFS volume management is just glorious, it felt like a significant downgrade to use BTRFS.
Just to be sure, what’s wrong with ARC and L2ARC?
My issue is not with the ARC, it’s a few things:
kernel integration is iffy; I don’t want to attach a module to my system every time I compile the kernel and prey that the difference in pace between the release schedules of openZFS and Linux hasn’t caused issues, and because of the licencing issues my options of having a distro with zfs built in are very limited.
it’s performance isn’t excellent from a NVME standpoint. It’s not terrible, but it could be better.
it has a massive code base, making introducing things like performance improvements and new features quite a challenge (Though the openZFS team are doing a bang-up job despite this).
Ultimately if I was still holding on to 40+TB of important data, I’d be using ZFS and be happy about it. I want snapshots on my workstation, without all the strange issues I’ve had with btrfs. I’m sure bcachefs will have its own issues but it’s better to have options.
Sure, I understand the part about having to compile the ZFS module every time alongside the kernel. But that must be some heavy-lifting you’re doing if you’re regularly compiling your own kernel. I’d be interested in what you’re running that requires such efforts.
I don’t understand why you would need NVMe for ARC. Doesn’t it run in RAM only? Isn’t L2ARC what runs on storage devices?
Not really heavy lifting, I’m just running the Xanmod kernel, and need to turn on some features I need for eBPF development. I’m also keeping up to date with kernel releases, so every 6 weeks or so I need to rebuild.
The ARC runs in RAM, but is generally best when it’s given:
Conditions great for a server but not so much for a workstation. I don’t intend for my cache misses to go to spinning rust, so I have 2 2TB NVME drives. SSDs are cheap as chips currently.
The L2ARC is a victim cache of the ARC, and while it is persistent it’s still much more effective for me to just use a NVME drive for my pool.
Just went through Xanmod’s page: the list of features provided seem exciting, although I don’t really know much about some of them. Do you need these features for eBPF development?
Well, you’re right: ARC is best used in a server. What problems did you have with BTRFS that prompted you to switch?
I use Xanmod for gaming (fsync & related tweaks), but need other flags for development on the same machine.
My issues with BTRFS were mainly in their userspace tooling; ZFS volume management is just glorious, it felt like a significant downgrade to use BTRFS.