TrueNAS Scale and ZFS, is ECC important enough to get? (Cezzane APU)

So I’m now split between buying the 5700G and the PRO 5750G simply over ZFS reconditioning checks and how ECC memory might play into that. I would definitely want to run some VMs using KVM, and that will include a RX 6800 for passthrough.

Trouble is, is the ECC worth the clock speed drop and lower speed RAM for peace of mind during reconditioning? Is a 5700G good enough for 24/7 Homelab server usage keeping in mind I will be frequently reconditioning my pools?

I had considered using a GUI to manage my ZFS pools in Fedora, but Fedora upgrades make me very fearful what would happen to my OS post upgrade. This is why I’m leaning towards Debian based TrueNAS Scale.

1 Like

In reality, you could skip ECC without issue

If it were my money though, I would get ECC

Either CPU will serve you well.

3 Likes

I would assert majority of home servers is simply idle 24/7 and burning electricity for no good reason. :slight_smile: Yet one factor in DRAM’s bit error rate is how often memory cells are accessed.

Personally I won’t worry about doing ECC memory for home use. Definitely won’t do it for the sake of ‘peace of mind’.

I would do ECC for the fun of it such as annual observation of any possible errors corrected or not, and using ECC as a tool in assisting memory overclock (as Linus Torvalds said).

I think PRO series Ryzen is locked and not overclockable. 5700G seems a better choice for you. Btw, what features are you looking for in PRO? I think PRO or non PRO both support ECC. Make sure you pick a motherboard that supports ECC if you decide to do it. Motherboard is more important than CPUs.

1 Like

You can overclock (ECC) memory on a Cézanne Pro APU and the CPU frequency. The parts that are unfortunately locked are the APU’s EDC, TDC and PPT, limiting the frequency the APU can actually clock at under a real load.

Source: Me with B550 systems with 4750G and 5750G APUs.

Made me a bit sad, would have loved to see how far these APUs could be pushed since cooling them is pretty easy.

1 Like

Here’s a quote from Matt Ahrens, one of the co-founders of the ZFS project at Sun Microsystems.

There’s nothing special about ZFS that requires/encourages the use of ECC RAM more so than any other filesystem. If you use UFS, EXT, NTFS, btrfs, etc without ECC RAM, you are just as much at risk as if you used ZFS without ECC RAM. Actually, ZFS can mitigate this risk to some degree if you enable the unsupported ZFS_DEBUG_MODIFY flag (zfs_flags=0x10). This will checksum the data while at rest in memory, and verify it before writing to disk, thus reducing the window of vulnerability from a memory error.

I would simply say: if you love your data, use ECC RAM. Additionally, use a filesystem that checksums your data, such as ZFS.

https://arstechnica.com/civis/viewtopic.php?f=2&t=1235679&p=26303271#p26303271

2 Likes

I don’t know how true this is or not, but somebody I generally consider to be “in the know” once told me that if I were to leave my server running 24x7 and 365, then over the course of 1 year I might experience at most 1 or 2 flipped bits. Is that how you are planning on using your server? Is that going to break anything, or be enough to cause a problem? Who can say?

All I know is, I tend to reboot my servers and refresh the RAM at least every time I get around to installing their updates. That’s at least every two or so months, for me. Sometimes, I’ll even refresh the system before or right after I plop any heavy workloads onto it just as a precautionary measure. Sometimes, instead of just a reboot I’ll perform a full power-cycle and allow enough time for any stored charge to dissipate. By sticking to these habits, I haven’t broken one yet. But, I’ll keep trying!

Any “bitflipping” is obviously an error and will generate corrupted data in some way. If you don’t care about your data that’s all fine but if it’s irreplaceable you most likely should think twice about your choices.

@FurryJackman
You can easily find ECC memory that runs at 3200 which is more than fine for your hardware so I don’t see where the “clock speed drop” is? If you’re planning to go out of spec from the start you probably shouldn’t spend money on ECC. I don’t understand what you mean “reconditioning my pools”, using the zfs scrub command? Regarding “is it enouth” it depends highly on what you’re going to run, we can’t answer that question for you. Look at the recommended system requirements for whatever you want to run and add that on top of the hardware you’re going to run. Reserve around 2 cores and 8Gb of memory for the system itself.

1 Like

AFAIK you need PRO for ECC support from APU:s, most (all?) Ryzen CPU:s without integrated graphics support ECC. See [Motherboard] List of AMD Ryzen™ Processors with support for ECC memory | Official Support | ASUS Global.

Agree.

1 Like

Any bitflipping in a ZFS ARC cache can be solved by rebooting the server, and having it refresh the uncorrupted data off the disk. I’m not sure, but ZFS might even have an automatic way of doing self-healing that’s worth looking into.

1 Like

This is what I’m curious about. Would make the choice between the 2 CPUs simpler.

My guess is if you don’t already know why you need it, then you probably don’t.

Well the choice is approx. 150 or 160 FPS with that RX 6800 when talking performance gains in getting overclocked memory.

Home server doesn’t need memory bandwidth, I’m running with 2666MT/s and I have to try real hard to find an application where memory clock is beyond rounding/measure tolerances.

I was also running a gaming VM for a couple of months. Difference between 2666 and 3200 was trivial, I rather have the ECC because it’s primarily a home server.

Good thing about ECC…very stable in price and you can still sell it after years where normal memory is basically e-waste.

1 Like

Wait… If we’re talking about game performance, then ECC shouldn’t even be on the table, because it imposes higher latency. Personally, I would never put ECC into a gaming system. None of the data on a gaming system is either irreplaceable or important enough to be of any concern to justify the extra latency and performance drawbacks. That isn’t going to solve any real world problem which lacks an alternative solution. Save your money to buy a better GPU instead.

Moreover, ZFS is a performance and resource hog. I wouldn’t install my gaming OS on ZFS, either. Games can always be re-downloaded and reinstalled, and are not so time sensitive that it requires the features in ZFS. Maybe at an esports event, it might make sense. However, you’re going to have to ensure it’s a level playing field, and verify there’s no cheating by players looking for a competitive edge by disabling certain performance robbing features.

Unfortunately with the PCI-E 3.0 limitation of Cezzane and VFIO only pinning 6 physical cores, 6800 is the choice that works for my VM needs because I want to also run a macOS Monterey VM.

So BTRFS is better in that regard?

Edit: Oh, BTRFS has no stable RAID5/6.

There are other parity RAID solutions than those in BTRFS or ZFS which are just as good, and may offer better performance worth looking into.

Unless you have ECC in the systems generating or writing to the data, ECC in the NAS is of limited use.

1 Like

They aren’t as good… ZFS has a performance overhead because it actually verifies that what you put in is what you get out.

1 Like

Right… But, how important is that to a gaming system? What does it add which justifies the drawbacks?