Hi, I want to start using FreeNAS to build my first NAS.
And like some help to pick parts.
My budget for the platform (CPU+RAM+Boot drive+Motheboard+Case. I already have a 650w ATX PSU that I can reuse) is 500.00 EUR and don’t need to include the HDDs, I am currently living in Portugal, so amazon.es is an option.
For the HDD I am thinking in to start with 2x4tb which I will run in mirror mode, but I am not sure if it is the right approach.
Also, I would like to fit a GPU for video transcode (I already have a gtx970 for this)
I want to use this NAS to store my family photos and videos, and some documents. Also, I would like to install jellifyn to stream videos to my living room.
It will be accessed by one device the majority of the time and since I am not confident to open it to the internet It will be accessed only in the lan only.
Buying a used dell t5810.
Pros: has ECC memory support,
Cons: power consumption is higher, and property form factor that I don’t know if I will be able to adapt to fit more HDDs in the future.
Buy a Chinese X99 motherboard and a Xeon CPU.
Pros: have ECC memory support, and a standard form factor,
Cons: the power consumption is high and usually the bios support for those motherboards is a little crap.
But I am open to suggestions of other parts/platforms.
Another thing I forgot to mention is that I have a good space to put it, so larger cases are not a problem like a 4u case, fractal de define r7, or node 804 as long it can fit like 8x3.5 HDDs. But it should not be very loud.
I am willing to do modifications like case swap two to make it fit more HDDS or change fans to make it quiet.
I looked at all those options for my server and chose the RYZEN route.
The Chinese X99 would be a very good solution except your’re not saving much and having to wait a long time for delivery.
The rack mount server would very competently and cheaply do the job without question. However as I’ve said before it’s like keeping a lion as a pet instead of a cat.
I actually think the self built RYZEN system is the quality choice. However I would suggest you go for a large tower case designed for quietness and plenty of hard drives. Antec do some cheap and Be Quiet have the same thing only expensive.
In terms of drives you can fit 2x 4TB SATA in Mirror and later add the same again to the pool. Remember you don’t have to match your drives if you start a new pool. Inside the server you will have a number of datasets and you can simply move some of them to the new pool thus freeing up space in the original pool, simples.
I wouldn’t mess with dell or sketchy chinese mobos if this is supposed to be a place of data safety and stability, and flexible expansion options. Used enterprise/business grade Dell and HP can be a really good deals but you have to know what you’re doing because they have various bullshit quirks that can bite you later on.
I’m assuming you’re planning on running TrueNAS Core, but most of what’s below is applicable to any Linux/Unix OS doing the jobs you plan to do on it.
CPU/GPU:
Do you need real-time transcoding if you’re only playing videos on the LAN?
Real-time transcoding is most useful for clients on the internet that have slower connections, data caps, or don’t support all common media codecs. As long as you’re using a device that can decode H.264 and H.265, you probably don’t need transcoding very much at all.
A Ryzen 5500 CPU will be able to transcode one stream at very high quality without GPU acceleration (or the associated headache). If you do decide to open it up to internet clients later on, it can probably do a few streams at lower bitrates without breaking a sweat.
To decode H.265 on windows from jellyfin, you will need to install a program like Jellyfin Media Player. Just an FYI, H.265 in web is a bit hit and miss.
If you don’t need real-time transcoding, you could opt for a Ryzen CPU with integrated graphics and avoid needing to have the GTX 970 used for this server. This would save power (not sure how much, or how much power costs you), and free up the GTX 970 for other uses.
If your roles for this server are jellyfin (1-2 transcodes, or using GPU transcoding) and file storage, a Ryzen 5500 is overkill. I do all this and way more on a Haswell quad core CPU (~1/4 of the speed of a Ryzen 5500). AM4 is a platform that you could grow into, but based on your planned usage you would be better off getting something cheaper.
Motherboard:
That motherboard has realtek LAN. If you are running FreeBSD (e.g. TrueNAS Core, which is based on it), you may have issues with that. Either upgrade to a motherboard with intel LAN, or budget for an intel pcie x1 NIC. Cheap used dual port PCIE x1 Intel NICs are available on ebay or equivalent. You never know when an extra port could come in handy.
You also only have 6 SATA ports and 1 M.2 slot, so the only redundant SSDs you can run are SATA ones, which is limiting and cuts into the # of HDDs you can have. Given your budget, you are probably better off keeping the SSDs in your laptops/desktops and using the NAS for bulk storage only anyway.
Why B450? B550 might have features (e.g. more SATA or M.2 ports) that you may like for a similar price. Depends on pricing in your region too.
RAM:
You don’t have ECC RAM, which is recommended but not essential. I don’t think it’s compatible with your budget unless you buy a used DDR3 platform.
Your RAM is pretty slow for DDR4. Can you get 3200MHz CL16 2x16GB kits for not much more money? It would be a worthy upgrade for a Ryzen CPU.
For your usage, 32GB might be overkill. If you’re using zfs (e.g. in TrueNAS), it will use any extra RAM as a high speed cache, but since you’re only connecting at 1Gbit/s, the HDDs will be able to keep up fine. Could drop down to 16GB but I wouldn’t go lower if you don’t really need to.
HDDs:
Mirrored pairs of HDDs like you’re planning on is what I use and recommend, especially for zfs where it provides some nice to have features that I don’t think you get with RAID5/6 equivalents.
I would seriously consider saving up for a bigger pair of HDDs as 4TB is an awkward size where you’ll either have a lot of free space or fill it up very quickly. It would be worth delaying this build in order to save up for bigger drives unless you’re absolutely sure you won’t fill them. I had 4x3TB drives (6TB usable) and upgraded to 4x12TB drives (24TB usable) 1 year ago and already it’s over half full. If you have the space you’ll find a use for it, so it’s always good to have lots in the beginning.
The specific HDDs you selected are Toshiba (I happen to use and like that brand) but are desktop oriented drives. Look for their enterprise or NAS models instead.
*TrueNAS Core system requirements call for a 16GB SSD minimum (USB sticks are not recommended anymore). It doesn’t have to be fast or fancy but don’t forget it.
Have you considered something like an Optiplex 9020 MT? Those should be available with i5-4590’s (or equivalent, just check the passmark score to see if it’s similar) and 16-32GB RAM for pretty cheap. Anything newer than the 9020 is when Dell went off the deep end with proprietary nonsense. The 9020s are about equivalent to what I’m running in my server now, just without ECC support. They can take standard ATX PSUs if you buy a ~$20 PSU adapter cable online for the 24-pin. If you get lucky the included PSU will be 80-plus rated and so you can use it as-is as long as you don’t need the GTX 970 without overspending on electricity. They only have 4 SATA ports but they have two PCIEx16 slots so you could add a cheap used SAS3008 or SAS2008 HBA (4-8 SATA ports) if you add more HDDs later on.
Getting a cheaper platform would also make sense if you have a newish gaming desktop that could eventually be moved to server duty when the gaming desktop gets upgraded. It will be way more cost effective this way compared to maintaining 2 newish systems forever.
That would probably be the best option even if you were confident.
At the very least you’d want it behind a VPN. There really aren’t many good reasons for exposing your NAS to the public Internet without one.
Other people have already covered most of the components. I’ll just say that if you want to keep it quiet you’re probably best off with the Ryzen setup. Sometimes it’s difficult for server and quiet to coexist.
Good choice on the RYZEN route. I would not say the Chinese stuff is dodgy. They’ve produced some great boards to reuse Xeon CPUs but they are game focused rather than server so you’re not getting the advantage of all the PCIe slots they can handle. The other thing is RYZEN has destroyed their value proposition. They don’t much beat Zen1 in gaming and offer nothing extra for servers. Unless they can make them even cheaper not worth using.
Old servers are the best choice except for the huge amount of noise they make and their massive power consumption. Cheap to buy though and come with loads of RAM and cores. Can’t live with them though.
I would also argue that with TrueNAS Core you can install onto a decent pair of USB 3 sticks to save your SATA ports for drives. I know people have had trouble with USB sticks in the past but I’ve had one running with a pair of SanDisk UltraFit USB 3.1 gen1 32GB sticks for 6 months. It’s been rock solid. I bought them as a kit of 3 from Amazon, I put the install ISO on one and selected the other two as the mirrored boot drive.
The thing is I don’t think TrueNAS writes much to them. Everything is on the ZFS pool. You set your computer in the BIOS to boot from one USB then the next. If one does break it keeps working. If both break you need to install a new TrueNAS on a new pair of sticks. Your array will simply import when you click the option in the GUI. You should obviously keep a copy of the encryption keys in a file safely on another system.
Before I discovered that USB sticks are fine I was using a pair of used Intel SSDs I bought off ebay. A good solution but a waste of bays, sockets, cables and money for such a meagre amount of storage requirement. You want your SATA ports for your big cheap storage.
The thing is USB sticks were only really to replace floppy disks. However over the years the tech has improved so much so they are really pretty good. Not as good as a SATA SSD but they don’t need to be for this task. They don’t hold anything you can’t reproduce.
You can expose own cloud, I have a NextCloud. However you may want to look at how Wendel does this, uses a cheap cloud VM as a reverse Proxy so your home IP address is not publicised.
The NVMe slot is precious, don’t waste it on the OS, chuck the OS on USB sticks. You should use the NVMe for your VMs, that way they will run super fast.
I know in Windows we make our boot drive the NVMe to make everything fast but at least TrueNAS (and I think Proxmox) all loads into RAM anyway.
I know you think the Hyperviser is this amazing thing, which it is but I don’t think it actually works very hard or even uses very much space (comparative to a 12 thread CPU with 64GB RAM). It fits in a 16GB USB stick (use 32GB sticks).
Interesting. So the arrangement would be two usb sticks for OS. Nvme for VMs and SATA for the NAS itself? In this case I would have 2 pools one for the VM with the nvme and other with the SATA hdds?
TrueNAS does not recommend using USB sticks as the boot drive anymore, even in redundant configurations. In the storage solutions / boot devices section: “modern TrueNAS versions perform increased drive writes to the boot pool”. Even if you use multiple USB sticks, they will all wear out quickly if TrueNAS writes to them a nontrivial amount.
If you plan on running TrueNAS, I would follow that recommendation and use a regular SSD instead of one or more USB sticks. Personally, I’d be comfortable with a single name-brand SSD as the boot drive. However, that page does recommend redundant boot drives too. Performance isn’t a big deal as the issue with USB sticks is write endurance, not speed.
Regardless of what type of boot drive(s) you use, 16GB seems to be the smallest I’d go. I don’t use TrueNAS personally, so I can’t speak from experience whether 32GB is a saner minimum.
If you don’t have (a) name brand SSD(s) around to use, consider:
Very cheap (~$10 USD shipped) 16GB Optane M.2 drives from ebay. Be mentally prepared to have to replace this if you fill it.
32GB Optane M.2 drives, also from ebay but they’re appreciably more expensive per GB
older SATA SSDs (2.5" or M.2 if you know the M.2 slot supports SATA)
Samsung: 850 EVO/Pro, PM863, or newer models
Intel: DC S3500, S3520, S3700, 520
If you’re going SATA or non-optane M.2, I would get at least 100GB models as drives smaller than that can be very old, although Intel DC SATA drives I mentioned above came in very small capacities but should be fine boot drives.
I don’t think you need a separate pool for NVME/VMs/jails/containers/jellyfin/nextcloud. Most applications like Jellyfin are run in containers/jails rather than entire VMs, so don’t need much storage. Plus, if you’re sticking with 32GB RAM, even if the containers/jails are stored on the HDDs, the most used files will be cached in RAM most of the time anyway.
Yes that will work. I will say I’m using TrueNAS core which is the one made from FreeBSD. That seems to work fine with USB sticks for the boot. People will keep saying don’t use USB as I did because it seemed like a bad idea. With the current tech I reckon it’s fine.
You can easily have a backup of your settings, you should.
Get a motherboard with two M.2 slots that way you can put a decent NVMe for your VMs in the fast socket and the cheap little 120GB OS NVMe in the slower M.2 socket. Don’t put anything important on your OS drive. It is better to have mirrored OS drives which is another reason why USB sticks are good, less likely to overheat and stop working. I’ve only lost a couple of NVMe drives since I’ve been using them. Never lost a USB drive used as a boot though, lose them through reading and writing files.