PCPartPicker

  • Log In
  • Register

Build

Ripper (NAS Build)

by mongrel_stu

Description

I decided to build a NAS/home media server for myself. The main purpose of this build is to act as a media server and home cloud server/backup for my Desktop and Laptop, with the ability to rip my current DVD/Blu-Ray collection to digital format. It is also serving as proxy for all other computers on my network.

The last picture shows my desk setup with my desktop PC on top and the server underneath. My Desktop is an upgraded version of my other pcpartpicker build (Cobra Mk III), which has been moved into a Phanteks Enthoo Evolv mITX case, the GPU upgraded to an EVGA GTX 1070 FTW 8GB, and decked out with some Corsair RGB LED fans.

Case: Fractal Design Define R5

Decent airflow ATX case with capacity for upto eight 3.5" drives and two 5.25" bays for the optical disc drive. The case also has 2 SSD trays mounted behind the motherboard. This means it is able to accommodate all the drives I have planned for the build and allows space for future storage array expansion. Includes 2 140mm fractal design fans which set to intake air from the front, passing over the hard disks prior to air hitting the motherboard.

Motherboard: MSI X370 Gaming Plus

Relatively cheap motherboard with adequate PCIe slots and lanes for potential future plans (ie moving into rackmount case with capability to add 10Gb card or 2nd HBA card for > 8 drive storage array). The motherboard has 6 SATA III ports which is enough for the SSD's and optical drive. a second optical drive could be added later if I wanted to rip two discs at once. The Hard disks are connected via an HBA card. 3 PCIe 3.0 1x slots and 3 PCIe 3.0 16x slots in 8x/8x/4x configuration (8x/8x/1x, if top PCIe 1x used)

CPU: AMD Ryzen 2600

6C/12T CPU with fairly low TDP and a bargain at ~£150 compared to comparable Intel CPU's. I may overclock this in the future but, at the moment, threads over clock speed is more important to me for my current use case. I would need to step up to an i7 8700K to get similar threads on the Intel platform (too much money)

Memory: Corsair Vengeance LPX DDR4 2666Mhz 32 GB kit (2x16GB)

Good RAM, no problems. One of the lowest price 32GB kits available that is available in ready supply in the UK. Plenty of RAM for current and future use. Plan to use RAM transcoding in Plex to reduce writes on SSD cache.

Cooler: Cooler Master MasterLiquid LIte 120

Plenty of cooling for the Ryzen CPU. Considered just going with the included cooler but wanted as quiet a server as possible. Fans run at ~550rpm at idle with idle temps of 31 degrees. Set to exhaust out via rear slot on the case.

Graphics Card: Zotac GT710 1GB PCIe 1x

Need a graphics card to boot the system and modify BIOS settings. No iGPU on Ryzen CPU's (APUS's have one, but much less powerful CPU). This is going to run headless most of the time with most interaction via a WebGUI or the occasional bit of command line work. Wanted to keep the top 16x slot free for 2nd HBA card or 10Gb NIC, to be considered in the future. The bottom 16x slot will only have 1x bandwidth.

Optical Drive: LG WH14NS40

Blu-Ray drive compatible with ripping 4K blu-ray disks in MakeMKV. Newer drives have firmware which slows down the ripping process and don't work with 4K discs as well.

SSD's: 2 x Crucial MX 500 500GB 2.5"SSD

Two SSD's working as a cache for the main storage array, set up in RAID 1 and formatted in btrfs. Provides 500GB of redundant cache for writes to the array at fast speeds before being written to solid platter hard drives using an automated process within the the OS

Hard Drives: 4 x Toshiba N300 7200rpm 4TB

Hard drives designed for NAS. 7200rpm speed which is significantly faster than other NAS drives, unless you go for enterprise level storage drives. Under unRAID, 1 drive is currently used as a parity drive, and the 3 remaining drives are used for storage, formatted using xfs . This provides a storage array with 12TB and a fault tolerance of 1 drive. A second parity drive can be added to the array to provide 2 drive failure tolerance, which I will consider as my array expands.

HBA Card: 10Gtek LSI 9211-8i

Provides an additional 8 internal SATA III or SAS ports at 6Gb/s, via 2 ports into which you plug a breakout cable (10GTek SFF8087 to 4xSATA). NOT a RAID card. Storage array configuration handled within unRAID OS.

OS: unRAID Plus by Limetech (Currently version 6.6.0)

A Slackware Linux based OS. Runs from a 16GB USB drive attached to one of the internal USB 3.0 headers. Whole OS is loaded into RAM at boot up and remains there so fast read/write performance of OS drive is not needed. Supported by regular updates and a friendly forum. 3 tiers available dependent on number of drives attached to storage array. Could have got away with Basic tier with this configuration but I will likely add other drives to array later, which would need an upgrade at that time. I chose unRAID over other NAS/Server OS's such as freeNAS or OMV, as I wanted easy Docker container implementation and the ability to expand my protected array a drive at a time, which is not possible using solutions such as zfs in freeNAS.

Under unRAID the storage array uses a dedicated parity drive (or 2) and the remaining drives are used for storage. Though this sounds similar to RAID 5 or 6, the parity and files are not distributed so files are written to individual drives rather than across multiple drives. This results in slower writes than a RAID 5 or 6 array but has the advantage of being able to recover some of your data should the array completely fail and you can expand the array a drive at a time.

Dockers:

OpenVPN Server- VPN server set up so that I can connect to home network computers from external connections using a secure connection

Lets-encrypt - Reverse proxy, SSL certificate management, nginx webserver - used to provide external access to my home Nextcloud server, and a website should I decide to host one.

Nextcloud - software similar to Dropbox or Google Drive, with the files hosted on my home server rather than some DataCentre. App on my phone, laptop, and desktop to enable access but can access via any web connected computer using HTTPS connection.

MakeMKV - enables ripping of DVD's and BluRay's. Creates MKV files from the disks Handbrake - Software that enable me to transcode my MKV's into compressed format files using H264 or H265

DelugeVPN - BitTorrent client with VPN tunnel and proxy server. Configured to run through my NordVPN account using OpenVPN config files, and all computers on my network connect to the internet via the proxy server to provide the protection of the VPN tunnel.

Sabnzbd - Usenet client

Sonarr - TV Show Database/Manager

Radarr - Movie Database/Manager

Plex Media Server - Media Server providing media services to Plex clients on network, ie Smart TV, computers, and FireTV's

Heimdall - Easily configurable WebGUI to provide easy access to all the docker interfaces with implementation of your preferred search engine

Possible future plans:

Transfer to a rackmount case and expansion of storage array to > 8 drives

Additional of an NVME drive and higher end graphics card, passed through to a VM, to run as main desktop computer as well as server duties

Adding additional functionality as part of a home automation server using Z-wave adapter

Adding CCTV cameras to house and using server as surveillance server using UnifiNVR docker container

Comments Sorted by:

simberdavid 2 points 5 months ago

when I saw ryzen 5 2600, gt 710 and $970 I was like wahhhhhh? then I saw it was a nas server and I let out a HUGE sigh of relief

Vairfoley 29 Builds 2 points 5 months ago

I love builds like this built for a purpose a little more interesting that just gaming, haha.

Nice work!

FurryJackman 3 Builds 2 points 5 months ago

Have you checked if your board supports ECC? Ryzen on supported motherboards can support ECC memory.

mongrel_stu submitter 2 Builds 1 point 5 months ago

This motherboard does not support ECC but can use ECC memory in non-ECC mode.

someta 4 Builds 1 point 5 months ago

This is awesome. Seriously awesome. Good on you for doing all this and not giving up halfway through.

Also, do you plan on using different brands of HDDs for the array? I know some people are adamant about using different brands of hard drives from different batches to reduce the likelihood of multiple failures from a bad batch.

mongrel_stu submitter 2 Builds 1 point 5 months ago

The 4 HDD's in this build are all Toshiba N300's, probably from the same batch, as they were bought at the same time from the same seller. In the future, I may choose different brands for array expansion but it depends on how the N300's perform. Future expansion drives are liekly to be from different batches as I will probably expand the array a drive at a time.

SomeBodyX 1 point 5 months ago

What desk is that?

Also great start, it looks awesome.