RAM and CPU Question

ZILoBeast

New Member
Dec 27, 2017
9
0
1
45
Hey everbody,

I‘ve come into the next round of Planing my personal NAS.
As i Mentioned in previous threads i want to use FreeNAS with ZFS (RAID-Z2) for the storage of my movies and music and photos.
Maybe i want to stream mkv files (movies) - but only for myself (which means that there a few clients (mobile, pc and Tv) maybe two at the same time).

Now to my questions :
  1. I have read that there are differences about unbuffered ECC Ram ans registered ECC Ram. What do I need for my needs ?
  2. On a price comparing website from my country I saw some mainboards which also offer cpus (for example Xeon D-1527). Now the question - is this cpu ready for those needs even if mkv files (Dolby atom, DTS HD, DTS:X and all those new codecs) can stream properly to any device or do I need to transcode Them ? Or isn’t it necessary for me to use those CPU’s and use just a “normal” (for example Pentium)
  3. And what is more important for this kind of server - higher GHz oder more cores ? And does the generation of the CPU even matter ?
  4. Last question which came to my mind yesterday afternoon - later, when my server is in operation, what happens if some components get broken ? For example if a hdd gets broken, will FReeNAS tell me that I have to change the HDD ? And what about components such as RAM, Motherboard and CPU ? Can I simply change it and again it runs alright ?
Thanks everyone for your time
 

alex_stief

Active Member
May 31, 2016
751
241
43
36
1. Depends entirely on the CPU you choose. "Smaller" Intel Xeon E3 CPUs for example can not handle RDIMM, they need UDIMM. Apart from that, there is not really a difference from the user perspective unless you need tons of RAM which requires RDIMM or even LRDIMM and a CPU+motherboard compatible with it.
I will hand over the other questions...
 

i386

Well-Known Member
Mar 18, 2016
2,650
769
113
32
Germany
And what is more important for this kind of server - higher GHz oder more cores ?
More clients -> more room for more clients
Higher clock -> faster encoding/transcoding
And does the generation of the CPU even matter ?
Yes and no. Some workloads benefit from new instructions sets or extensions if the software supports it.

Last question which came to my mind yesterday afternoon - later, when my server is in operation, what happens if some components get broken ? For example if a hdd gets broken, will FReeNAS tell me that I have to change the HDD ? And what about components such as RAM, Motherboard and CPU ? Can I simply change it and again it runs alright ?
You should be able to import your zfs pools (and the files on it) to another system.
Can't say if your settings/shares will be still there or if you have to set them up again.
 

nk215

Active Member
Oct 6, 2015
322
98
28
47
Let me be honest with you

If your NAS is to store movies music and photo, you shouldn't use FreeNAS. The biggest advantage of FreeNAS is protection against bit rots, snap shots, dedupe, SLOG etc. None of those advantages is important for bulk storage (movies/music/photo). Along with the advantages, FreeNAS comes with a costly disadvantage which is pool expansion: You can't expand the pool one drive at a time. To add an additional 4TB to the pool, you'll need two 4TB drives at the minimum for example.

In my opinion/experience, the ability to expand the pool on the as-needed basis is important for bulk storage to save noise, power and cooling need. 2x drives uses more power, takes up more slots.

The easiest NAS to DIY is Xpenology 5.2. It's very easy on memory (4G is more than enough), has tons of add-on. You will love DS-Audio for your music. Stream music to your phone anywhere. I've never seen an equivalent apps that's as easy as DS-Audio for music. It does Flex also.

Now back to your questions:
1) Unbuffered ECC is also registered ECC (UDIMM). It's used on Xeon E3 or I3 processor. Older generations of E3 as a hard limit of 32Gig max. Newer one has 64 Gig limit. The benefit of UDIMM is the CPUs that can use it are low power CPUs (save some energy cost).
In general, UDIMM is more expensive than RDIMM (which is used on E5 family).

Regular registered (also called unbuffered) ECC ram is RDIMM used in E5 family. E5 family has very high memory limit.

The practical difference between ECC and non ECC memory bulk-data NAS is how often you need to reset your server. with Non-ECC memory based NAS, you may need to reset it once or twice a year at the most. With ECC memory, you can go for 2-3 years w/o resetting (I've never have a system running continuously for more than 3 years, there was always something I need to update).

2) Xeon-D is great since it's a low power medium load build. Xeon board is too expensive for what it can offer you.

3) Newer generation CPU gives you less power consumption for equivalent computing power and lower idle power. This is important for a NAS in high utility cost countries like where you are. They key is equivalent computing power.

4) All NAS OS will email/send you an alert if a HDD goes bad and which HDD is bad. You'll look up the bad HDD serial#, pull that drive and replace it. RAM/Motherboard and CPU goes bad means a system will lock up. You'll need to debug is yourself. There's no real early warning against these kind of issues. You typically won't lose data in these situation.

Now my recommendation:

If you don't see transcoding 4K in your near future: Build a NAS with 8gig UDIMM i3-4330. This is basically a TS140 or equivalent and can be bought for cheap. FreeNAS would work here too but explore other options first. I highly recommend Xpenology 5.2 as a starting point, it's easy to setup does everything you need especially with DS-audio app. OpenMediaVault is another options. There are many options out there. E3-1230v1 is also a good CPU candidate. Those are practical build for your 1-2 users need.

If you want to do 4K transcoding then a minimum is a E5-2680v3 for one stream. Anything less then you'll get buffered on the first few minutes of the movie.
 

i386

Well-Known Member
Mar 18, 2016
2,650
769
113
32
Germany
Along with the advantages, FreeNAS comes with a costly disadvantage which is pool expansion: You can't expand the pool one drive at a time.
You're right, at least for now :p
The FreeBSD team announced at the openzfs summit that they will implement this feature for zfs in freebsd 12, slides from the presentation can be found on the openzfs website (http://open-zfs.org/w/images/6/68/RAIDZ_Expansion_v2.pdf)
 

K D

Well-Known Member
Dec 24, 2016
1,437
316
83
30041
If it is just media storage, look at a non striped array like Unraid or my favorite StableBit DrivePool. I have not used Unraid extensively beyond some initial testing of the free offering but I have used and love drive pool. It basically creates an array of all your drives and can accomodate drives of different sizes. The only disadvantage is that if you dont have access to a windows license, that adds to the cost.

I moved over my always on home server to ZFS because I am running several other services on the same box and wanted to make it an AIO and I'm using the HDD array for some VM storage as well.

Drives run a lot cooler with DrivePool than with ZFS. (I use both FreeNAS and NApp-IT)
 

K D

Well-Known Member
Dec 24, 2016
1,437
316
83
30041
Also, If building a media streaming box (Either Plex or Emby) definitely get a CPU with intel QuicSync or add a compatible graphics card to enable hardware transcoding. I'm currently on vacation and on very poor internet. Every video I play needs to be transcoded. With hardware transcoding, there is a lot less buffering and smoother playback.
 
  1. On a price comparing website from my country I saw some mainboards which also offer cpus (for example Xeon D-1527). Now the question - is this cpu ready for those needs even if mkv files (Dolby atom, DTS HD, DTS:X and all those new codecs) can stream properly to any device or do I need to transcode Them ? Or isn’t it necessary for me to use those CPU’s and use just a “normal” (for example Pentium)
  2. Last question which came to my mind yesterday afternoon - later, when my server is in operation, what happens if some components get broken ? For example if a hdd gets broken, will FReeNAS tell me that I have to change the HDD ? And what about components such as RAM, Motherboard and CPU ? Can I simply change it and again it runs alright ?
I didn't see a response to this part so I thought i'd jump in... the numbers changed on shortening the post for some reason.

In terms of sound codecs (atmos, DTS and such) nothing should ever matter in terms of streaming - they are just audio data embedded in Master Audio high bitrate streams currently. If you want height channels you need those uncompressed streams. If you transcode anything in the audio you'll lose them. (though if youre just downsampling for say a stereo laptop feed that doesn't matter much anyway) My point is any cpu should do it fine.

Video can be different - if a codec like h265 is supported in hardware like the newer Intel HD graphics stuff, it encodes fast, at lower power and heat. If there's some new codec NOT supported - you need a bucket of cpu power. However whatever is after h265 will likely need a cpu upgrade as well - even doing that in software requires mega power.


In terms of broken components - one thing that is nudging me in the direction of SnapRAID for the home is that it sounds very hardware agnostic. Although it wont tell you an HD is broke for instance, you can upgrade downgrade replace alter and it doesn't care. RAM can go up or down, different mobo, different cpu, as long as the installed OS still runs SnapRAID will still work to insure data integrity and restore (only when manually triggered) corrupted data including entire drives at a time if need be.

If you don't know about SnapRAID you might want to investigate it. I'm going to be using it on my own NAS projects once I get them up this spring but can't tell much more until I have hands on experience.
 

Joel

Active Member
Jan 30, 2015
816
168
43
40
No no no!!!

"Unbuffered ECC is also registered ECC (UDIMM)..."
"Regular registered (also called unbuffered) ECC ram..."
For the detailed explanation, go to:

Registered memory - Wikipedia

If that's tl;dr: DDR registers go between the memory and the controller, typically to allow very large amounts of memory to be supported. The absence or presence of a register has nothing to do with ECC functionality (it's uncommon but possible to find registered memory without ECC).

The practical difference between ECC and non ECC memory bulk-data NAS is how often you need to reset your server. with Non-ECC memory based NAS, you may need to reset it once or twice a year at the most. With ECC memory, you can go for 2-3 years w/o resetting (I've never have a system running continuously for more than 3 years, there was always something I need to update).
The practical difference is that if you use ZFS or similar software RAID filesystems, you could actually trash your data if your memory goes bad if you don't use ECC.

Sorry, my inner Cyberjock came out. Putting him away now. :)
 

Joel

Active Member
Jan 30, 2015
816
168
43
40
Now I am curious. Do you have an example? I have never seen registered memory without ECC, at least for DDR3 and 4.
That was a quote from the Wikipedia article I posted.

I'm speculating here, but there may be use cases where a client prefers the risk of data corruption to a kernel panic that brings a system totally down (which would happen in most 2-bit corruption scenarios), and commissions custom memory. Probably cheaper to design everything for HA and redundant everything...
 

nk215

Active Member
Oct 6, 2015
322
98
28
47
The practical difference is that if you use ZFS or similar software RAID filesystems, you could actually trash your data if your memory goes bad if you don't use ECC.

Sorry, my inner Cyberjock came out. Putting him away now. :)
Matt Ahrens co-founded the ZFS project at Sun Microsystems in 2001, designed and implemented major components of ZFS including snapshots and remote replication, and helped lead Sun's ZFS team for 9 years. Matt is now a software engineer at Delphix, where he leads a team working on ZFS for Delphix's database virtualization appliance. He continues to develop ZFS code, as well as coordinating open-source ZFS development across companies and platforms.

Matt founded the OpenZFS community, a collaboration among FreeBSD, Linux, Mac OS X, and illumos ZFS developers. He has presented at Sun Tech Days, the Open Storage Summit, BSDCan, LinuxCon, EuroBSDcon, AsiaBSDcon, and dotScale. He created the annual OpenZFS_Developer_Summit conference in 2013, and organizes it and delivers a keynote every year.

Matthew said “There’s nothing special about ZFS that requires/encourages the use of ECC RAM more so than any other filesystem.”

Seach the "scrube of death" or "hash collision" for more info.
 
  • Like
Reactions: Evan

Evan

Well-Known Member
Jan 6, 2016
3,278
566
113
Matthew said “There’s nothing special about ZFS that requires/encourages the use of ECC RAM more so than any other filesystem.”

Seach the "scrube of death" or "hash collision" for more info.
The key take away that probably all file servers should run ECC.
 

Joel

Active Member
Jan 30, 2015
816
168
43
40
Matthew said “There’s nothing special about ZFS that requires/encourages the use of ECC RAM more so than any other filesystem.”

The "special" thing about ZFS is scrubbing.

If the memory is bad, scrubbing makes the computer think that good data at rest is bad, and so it "fixes" the "bad" data on the hard drive.

ECC provides a way for the computer to know if the memory is bad, preventing data trashing.
 

nk215

Active Member
Oct 6, 2015
322
98
28
47
The "special" thing about ZFS is scrubbing.

If the memory is bad, scrubbing makes the computer think that good data at rest is bad, and so it "fixes" the "bad" data on the hard drive.

ECC provides a way for the computer to know if the memory is bad, preventing data trashing.
It's not how scrubbing work. That's only true in a hash collision situations. Which is 1 in every 2^256 chance.

Let's agree on disagreeing.