Need help building NAS for Storage and Media Streaming

slydog1225

Cadet
Joined
Jul 19, 2019
Messages
3
Hello,

I have been researching a NAS build for weeks now and I just cannot find any answers. Up until recently, I have been using an external hard drive that plugs into my router via USB to stream media files to multiple TVs and for storage. Its definitely not the best way to do this but it worked. Unfortunately, the hard drive failed on me, assumingely because it really wasn't built for that type of usage.

So, onto the main topic. It seems like the best thing for my needs is to make a NAS that has enough CPU power for media streaming. Throughout my weeks of researching I've found some forum posts about the same topic but they usually get de-railed rather quickly and don't resolve. Some of the best posts I've read have been from here so I decided to create an account and hope I can get some help through my own post.

I'm not very knowledgable on this topic so as much help I can get the better. I'm looking for information on, best parts to use, cases people have used, and any other suggestions you can think of. Consider this as if you have the same needs and are going to build it for yourself

What I want from the project:
  • Have a place to store files, movies, and music
    • I don't need a crazy amount of space, I was thinking maybe two 8tb drives? If needs grow in the future I will just have to upgrade
  • Ability to access the NAS from anywhere
  • Ability to have multiple movie streams going, with the ability to stream in the house and from away (underlined because this is important)
    • I know the resolution level is important when it comes to streaming CPU power, so most of my content is just 1080p but there will be the occasional 4k movie
I was planning on using FreeNAS and to use Plex for media streaming as it seems to be the most popular. I know FreeNAS likes RAM so I would probably go for 32 or 64gb depending on what people think. I know Plex suggests a CPU passmark of 2000 per 1080p stream, but I would want enough cushion to stream 4k content. For storage I will probably go with shucking the drives out of WD Easystores.

The biggest hang up I have is picking a CPU. There's just so many out there and so many different ones are suggested that I just don't know what has the best value-to-performance for what I want.

Well, that's all the information I can think of to start. Thank you anyone that can help!
 

Heracles

Wizard
Joined
Feb 2, 2018
Messages
1,401
Hey Slydog,

Welcome to the community.

The first question I have to ask you is about budget : How big or small is your budget ?

Also, the best solution is the one that answers the needs the best. So what is the volume you have to store on day 1 ? How much do you expect to grow that volume every year ? How many concurrent streams do you need to serve ?

As for streaming from Internet, that will require a remote access solution that will be better served by an actual firewall like pfSense than FreeNAS or a basic, standard home router.

Also, streaming to Internet translates to upload speed on your Internet access. Many Internet Service Providers give you asymetric pipes : more download than upload. How much upload bandwidth do you have as of now ?

You definitely need server grade hardware. Desktop, laptop and gaming systems are not meant to run 24 / 7. The same for hard drives. You will need NAS hard drives like the Seagate Iron Wolf or Western Digital Red series.

You should avoid RaidZ1 because a single redundant disk is too high risk. Whenever you have a an incident, you can not recover from a second, no matter that second incident is the lost of a complete hard drive or just a read error on any of the remaining drives. Because to resilver requires to re-read everything, not to be able to detect and fix single errors at this moment is really not good. Considering your description, I would say RaidZ-2 is surely what you need.

So a server like my DR NAS may be fine for you (see my signature for its description). If it is not, a little more RAM and more CPU like my main server may fit you better.

Have fun designing your setup,
 

slydog1225

Cadet
Joined
Jul 19, 2019
Messages
3
Hello Heracles,

Thank you for replying!

The first question I have to ask you is about budget : How big or small is your budget ?

Also, the best solution is the one that answers the needs the best. So what is the volume you have to store on day 1 ? How much do you expect to grow that volume every year ? How many concurrent streams do you need to serve ?

For budget I figured I would keep it open. Big enough to get whatever would best suit my needs.
I have a few Tbs of data to store on day 1, and probably will grow ~15% every year. There will be probably 3 concurrent streams, 4 max.

Also, streaming to Internet translates to upload speed on your Internet access. Many Internet Service Providers give you asymetric pipes : more download than upload. How much upload bandwidth do you have as of now ?

I have 25Mbps upload speed. For streaming over internet, I'll probably have to look more into the best way to do that then.
 

Heracles

Wizard
Joined
Feb 2, 2018
Messages
1,401
Hi again,

Se let say 4 TB to begin with, a minimum of 5 years lifetime at 15% per year will double that, so 8TB are required. Always try to keep your pool below 50%, so 16TB required. To add space is a pain once the pool is created, so between 16 and 32 TB. I would say 24 is probably right.

A single RaidZ2 vDev will give you the speed of a single disk. Max IOPS is achieved with Raid10. Between the 2, a pool of 2 or 3 vDev would offer a balance.

So options would be :
5x 8TB drives in a single RaidZ2 vDev
10x 4TB drives in a pair of RaidZ2 vDevs
12x 4TB drives as Raid10

You will need the chassis that will fit as many drives as you will have in your pool layout.

For RAM with a 24TB pool, I would say 32G is the minimum and 64G would be better. As for CPUs, any modern server that can fit that much RAM and drive bays should come with a fast enough CPU.

So I suggest you start your research with this and present us whatever you find so we can offer you a more precise advice on it.

Good luck finding what you need,
 

Glorious1

Guru
Joined
Nov 23, 2014
Messages
1,211
Another question is whether you need to transcode video on the fly before streaming, or whether you're streaming the files as they are stored. I do the latter, and I can tell you a minimal processor is more than adequate (see my build in signature). This processor can even handle one or two trancoding streams, I understand, but I've never tried that.

I don't use Plex, and there is no streaming software or jail on the FreeNAS. I use Kodi in a small computer hooked to the television with HDMI - I use a Mac mini but some people use those little tiny raspberry pi's.
 

pschatz100

Guru
Joined
Mar 30, 2014
Messages
1,184
While there are other solutions out there, Plex is a fine system for managing media and streaming. It is well supported and has an active community that can provide support. No problem with that choice.

You are correct to consider upload speed if you want to stream to offsite users. You can figure that one stream will require a minimum of 4 Mb/sec for DVD quality (720p) and at least 8-12 Mb/sec for Bluray quality (1080p). If you actually have effective 25Mb/sec upload, then you could reasonably expect to support one or two DVD quality streams, or one Bluray stream. I don't think your current network upload speed would support streaming 4K over the internet.

Since you will be primarily concerned with reading data, you won't need quite as much ram as if you were doing a lot of writing or trying to host VM's.

Storage best practices dictates that you should not exceed 80% of your storage capacity. As @Heracles rightly suggested, plan for growth when you initially set up your system as it is a bit of a pain to expand the capacity of a ZFS volume. You definitely want some redundancy to protect the integrity of your data. For large capacity disks, a mirror or RaidZ2 would be recommended. With two 8Tb disks in mirrored configuration, you would have raw capacity of 8Tb (actual storage is less after formatting and certain operating system overhead.) Roughly speaking, that would support about 6Tb of data before it was time to upgrade. You might want to read up on ZFS storage to help you decide what to do - there is lots of information about storage on the site.

For this much storage capacity, with the priority being reading data, I would recommend a minimum of 16Gb memory. The tricky part is considering what processor to look for. The Plex recommendation suggesting a cpu with a passmark of 2000 for 1080p data is for low-bit rate video in the realm of 10 Mbs. If you plan to support and transcode 1080p high bit-rate data (such as what comes off a Bluray disk), then expect to require a passmark of at least 8000. Of course, whether or not you will need to transcode will depend upon whether or not your playback devices have native playback support. There is much more information about this on the Plex site.

To save a little money, you can buy a motherboard and CPU that is one or two generations old.
 

slydog1225

Cadet
Joined
Jul 19, 2019
Messages
3
Hello again,

Thank you everyone for replying!

Another question is whether you need to transcode video on the fly before streaming, or whether you're streaming the files as they are stored

So I was assuming I will need to transcode some video as there will be a decent amount of streaming over the internet. As for the other streaming devices, I'll be using a fire tv stick, Roku, and an iPad, and from what i've read streaming locally shouldn't really require transcoding. With all this in mind, I now have to figure out a cpu. Using the Passmark suggestions from Plex, I think I'm looking at a CPU with a score of at least around 12000?

For storage, would it be better to do 4x 6tb then? Given a proper level of redundancy and my storage requirements? Since it'll be better then 2x 8tb drives?
 

Heracles

Wizard
Joined
Feb 2, 2018
Messages
1,401
Hi again,

4x 6TB would give you the 24TB only if you do a pool without any redundancy. Clearly a big No-No here!

The minimum would be 6x 6TB in a RaidZ2 config. That would give you the 24TB of usable space and the 2 drives redundancy. Should you limit yourself to 4 drives, that would means 4x 12TB.

Should my original guess of 4TB as of now be too high and you are closer to 3, it would still requires 3TB * 2 (growth) * 2 (don't exceed 50%) * 1.5 (better be safe than sorry), so 18 TB. That could be done with 5x 6TB drives in RaidZ2.

To achieve it with more disks may offer the possibility to do Raid-10 and gain significant speed. If you stay with RaidZ2, your pool will basically have the speed of a single drive.
 

pschatz100

Guru
Joined
Mar 30, 2014
Messages
1,184
For storage, would it be better to do 4x 6tb then? Given a proper level of redundancy and my storage requirements? Since it'll be better then 2x 8tb drives?
If you configured 4x6TB drives in a RaidZ2, you would have about 12 TB raw capacity which would support roughly 8TB of data, but you also have two disk redundancy in case of disk failure. This is not a bad configuration - if the capacity is enough to handle your needs for the next two to three years.

Keep in mind that 8TB of data is quite a lot.

My home system has a Xeon E3-1240V2 cpu with a passmark of 9139. I use 4K compatible Rokus on all my TV's at home, which means the only time my system trancsodes video is when sharing a movie over the internet. For that purpose, my CPU is powerful enough. Again, if Plex is your priority, then spend some time on the Plex site to better understand storage and transcoding requirements.
 
Last edited:
Top