Jump to content
Squazz

Ryzen Build - Gamer & NAS / server

17 posts in this topic Last Reply

Recommended Posts

Posted (edited)

Now this build is only starting. I might expand this post in the time to come. There's a lot I want to add to the the system, but I thought I'd start out with what I got. Also, I see people thinking about building a Ryzen setup, so here's my take on it.

Also, I'm using a AMD 290X GPU, for those wondering if that's working ok.

 

I'm no big photographer, so you'll have to bear with the images.

 

But before we begin, a warning for future Ryzen builders out there:

Quote

Make ABSOLUTELY SURE that you are running the latest version of BOTH unRaid & the motherboard BIOS

This cannot be stressed enough. It generated me a lot of headaches that I didn't update the BIOS to begin with before I did anything else.

Also:

Quote

Disable C-states. You'll save yourself a lot of problems flipping that switch

Lastly

Quote

Make sure your memory is not running too fast!

I know, I know, Ryzen LOVES memory speeds. And were you building a normal desktop computer it would be fine to cram up the speed of your memory sticks.

But with unRaid, and everything else where you want reliability, you don't want to go out of the spec for your memory controller. Here is the spec for the Ryzen 1700: https://en.wikichip.org/wiki/amd/ryzen_7/1700#Memory_controller

For Dual Rank memory, the memory controller on the Ryzen 1700 is only supporting 2400Mhz. The kit I have, is dual rank memory. You can check out if your memory is dual or single rank here:  https://www.reddit.com/r/Amd/comments/649ay8/ram_collection_thread_please_post_your_ram/ 

 

Ok, with that out of the way, onwards with the build! :) 

 

IMG_20180606_194454.thumb.jpg.fca200b260e6cd2b829859544e1448d7.jpg

 

The system is at the moment rocking the following hardware.

Basics

CPU: Ryzen 7 1700 (65W)

CPU Cooler: BeQuiet Pure Rock
Motherboard: MSI MS-7A33 motherboard
Ram: 16GB (2x 8GB 2400Mhz)
PSU: Cooler Master MasterWatt 750
Case: Fractal Design Define R5

Raid drive: LSI 9201-8i

GPU: MSI Radeon 290X 8Gb

 

Drives:

Parity: 2x 3TB WD Red
Cache: 1x 128Gb 840 EVO
Data: 2x 3TB WD Red, 4x 2TB WD Red, 2x 2Tb Seagate Hybrid Drive

Unassigned / VM-drive:  1x 128Gb 840 PRO (This solved SO many bottlenecks!)


It's a mouthful of drives, but they are what I had laying around (I have a bunch of 2Tb drives laying around still), and it seemed stupid to buy new 8Tb drives when I had well functioning drives at hand.

The drives are placed physically in the order they are shown in unRaid. It makes it SO MUCH easier when something goes wrong.

 

IMG_20180606_194506.thumb.jpg.098a9c0e50f4ddd38c121dc7da4c1088.jpg

 

The Origins

My first NAS was a "ReadyNas" ultra 4 plus, nothing wild, but it got me going.

For the past 10 years I have had a gaming computer. It was gradually upgraded with various components.

At some point I figured I might be able to build a NAS stonger and better than the ReadyNas I had at the moment. As parts was replaced in my main gaming PC, I had enough spare parts to build myself a mini-server based on a 2600K CPU.

I first tried out a Windows Server build, using storage spaces, but in the end I got too irritated at it, and my wife got tired of all of my hardware lying around.

All of the hardware was sold, and the setup I have now was bought, time to combine everything into one case and save both space and power.

 

The main reason I chose unRaid was that I needed a way to gradually expand the array, one drive at the time.

 

Power readings

190w - Startup peak

100w - Watching movie (all drives but one spun down)

130w - Idle (Win10 Desktop open)

170w - Light use (Wathing Netflix on win10 VM)

350w - Gaming

 

Current state

The server functions as my gaming machine as well as my NAS. Nothing more at the moment.

 

I have the following planned for some time in the future:

  • TV server - It's about time...
  • pfSense router - will take some reconfiguring of the home network
  • Kodi MySQL database - I only have one Kodi machine at the moment, but I have always wanted to set it up with a MySQL database
  • Plex - Almost done with the movie setup. Music has logistical problems.
  • Storage expansion - I'm soon gonna run out of space
  • Invest in more RAM
  • Windows Server VM with Windows Server Update Services - to control all updates of my different Windows machines.
    • This is now handled by SteamCache as that fits my needs and can run in a docker
      • There seems to be problems with SteamCahce and Windows Update. Stopped using StamCache for now
  • Set up webserver
  • Find a good music streaming service tun run in a docker (maybe Plex can get me covered here)
  • Find a way to have VMs running in other rooms
  • Find a way to start turned off VMs without going through the unRaid interface

 

image.thumb.png.f9fa0833aa464ecbb287a27686512580.png

image.thumb.png.ec0c6597182467c9791f15d8716b109b.png

image.thumb.png.0e391e41d66f8d0163b8833f19e538a8.png

 

Do feel free to write me about ideas for what to set up next, as well as plugins that I might find usable :)

Edited by Squazz

Share this post


Link to post
Posted (edited)

I will use this post to describe the software side of how I have everything set up.

 

Unraid Plugins & Dockers

- CA Auto Turbo Write Mode

- Dynamix Auto Fan Control (My system is so quiet now)

- Dynamix Cache Directories (Makes navigating foldes on the array faster, and possible without spinning up drives)

- Dynamix S3 Sleep (Disabled now, never kicked into effect, gonna try to make this work at some time)

- Dynamix SSD TRIM

- Dynamix System Buttons

- Dynamix System Statistics

- Dynamix System Temperature

- Tips and Tweaks (At little of this, and a little of that)

- Recycle Bin (This one has saved me too many times)

- Unassigned Devices (Used to move my VMs out of the cache, and unto an unassigned SSD)

- unBALANCE (Perfect to move data between physical drives)

- User Scripts (Used for Zenstates & automatic backups of VMs)

- Nerd Pack (Used to install python)

 

- Plex (Docker)

- Binhex-Krusader (Docker)

- MakeMKV (Docker)

- SteamCacheBundle ( Docker) - Used for cache for Windows updates (I am the only gamer in the house)

 

Plex plugins
Agents to use Kodi / XBMC metadata:

XBMCnfoMoviesImporter

XBMCnfoTVImporter

Trakt Scrobbler

 

Zenstates (Fixing the problem where gen1 Ryzen won't boost in unRaid)

I had quite some problems with my speed and Cinebench score of my Ryzen 1700. I have made a post in General Support about this, but here is the post for your convenience.

 

The first step is to use the plugin "TipsAndTweaks" to change the "CPU Scaling Guvenor" to "On Demand". In my case it was set to "Power Save" as default. This moved my from about 550 to 1170 in CineBench. A noticeable change.

 

Looking at the at terminal with the following command, it was wasy to see that my Ryzen 1700 just wouldn't boost properly when using Cinebench:

Quote

watch -n 1 grep MHz /proc/cpuinfo

To fix this

Download zenstates from https://github.com/r4m0n/ZenStates-Linux/blob/master/zenstates.py
Save the script in a share under the name zenstates.py (I chose /mnt/user/appdata)


Use NerdPack to install python (Needed for executing the python script)

 

I used the UserScripts plugin to set up this script. Running every time that my array starts.
I got the script from @david279

Quote

### The 1700x only seems to support P0/1/2
## P0 = 3.900GHz, 1.3500v
/mnt/user/appdata/zenstates.py -p 0 -f 9C -d 8 -v 1C #Maximum power

## P1 = 3.600GHz, 1.3000v
#/mnt/user/appdata/zenstates.py -p 1 -f 90 -d 8 -v 20

## P2 = 2.200GHz, 0.8000v
#/mnt/user/appdata/zenstates.py -p 2 -f 84 -d C -v 6A #BaseClock

 

I only apply for P0 as that is the only state I'm interested in. The rest is up to CPU to downclock itself


After all of these changes, CineBench score jumped from 550 to 1420. So I'd said everything worked out just fine :)

 

Win10 VM related

Steam

Game files are on a separate share just for this.

Most games runs as the administrator user. You'll have to map your share for that administrator user.

Remember to map the share to the same drive-letter as your main-user has it.

 

Dropbox, Google Drive & Blizzards Battle.NET

These guys really don't want you to have your files  on a network share. I created a 700Gb vDisk and assigned this one to my VM. Now it shows up as a perfectly normal drive in Windows. The vDisk is placed in a share with enough spare space.

When this was set up, everything was set up as I would on any non-VM Win10 machine.

 

Scrobbling 

Getting this working between different devices demands a little setup on every device / system used.

Kodi:

 

Plex:

As mentioned earlier I use Trakt Scrobbler to scrobble between devices and keep Trakt updated with what I have watched.

Make sure "Sync - Run every" is set to run at a fixed interval. I had to uncheck "Sync - Defer until server is idle", in order to make the sync run. It only takes 3 seconds for my setup anyway.

Edited by Squazz

Share this post


Link to post
Posted (edited)
Quote

Edit: While the below information is still valid and passthrough ended up working, for some reason it was not stable enough for CounterStrike GO. I ended up using an old display-card as my primary GPU for unRaid, and could then passthrough my R9 290X without specifying the driver. This made everything a lot more stable.

 

I had quite a lot of problems getting my GPU passthrough to work properly, so for reference is here the way my Win10 VM ended up being configured.

 

I got a lot of help getting it working in this thread:

 

But this was not enough. I still had problems with with extremely low framerates in games like League Of Legends.

A little change here and there made it work in the end. One of the contributing factors to getting it to work, I think is the fact that I ended up stubbing an entire USB controller on the motherboard, and then just plug every USB device I had in there. Until I did that I had a lot of weird problems.

 

image.thumb.png.43323b9ec37ff96e600a3dda8e5b2cca.png

 

I used the following Syslinux configuration:

 

Quote

default menu.c32
menu title Lime Technology, Inc.
prompt 0
timeout 50
label unRAID OS
  menu default
  kernel /bzimage
  append vfio-pci.ids=1022:145c initrd=/bzroot
  pci-stub.ids=1002:67b0,1022:1457,1022:145c,1022:1455
label unRAID OS GUI Mode
  kernel /bzimage
  append initrd=/bzroot,/bzroot-gui
label unRAID OS Safe Mode (no plugins, no GUI)
  kernel /bzimage
  append initrd=/bzroot unraidsafemode
label unRAID OS GUI Safe Mode (no plugins)
  kernel /bzimage
  append initrd=/bzroot,/bzroot-gui unraidsafemode
label Memtest86+
  kernel /memtest

 

And I have the following system devices

Quote

IOMMU group 0:    [1022:1452] 00:01.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe Dummy Host Bridge
IOMMU group 1:    [1022:1453] 00:01.3 PCI bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe GPP Bridge
IOMMU group 2:    [1022:1452] 00:02.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe Dummy Host Bridge
IOMMU group 3:    [1022:1452] 00:03.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe Dummy Host Bridge
IOMMU group 4:    [1022:1453] 00:03.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe GPP Bridge
IOMMU group 5:    [1022:1453] 00:03.2 PCI bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe GPP Bridge
IOMMU group 6:    [1022:1452] 00:04.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe Dummy Host Bridge
IOMMU group 7:    [1022:1452] 00:07.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe Dummy Host Bridge
IOMMU group 8:    [1022:1454] 00:07.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Internal PCIe GPP Bridge 0 to Bus B
IOMMU group 9:    [1022:1452] 00:08.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe Dummy Host Bridge
IOMMU group 10:    [1022:1454] 00:08.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Internal PCIe GPP Bridge 0 to Bus B
IOMMU group 11:    [1022:790b] 00:14.0 SMBus: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller (rev 59)
[1022:790e] 00:14.3 ISA bridge: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge (rev 51)
IOMMU group 12:    [1022:1460] 00:18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 0
[1022:1461] 00:18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 1
[1022:1462] 00:18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 2
[1022:1463] 00:18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 3
[1022:1464] 00:18.4 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 4
[1022:1465] 00:18.5 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 5
[1022:1466] 00:18.6 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 6
[1022:1467] 00:18.7 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 7
IOMMU group 13:    [1022:43b9] 03:00.0 USB controller: Advanced Micro Devices, Inc. [AMD] Device 43b9 (rev 02)
[1022:43b5] 03:00.1 SATA controller: Advanced Micro Devices, Inc. [AMD] Device 43b5 (rev 02)
[1022:43b0] 03:00.2 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 43b0 (rev 02)
[1022:43b4] 16:00.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] 300 Series Chipset PCIe Port (rev 02)
[1022:43b4] 16:01.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] 300 Series Chipset PCIe Port (rev 02)
[1022:43b4] 16:02.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] 300 Series Chipset PCIe Port (rev 02)
[1022:43b4] 16:03.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] 300 Series Chipset PCIe Port (rev 02)
[1022:43b4] 16:04.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] 300 Series Chipset PCIe Port (rev 02)
[1022:43b4] 16:08.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] 300 Series Chipset PCIe Port (rev 02)
[10ec:8168] 21:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
[1b21:2142] 25:00.0 USB controller: ASMedia Technology Inc. Device 2142
IOMMU group 14:    [1002:67b0] 26:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Hawaii XT / Grenada XT [Radeon R9 290X/390X]
[1002:aac8] 26:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Hawaii HDMI Audio [Radeon R9 290/290X / 390/390X]
IOMMU group 15:    [1000:0072] 27:00.0 Serial Attached SCSI controller: LSI Logic / Symbios Logic SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (rev 03)
IOMMU group 16:    [1022:145a] 28:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Device 145a
IOMMU group 17:    [1022:1456] 28:00.2 Encryption controller: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Platform Security Processor
IOMMU group 18:    [1022:145c] 28:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) USB 3.0 Host Controller
IOMMU group 19:    [1022:1455] 29:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Device 1455
IOMMU group 20:    [1022:7901] 29:00.2 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] (rev 51)
IOMMU group 21:    [1022:1457] 29:00.3 Audio device: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) HD Audio Controller

Edited by Squazz

Share this post


Link to post

Good to see you got your system built!

 

TV server - check out the unRAID DVB Edition builds and research compatible TV cards

pfSense router - will take some reconfiguring of the home network - worth the effort.  It's amazing how many things are possible and how much better your network performs

Kodi MySQL database - I only have one Kodi machine at the moment, but I have always wanted to set it up with a MySQL database.  I would still set this up and setup headless Kodi or a kodi installation on your PC - I do this to do all my library maintenance as well as watch media

Find a good music streaming service - for your own media?  Give Plex a whirl

Find a way to start turned off VMs without going through the unRaid interface - you asked about this before.  If it's for you and not the family, check out the WOL plugin.  Otherwise I'd just hibernate them

  • Like 1

Share this post


Link to post

Forgot to add - sort out your wiring!  You've got a good case for organising wires

Share this post


Link to post
20 hours ago, DZMM said:

Good to see you got your system built!

 

TV server - check out the unRAID DVB Edition builds and research compatible TV cards

pfSense router - will take some reconfiguring of the home network - worth the effort.  It's amazing how many things are possible and how much better your network performs

Kodi MySQL database - I only have one Kodi machine at the moment, but I have always wanted to set it up with a MySQL database.  I would still set this up and setup headless Kodi or a kodi installation on your PC - I do this to do all my library maintenance as well as watch media

Find a good music streaming service - for your own media?  Give Plex a whirl

Find a way to start turned off VMs without going through the unRaid interface - you asked about this before.  If it's for you and not the family, check out the WOL plugin.  Otherwise I'd just hibernate them

 

Thanks! It was quite some time underway, but I got there at last :P
Thank for the inputs, I'll look more closely at your suggestions

 

4 hours ago, DZMM said:

Forgot to add - sort out your wiring!  You've got a good case for organising wires

Haha, yeah I know. Wiring is always my nemesis. I will get to it at some point, but right now I just reconfigure the setup on a bi-daily basis :)

Do trust though that I will post an updated picture when I get everything sorted out ;) 

 

 

Share this post


Link to post
On 6/6/2018 at 11:31 AM, Squazz said:

Steam

Game files are on a separate share just for this.

One thing I've ran into, related to this topic, is that some games don't like the network share system we do with unRAID - especially if it has cheater-protection app on it. For example ARK runs fine, but if you try and use their cheater-protection ARK will go APE-S*&^ bonkers trying to load. The solution here, is the same as for Battle.net, make a vDisk for it, or passthrough an entire drive.

 

Just FYI. 

Share this post


Link to post
9 hours ago, Jcloud said:

One thing I've ran into, related to this topic, is that some games don't like the network share system we do with unRAID - especially if it has cheater-protection app on it. For example ARK runs fine, but if you try and use their cheater-protection ARK will go APE-S*&^ bonkers trying to load. The solution here, is the same as for Battle.net, make a vDisk for it, or passthrough an entire drive.

 

Just FYI. 

That's not something I have experienced yet, but if I run into the issue I now know what the solution could be :)

 

Thanks for that info :)

Share this post


Link to post
On 6/7/2018 at 4:31 AM, Squazz said:

Find a way to have VMs running in other rooms

Hi mate. Great read and build. 

 

How'd you go with running VM's in different rooms? I've not come across a solution that suits me yet. 

Share this post


Link to post
1 minute ago, Andrewch said:

Hi mate. Great read and build. 

 

How'd you go with running VM's in different rooms? I've not come across a solution that suits me yet. 

Thank you so much! :)

 

I havn't found a way yet.
I havn't really had the time to play around with it (new house and IRL stuff), but the new house just makes this more needed than before.

 

I have been thinking about making terminal-link clients in other rooms.

But yeah, no real progress in that area yet. Will do a post about it if I find a way.

Also please do feel free to give me a shout if you figure out something awesome ;)

Share this post


Link to post

Yeah will do.

 

I already love how much my server does but for it to serve the whole house with Pc's would be awesome. 

 

Im in a similar boat - need time to develop a plan.

 

Cheers

  • Like 1

Share this post


Link to post
On 6/6/2018 at 7:31 PM, Squazz said:

Find a way to have VMs running in other rooms

How far away are the rooms located?  HDMI over ethernet is a potential solution, as well as long HDMI/USB cables

Share this post


Link to post
32 minutes ago, DZMM said:

HDMI over ethernet is a potential solution

I use this, as long as you have unused good quality cables with home runs to your server it works awesome.

 

The term "over ethernet" is a little broad, the solutions that actually run through a switch on the existing network are EXPENSIVE. The ones I use require a dedicated CAT5e / CAT6 cable, no connection to your home network.

 

https://www.monoprice.com/product?p_id=8159

Is what I'm currently using, it says CAT6, but high quality carefully terminated CAT5e works just fine in my experience.

Share this post


Link to post

HDMI over Ethernet is definitely a way to do it but in my case (as mentioned) it would be expensive. 

 

Especially for something that I don't really need - just really want! 😁

 

Maybe cheap android boxes using RDP??? I don't have any experience with RDP so can't say if that would be any good. 

Share this post


Link to post
On 10/29/2018 at 1:12 PM, DZMM said:

How far away are the rooms located?  HDMI over ethernet is a potential solution, as well as long HDMI/USB cables

 

On 10/29/2018 at 1:49 PM, jonathanm said:

I use this, as long as you have unused good quality cables with home runs to your server it works awesome.

 

The term "over ethernet" is a little broad, the solutions that actually run through a switch on the existing network are EXPENSIVE. The ones I use require a dedicated CAT5e / CAT6 cable, no connection to your home network.

 

https://www.monoprice.com/product?p_id=8159

Is what I'm currently using, it says CAT6, but high quality carefully terminated CAT5e works just fine in my experience.

I'm leaning more towards optical thunderbolt if something like that ends up being the solution.

 

21 hours ago, Andrewch said:

Maybe cheap android boxes using RDP??? I don't have any experience with RDP so can't say if that would be any good. 

I've been looking into doing something like this. Got a friends who's working with IT for big companies, will have to pump him for details about thin-clients one day.

Share this post


Link to post

This sytem looks amazing, I am trying to do the same thing with 2 workstations, but I cant even get one VM working. =-( You make it look so easy!

I wish I could find a step by step manual to get this stuff working.

  • Like 1

Share this post


Link to post

Thanks @tsawind! :)

 

It both is hard and easy to set up unraid the first time you use it.

 

It sounds like you need to create your own thread about the problems you are facing. I would love to be of assistance in that thread.

I guess you already have made such a thread here? https://forums.unraid.net/topic/75834-trouble-with-install/?tab=comments#comment-699373

 

As the other person mentions there, we need something a little more concrete on what your problem is.
I'll write some more on the above mentioned thread :)

Edited by Squazz

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now