Designing and Building a Custom NAS
Posted by: Minh Nguyen on 11 June 2018
I would like to have a go at assembling my own custom NAS. I am a computer scientist by profession but it is a vast area and I would like some advice. I'd like the specification to be as high as possible. For the budget of a grand, would it be possible to design a NAS that is respectable compared with the current offerings?
I'd be looking at FreeNAS if I was to build my own.
Have a poke about the following forum:-
Nogbad The Bad posted:I'd be looking at FreeNAS if I was to build my own.
Have a poke about the following forum:-
Thank you for sharing.
Nogbad The Bad posted:I'd be looking at FreeNAS if I was to build my own.
While FreeNAS is "built it yourself" ... its not so much custom as it works much better on recommended hardware than randomly selected boards.
In any case ... the main thing to think is don't skimp on the power supply.
Minh Nguyen posted:I would like to have a go at assembling my own custom NAS. I am a computer scientist by profession but it is a vast area and I would like some advice. I'd like the specification to be as high as possible. For the budget of a grand, would it be possible to design a NAS that is respectable compared with the current offerings?
It is not very clear to me what you want to build. Is the device meant to provide access to music files? Is it meant to run a UPnP server or a Roon server or some other music or video server? Is it meant to be connected to clients via ethernet, USB or S/PDIF? If you want to serve music files to clients in your LAN you do not need a NAS. In fact, NAS functionalities (disk arrays, redundancy, web interfaces) are detrimental to a good music server. Perhaps you can have a look at the CA thread "A novel way to massively improve the SQ of computer audio streaming" and, more generally, to the threads in the "Music Servers" and in the "Disk Storage / Music Library Storage" CA Forums.
Actually given the choice I would go with OpenMediaVault, far easier to configure for plugins such as Plex, you need a PHD to mess around with 'jails' and permissions and all the rest of it in freenas. Pain in the arse frankly
[@mention:23389351206659471] Please excuse my vague description. I am looking for a project to occupy my spare time. I currently have an UnitiServe and the warranty will soon expire. I would like to assemble something similar or perhaps something similar to its successor the Core. I'd like to set aside a budget of £1k and see what I can assemble for the money. I think it will be a fun project that will teach me more about subject area. What would you suggest?
[@mention:1566878604010997] Please see my response to nbpf. Could you explain in a little more detail why you prefer OpenMediaVault as opposed to the other offerings?
Hi. Freenas is very well supported and an advanced NAS system. However if you want to expand it at all you have to get your hands dirty and learn about 'jails'. This is not off the bat easy and I ran into multiple issues as I had to set up permissions and all sorts which I personally found too complicated.
OpenMediaVault also needs a bit of know how but installing plugins such as a UPNP server, or Plex etc is far easier you just click the relative package you want to install and it does it. On that basis I have found it far easier.
There are others Nas4Free for instance I think thats still going.
My nas runs in a PC case that can hold 10 drives and sits on an old board actually running one of the early gen i7s so not very efficient. However you need to determine what you will use it for long term and make sure it has the grunt to handle it. For instance in my household there are 5 plex players, 3 of which will regularly be running at the same time meaning the nas has to transcode three video streams on the fly.
As it goes I do not run music from this NAS, thats handled on another computer with storage running the excellent Daphile music server.
Unless you are going to write your own sofware, perhaps the best place to start is assessing what UPnP server software you want to run, thence what OS and resources that requires.
Other obvious basic questions include: Is it for serving other things or just music? (Is that simultaneously?) Will you go for passive cooling and silence?
I think a standard NAS is not very challenging from the hardware point of view, so I assume you’re looking beyond that as an audiophile server, i.e. trying to design and build your own version of Melco or Innuos Zenith etc. Have you thought of going the whole hog ad incorporating a renderer so that you don’t need to stream files across a network?
Based on my own experience of building my own Linux servers, especially the early Linux OSes circa 2000, my guess is that configuring, setting up the FreeNAS OS will be a pain in the neck, but it will be good fun.
Minh Nguyen posted:I would like to have a go at assembling my own custom NAS. I am a computer scientist by profession but it is a vast area and I would like some advice. I'd like the specification to be as high as possible. For the budget of a grand, would it be possible to design a NAS that is respectable compared with the current offerings?
I’m curious, is this project anything to do with streaming music, or just a project to satisfy your own curiosity? The most basic off-the-shelf NAS is quite capable of running a music server and storing files. There is an argument that more basic models are preferable, perhaps because they draw less power and are less electrically noisy. Unlike you, I am not a computer scientist, so maybe I am missing the point!
Minh Nguyen posted:[@mention:23389351206659471] Please excuse my vague description. I am looking for a project to occupy my spare time. I currently have an UnitiServe and the warranty will soon expire. I would like to assemble something similar or perhaps something similar to its successor the Core. I'd like to set aside a budget of £1k and see what I can assemble for the money. I think it will be a fun project that will teach me more about subject area. What would you suggest?
It really depends on what you want to achieve and whether you want to tinker with hardware, software or both.
If the server is meant to run a Roon Core you probably need some horsepower. In this case you should probably keep in mind the CAPS server designs on CA and the SOtM servers family but mainly rely on the roonlabs knowledge base. If the device is to be connected to streamers or network renderers via LAN, you probably do not need any DIY design and a NUC or better a Fitlet 2 would probably be more than enough. In this case you can focus on the software aspects.
If the server is meant to be directly connected to a USB or to a S/PDIF DAC, things are quite different. Here the internal power distribution and the mainboard clocks matter more and you want to follow the approaches of commercial servers like the new Innuos mk3 and the new Antipodes. If you go to the CA thread "A novel way to massively improve the SQ of computer audio streaming", you will find a lot of advice. On the same forum, you should probably also have a look at the "A crowd funded motherboard(s) for audiophiles" threads.
Finally, if you just want a replacement for the US, you do not need to look further than to a Raspberry Pi with an Allo DigiOne hat. This is all what you need to run a very good UPnP server (MinimServer), a very good UPnP renderer (upmpdcli) and a Roon endpoint. It also will give you access to Tidal, Qobuz and other internet streaming services. At about 200$, a Pi + DigiOne combination is well below your budget and a ready-to-use system. Perhaps worth giving it a try before you embark in a DIY project.
You could build an excellent NAS device on that budget, but really it depends on what you are after. I have an Intel Atom board running 24/7 in a small case using Ubuntu server and Asset for uPnP. It works great as music server and a backup device and is pretty bomb proof.
[@mention:1566878604010997] Thank you for the explanation. I'm beginning to understand the different options/configurations available. Just out of interest, did you notice any difference in SQ between UPnP and Plex?
[@mention:41551091830475636] Thank you for your thoughtful questions. I would like to build something like the Melco or Innuos Zenith. I have a couple of introductory books on electronics so I'm in the process of learning the basics. I'd like to have a go at designing and assembling an audiophile audio/video server. I'm fluent in Java and some other modern languages but I have a feeling that a lot of the critical sections of code are going to be written in C/C++/Assembly. The motivating influence behind my project is to try and ascertain which variables influence SQ by playing around with the various parts.
[@mention:5509120102656213] You know me pretty well now ????
[@mention:36201736949470193] Please see my responses to garyi and IB.
[@mention:23389351206659471] Thank you for the information. I'll do some research. Please excuse my ignorance but where is the CA thread?
[@mention:55912706851600400] Thank you for your contribution.
CA == Computer Audiophile, this is where folks discuss audio from computers.
MInh, I never used plex as a music player really. I have it at work so I can access my music at home on my phone but for 'quality' playback I use volumio into a DacV1 being fed from a server running daphile.
Frank Yang posted:CA == Computer Audiophile, this is where folks discuss audio from computers.
Cheers Frank. OMG, I'm in Heaven ????
Minh Nguyen posted:...
[@mention:41551091830475636] Thank you for your thoughtful questions. I would like to build something like the Melco or Innuos Zenith. I have a couple of introductory books on electronics so I'm in the process of learning the basics. I'd like to have a go at designing and assembling an audiophile audio/video server. I'm fluent in Java and some other modern languages but I have a feeling that a lot of the critical sections of code are going to be written in C/C++/Assembly. The motivating influence behind my project is to try and ascertain which variables influence SQ by playing around with the various parts.
...
If you are after the best sound quality and you do not care about convenience you should probably look at wtfplay-project.org. Softwarewise, you do not need to do any programming yourself. Just select a platform and try out the software available on that platform. For Linux there are standard tools (MPD, upmpdcli, etc.) that have been developed over decades and that work very reliably. You only need to install and configure them. This is well documented and very straightforward. You can also rely on "audiophile" distributions like volumio, dietpi, Snakeoil OS, etc. In these, configuration is typically done via web interfaces. I tend to prefer a minimal Debian or Raspbian distribution with no web interface and remore access via ssh. Data transfer to and from the music server (library maintenance, backup, etc.) are best done via simple rsync scripts. There is no need to reinvent the wheel and the proprietary solutions that I have seen so far (Naim included) are inferior to standard open source solutions.
nbpf posted:Minh Nguyen posted:...
[@mention:41551091830475636] Thank you for your thoughtful questions. I would like to build something like the Melco or Innuos Zenith. I have a couple of introductory books on electronics so I'm in the process of learning the basics. I'd like to have a go at designing and assembling an audiophile audio/video server. I'm fluent in Java and some other modern languages but I have a feeling that a lot of the critical sections of code are going to be written in C/C++/Assembly. The motivating influence behind my project is to try and ascertain which variables influence SQ by playing around with the various parts.
...
If you are after the best sound quality and you do not care about convenience you should probably look at wtfplay-project.org. Softwarewise, you do not need to do any programming yourself. Just select a platform and try out the software available on that platform. For Linux there are standard tools (MPD, upmpdcli, etc.) that have been developed over decades and that work very reliably. You only need to install and configure them. This is well documented and very straightforward. You can also rely on "audiophile" distributions like volumio, dietpi, Snakeoil OS, etc. In these, configuration is typically done via web interfaces. I tend to prefer a minimal Debian or Raspbian distribution with no web interface and remore access via ssh. Data transfer to and from the music server (library maintenance, backup, etc.) are best done via simple rsync scripts. There is no need to reinvent the wheel and the proprietary solutions that I have seen so far (Naim included) are inferior to standard open source solutions.
Excellent post. Thank you very much.