Recommended Builds for unRAID Upgrade


Recommended Posts

SUMMARY: unRAID server is 12 years old and has served me well but hardware is starting to fail. Have some questions and need guidance on my next steps (brand new unRAID build our not?).  Over the last 12 years, it has effectively run 24/7. The HDDs have gradually been updated as they failed or higher capacity was needed (now running a 12 disk array with 40TB capacity), drives reformatted to XFS, and the unRAID OS updated several times (now on 6.3.5).

 

I have of course thought about upgrading hardware over the years, but it has been adequate for my needs (exclusively used as a NAS for a Plex Server running on a secondary PC). Unfortunately, my 12 year old hardware is showing signs of its age (performance degradation and that "I'm dying" electronic smell). While it may be possible to diagnose and fix the specific issue, the overall age of my system means I need to shit or get off the pot when it comes to a brand new unRAID build.

 

Use Cases:

 

  • NAS: Previously with a Plex server on a separate Win10 PC as its primary client. The Win10 PC is also starting to show its age, so I'm in a unique position where I'm willing and able to potentially build a new unRAID server to utilize it as a NAS, a Plex Server (Docker?), and a new Win10 workstation (VM?).
     
  • Win10 VM for Gaming/Daily Driver: Seems like some users have had great success and some have struggled with VM performance.  Since I'm going to be building a new unRAID server from scratch, I'm hoping there are tried-and-true hardware/unRAID configs that can be shared to maximize my chances for success.  Would love to read an exploration of how practical this is.  Lots of resources on this but hard to know if this is the right decision or where to start.
     
  • Plex Server: Is running Plex Server on Docker preferable to running it on a VM (like the above Win10 VM), and is it well-featured/maintained (I note the PC Plex Server gets updated every week or so)?  Can it take advantage of CPU/GPU hardware transcoding?  Again, if there are tried-and-true hardware/unRAID configs to support this use case, I'd love to explore it.

 

This turned into an awful wall of text.  I have searched through threads on this forum but the amount of information is overwhelming and it's hard to find the appropriate resources to start with. I am a computer engineer so not afraid of getting my hands dirty, but it's been a long time since I've gotten involved in a project like this.  I'm hoping to find some kind souls who're willing to chat with me about options... Feel free to move this post to a more appropriate forum, link me to other posts, documentation, and to RTFM, if appropriate.

Link to comment

So the first decision is AMD or Intel.

  • AMD Ryzen (and Threadripper) CCX/CCD design carries innate latency penalty which manifests as fps variability while gaming (as compared to an Intel single-die CPU). Some can tell the diff, some can't so it very much depends on each's personal preference. In short, AMD has better overall performance while Intel has consistent but lower performance.
  • The next consideration is Intel iGPU. There are 2 benefits to having an iGPU (a) hardware transcoding and (b) easier passing through GPU to a VM assuming motherboard supporting iGPU boot priority over dedicated GPU. (obviously, if you plan to get something like a Quadro P2000 then this tips the scale towards AMD)
    • Point (a) is self-explanatory as it is a significant cost saving over an AMD build. Caveat: last I checked, latest gen Intel iGPU requires 5.x kernel for full support but Until 6.8.3 is still on 4.19 kernel.
    • Point (b) is often overlooked. I just recently helped a forum member passing through his dedicated GPU just by enabling iGPU boot in the BIOS, without the need of a vbios.

I think the best next step for you is to go pcpartpicker and create a prospective AMD and a prospective Intel build just to see what you would get for your budget.

 

 

 

  • Like 1
Link to comment

Really appreciate the distinction there. 

 

My first reaction is that an iGPU would lag behind a dedicated GPU for use with a VM/gaming.  Are you implying that an iGPU is necessary for hardware transcoding?  Why is it that the Quadro P2000 is such a favorite for unRAID Server Builds vs a GTX GPU (what is inherent in a Quadro that lends itself for use here)?

 

Are there "known good" builds (MB/MB Bios, CPUs, GPUs, etc) I can gravitate towards to explore further?

Link to comment
24 minutes ago, Vorlagen said:

My first reaction is that an iGPU would lag behind a dedicated GPU for use with a VM/gaming.  Are you implying that an iGPU is necessary for hardware transcoding?  Why is it that the Quadro P2000 is such a favorite for unRAID Server Builds vs a GTX GPU (what is inherent in a Quadro that lends itself for use here)?

Quadro P2000 GPU provides "unlimited" transcoding streams.  GTX cards are limited to 2 concurrent transcodes.

 

An iGPU is not necessary for hardware transcodes, but, if you have it you don't need a separate GPU.  With AMD, if you want hardware transcoding a discrete GPU is a must and the P2000 is very popular.  With Intel, you can go iGPU or discrete GPU.

 

It really depends on what your transcoding needs or VM GPU pass through needs are.  In some cases, a dedicated GPU would certainly be "better" than an iGPU.

 

I do hardware transcoding with an iGPU and it works very well and is more than adequate for my needs.  I have had five simultaneous streams going without the CPU/iGPU breaking a sweat.  For a gaming VM or lots of 4K transcodes, you would likely be happier with a discrete GPU.

Edited by Hoopster
Link to comment

Great.  Let's say I drop the "win10/Gaming VM" use case and settle on NAS + Plex server...  Sounds like an iGPU would be the way to go to get good hardware transcoding without an additional dedicated GPU. 

 

It's been mentioned before and I see it in the forums, but some (or all?) iGPUs require an an-of-yet unreleased unRAID build that moves onto a new Linux kernel.  Yet many are apparently are using iGPU with great success already.  Are they on older iGPU platforms that are currently supported by unRAID?

 

Are there tried and true unRAID builds you can recommend for use with Plex in a Docker that I can base a new build off of?

Link to comment
32 minutes ago, Vorlagen said:

iGPUs require an an-of-yet unreleased unRAID build that moves onto a new Linux kernel

I thought that as well before I did my latest build last month.  This is only a potential issue with the iGPU in 9th generation processors (i5-9600, i7- 9700K, i9-9900K, etc.). 

 

The Xeon (E-2288G) with iGPU I used in my latest build is the server equivalent of the i9-9900K desktop CPU.  It has the same UHD 630 iGPU as the 9xxx series desktop CPUs, but, I have zero issues with the iGPU running with the current 6.8.3 release of unRAID which has the 4.19.107 Linux kernel. 

 

Supposedly, and this is the case for some, kernel version 4.20 and above is needed to support 9th generation iGPUs.  The current 6.9 beta uses a 5.5.x version of the kernel so it should be no issue there.  Again, my iGPU is fully functional with kernel 4.19.107.

 

39 minutes ago, Vorlagen said:

Are there tried and true unRAID builds you can recommend for use with Plex in a Docker that I can base a new build off of?

Lots of them, it just depends on how many concurrent Plex streams you want, software (CPU) vs. hardware (GPU) transcoding or a mix.  Other dockers/VMs you may wish to run, etc.

  • Like 1
Link to comment
2 hours ago, Hoopster said:

Lots of them, it just depends on how many concurrent Plex streams you want, software (CPU) vs. hardware (GPU) transcoding or a mix.  Other dockers/VMs you may wish to run, etc.

I typically won't need more than 4 concurrent Plex streams.  Though I have mostly x264 and 1080p, I am looking to acquire more h265 and 4K content so would like to be able to future proof the build so Plex could transcode those down the line.  I appreciate you taking the time to work through these use cases and point me in the right direction.

Link to comment
I typically won't need more than 4 concurrent Plex streams.  Though I have mostly x264 and 1080p, I am looking to acquire more h265 and 4K content so would like to be able to future proof the build so Plex could transcode those down the line.  I appreciate you taking the time to work through these use cases and point me in the right direction.

Transcoding can be handled in two ways; software transcoding which uses the CPU and hardware transcoding which uses a GPU.  The GPU can be either an iGPU with Intel processors or a discrete GPU with either an Intel or AMD CPU.

 

If you want to do CPU transcoding, you need 2000 passmarks per 1080p stream.  If you want to transcode 4K/HEVC content with your CPU, be prepared to spend more money as 4K takes 17,000 passmarks per stream.  Obviously 4K CPU transcoding should be avoided.

 

As an example, I currently have a Xeon E-2288G in my main server.  It has a passmark score on 17303.  Since unRAID needs ~2000 passmarks to maintain basic system overhead and NAS functions, I could get about 7 simultaneous software/CPU transcodes out of that CPU.  I could not even do 1 4K/HEVC transcode.

 

Hardware/GPU transcodes are not dependent on passmark scores.  I could probably easily get 10 hw transcodes out of my GPU. Most Intel iGPUs are going to give you 10-12 simultaneous 1080p transcodes maximum and maybe 2 4K transcodes depending on other factors such as available RAM and other activities on the server.

 

In the case of 4K content, it is better to have clients that can play it locally without transcoding or Plex/HandBrake optimized 1080p versions of that content for remote streaming.

 

In sizing your CPU/RAM, etc.  you may want to size it for CPU transcoding as a worst-case backup.  This is not absolutely necessary, but is a good security blanket.  For 4 simultaneous Plex transcodes, look for a CPU with a 10,000 passmark score.  Almost all Intel 4 core/8-thread processors can do that. 

 

Here is a link to a system I am selling, not because I want to sell it to you, but because it is a 4-core/8-thread system with iGPU.  The descriptions tells you how I was using it and the hardware specs.

 

Four 4+ streams as well as other docker containers and maybe a light-use VM, look for something similar to what I linked.

  • 4-core/8-thread CPU with iGPU or an i5 6-core (no hyperthreading) i5-8400 or i5-9600 CPU, but an i7, i9, or Xeon would give you a little more overhead
  • At least 16GB RAM, 32GB would be better and give you more overhead.
  • A motherboard that supports any hardware you may wish to pass through to a VM or a dedicated GPU
I am also recording TV shows to the server via an HDHomeRun integrated with Plex.  That requires more RAM when transcoding in RAM, but you can limit it.

 

Just some ideas.

 

 

Edited by Hoopster
  • Like 1
Link to comment
41 minutes ago, OMGerm said:

@Hoopster Would you mind linking a PCPartPicker for your current build?  I'm curious about what case/components you're using.  Thank you for all of the information you've shared, it's very helpful.

My signature is current (turn on signatures at the top of the forums {your name}-->Account Settings-->Signature) with the hardware specs of my two active servers.

 

However, I can make it a bit easier for you.  I (and several other members of this forum) bought the bundle referenced in this post from eBay.  He has listed several lots of three and still has two left in the current listing.

 

My experience and that of several others who have purchased the same bundle is documented in this thread.

 

I have the system installed in a Silverstone CS380 case because it has 8 front-accessible hot swap HDD bays and I don't think I will need more than 8 HDDs as I prefer larger (8TB and larger) drives.  I also installed a 4x2.5 SSD adapter and an optical drive in the two 5.25" bays.

 

I made some modifications to the case the really improved cooling and airflow.

 

It's working well for me, but, there are hundreds of good setups depending on your particular needs.

Link to comment

 

On 4/1/2020 at 6:42 PM, Hoopster said:

Transcoding can be handled in two ways; software transcoding which uses the CPU and hardware transcoding which uses a GPU.  The GPU can be either an iGPU with Intel processors or a discrete GPU with either an Intel or AMD CPU.

 

If you want to do CPU transcoding, you need 2000 passmarks per 1080p stream.  If you want to transcode 4K/HEVC content with your CPU, be prepared to spend more money as 4K takes 17,000 passmarks per stream.  Obviously 4K CPU transcoding should be avoided.

 

Thank you for the latest reply.  I've turned on signatures, and appreciate what you've got listed.  I've been eyeing the Node 304 (your backup) to build in with 6x10TB (50TB w/1 Parity).  I've quoted another one of your replies and have a question.  My use case would be streaming Plex/HandBrake optimized 1080p versions of my 4K collection in h265-10bit.  Does the h265-10bit caveat mean similar things for CPU transcoding as mentioned above?  That is, does the h265-10bit by itself mean I'll likely need a GPU or a higher-end CPU?  Or is it rather the resolution of 4K that pushes the need?

Edited by OMGerm
Link to comment
1 hour ago, OMGerm said:

That is, does the h265-10bit by itself mean I'll likely need a GPU or a higher-end CPU?  Or is it rather the resolution of 4K that pushes the need?

It's the native 4K/HDR high-bit rate content that is the reason for a really powerful CPU or GPU.  If it can't be direct played, it has to be transcoded to a format the client can direct play.  There is a ton of information in a 4K UHD rip.  Once you get it to a 1080p optimized Plex or Handbrake H.265 file, the heavy lifting has already been done.

 

Plex still may have some issues with 4K/HDR content.  HDR color mapping was off and a lot of HDR transcoded content was displaying with muted or washed out colors. SDR is fine.

 

You're going to need some processing power to optimize 4K content, but, it is easier done with a GPU (including iGPU) unless you really have a top-end CPU.

 

Here's a handy table on what formats can be handled by the various generations of Intel iGPU with Quicksync Video support:

 

image.thumb.png.81999c10caf58c853a697ccda7afe4c6.png

Link to comment

Thanks again.  I'm doing my 1080p HandBrake h265-10b encodes (from a 4K source) on an 8700K (Coffee Lake), then uploading to my UNRAID box to stream; I have only encountered an issue when streaming from the UNRAID box to a Roku 3.  Transcoding needed to happen server-side and it basically melted the CPU (8-Year-Old AMD Sempron).  Streaming to Plex Media Player on Windows was fine.  Streaming to my TCL Roku TV was fine.  The clients were direct playing I believe.  I need to upgrade the UNRAID server anyways, otherwise I'd just roll the dive on an Apple TV 4K or something of that nature.  Which is what led me down the current rabbit hole of needing help with suggested parts for a Node 304 build.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.