Need a new nas - Questions on virtualization, docker, and other options


Recommended Posts

I have almost filled up my ancient 2TB DNS-323.  I am an XBMC user and based on discussions on their forums I’ve decided to explore unRAID.  I’ve been reading about unRAID for some time now and I’ve came to a cross roads.  I’m trying to decide to build a machine using server components (xeon, SuperMicro, ECC ram, IMPI, etc…) or go with a more budget friendly approach.  I’m hoping you can share how you made your decision.

 

Needs:

  • repository for media - documents, music, pictures, and movies
  • SABnzbd, Sick Beard, CouchPotato, Headphones, Torrents
  • I don't plan on transcoding much.  I have a capable xbmc and a 1Gbps network, though watching shows on tablets and phones is intriguing
  • More capacity, though I don't see myself needing more than a few drives
  • SFF would be nice, but not necessary.  The machine will be in the basement
  • low power consumption

Questions:

  • I understand the desire to more away from add-ons and use visualization for things like SABnzbd; it keeps the unRAID installation clean.  What I don't understand is where docker fits into the mix.  Is anyone aware of a place that list the advantages/disadvantages of xen w/unRAID as dom0 and unRAID w/docker?
  • My plan was just to use a virtual Ubuntu server SABnzb, etc...  In that case I wouldn't be worried about passthrough, right?  It seems that the hardware required to PCI passthough is significantly more expensive.
  • What are you using you virtual clients for?  I'm a nerd, we have many virtual servers at work, but i'm struggling to see virtual machines used for anything other than tinkering with at home.  I mean it's a really cool feature but have any of you determined it was overkill once you got it set up?
  • I would be great to set up sandbox machines but I've played with VirtualBox on a Windows but even a client with the default Ubuntu Desktop (with 3d acceleration) was sluggish.  Granted, this is an apples and oranges comparison (type 2 vs type 1 hypervisor), but what sort of user experience can I expect these virtual machines?  I've I was able to do PCI passthrough this experience should improve, right?
     

I suppose all of this is just a matter of personal preference: simple vs complicated, basic vs powerful.  I was just hoping to hear if others made these same decisions and what their process was.  I'm not opposed to spending the money (and time) for a server class machine, but I want to make sure I'll get out of it what I put into it.

 

Thanks in advance for the help!

Link to comment

If you have Linux skills and not doing PCI Passthrough (you aren't)... I would try a VM for your Apps.

 

Once you get a Ubuntu or whatever VM going... You have a blank canvas and set it up / configure it however you want. You just SSH or VNC into it and it's like you installed it on a separate machine. If you want one VM to run CouchPotato, Sickbeard, SABnzbd... Follow any number of 1,000 guides on the web. If you want separate VMs, you could do that too. A lot of the users here were using a VM that a user provided instead of creating their own. He has since left so it's up to you to install / manage your own VM.

 

Docker is great but it's more complicated for the average person to set up / create / manage than a VM. Needo has been nice enough to create / maintain a bunch of Apps for us in Docker which makes life a lot easier for you if you do not want to create / set up your own.

 

Good thing about unRAID 6 is you can try both VMs and Docker and see which one works better for you.

Link to comment

I have almost filled up my ancient 2TB DNS-323.  I am an XBMC user and based on discussions on their forums I’ve decided to explore unRAID.  I’ve been reading about unRAID for some time now and I’ve came to a cross roads.  I’m trying to decide to build a machine using server components (xenon, SuperMicro, ECC ram, IMPI, etc…) or go with a more budget friendly approach.  I’m hoping you can share how you made your decision.

 

Needs:

  • repository for media - documents, music, pictures, and movies
  • SABnzbd, Sick Beard, CouchPotato, Headphones, Torrents
  • I don't plan on transcoding much.  I have a capable xbmc and a 1Gbps network, though watching shows on tablets and phones is intriguing
  • More capacity, though I don't see myself needing more than a few drives
  • SFF would be nice, but not necessary.  The machine will be in the basement
  • low power consumption

 

Personally I started with a budget friendly approach, and after 3 years or so, moved up to a server based infrastructure (which you can see in my signature).

 

Your requirements are fairly common and any current I3 Haswell based processor is likely going to handle your requirements. This will definitely handle your current requirements, and allow you to explore Plex if you want to look at transcoding for mobile.

 

As to whether you need to go all out today, or start with something more simple, it's going to come down to your expectations. If you are moving from a DNS-323, I am going to guess they are pretty low currently. :)

 

There is definite value in buying server grade components, but there is a lot more cost included (usually it's a high end MB, Xeon proc, and ECC ram). Without knowing your financial situation only you can decide how much you want to invest up front. You can also keep in mind that if you have an older computer, or parts lying around you could put these together potentially to build a UnRAID server, but if you are buying a new, lowish end Haswell system you are likely looking at $400-500 (maybe less depending on parts), and likely going to add a few hundred for server grade.

 

For hard drives, if you can afford it I would look at WD RED drives (3TB or 4TB). You will want 3 drives (1 for parity, and 2 for data) and as you mention you should be fine for a while since you are under 2TB today.

 

Questions:

  • I understand the desire to more away from add-ons and use visualization for things like SABnzbd; it keeps the unRAID installation clean.  What I don't understand is where docker fits into the mix.  Is anyone aware of a place that list the advantages/disadvantages of xen w/unRAID as dom0 and unRAID w/docker?
  • My plan was just to use a virtual Ubuntu server SABnzb, etc...  In that case I wouldn't be worried about passthrough, right?  It seems that the hardware required to PCI passthough is significantly more expensive.
  • What are you using you virtual clients for?  I'm a nerd, we have many virtual servers at work, but i'm struggling to see virtual machines used for anything other than tinkering with at home.  I mean it's a really cool feature but have any of you determined it was overkill once you got it set up?
  • I would be great to set up sandbox machines but I've played with VirtualBox on a Windows but even a client with the default Ubuntu Desktop (with 3d acceleration) was sluggish.  Granted, this is an apples and oranges comparison (type 2 vs type 1 hypervisor), but what sort of user experience can I expect these virtual machines?  I've I was able to do PCI passthrough this experience should improve, right?
     

I suppose all of this is just a matter of personal preference: simple vs complicated, basic vs powerful.  I was just hoping to hear if others made these same decisions and what their process was.  I'm not opposed to spending the money (and time) for a server class machine, but I want to make sure I'll get out of it what I put into it.

 

Thanks in advance for the help!

 

As to your questions:

 

I) Docker gives you a lot of the ease of use that the traditional plugins have had. The benefits are that they are easy to setup, easy to maintain, and share resources with UnRAID.  If you go the VM route then you need a better Linux understanding to build and manage it, and you will need to dedicate cpu/memory resources to it. I would recommend Docker to any new user, provided you are able to provide a disk (either as cache, or outside of the array) that can be formatted BTFRS, which Docker requires. This is initially a bit more work, but I think it's worth it in the long run as it's where UnRAID is going, and where the most development is likely to be made for the foreseeable future.

2) If you do go a VM route, then as Grumpy mentioned, there are a number of guides out there, and you will still get some help from the forums here, however, as mentioned in 1) Docker is the way everything is going. If you only want common apps like SAB, SB, CP, and torrents, Docker is a great fit. If you have more unique requirements, and/or have a good Linux understanding you can definitely look at building out a VM to manage these. You don't need to worry about passthrough unless you plan on passing a video card to the VM (i.e. building a XBMC VM, or a Windows VM). The other instance where pass-through is needed is if you wanted to run something else on the base machine (another Linux flavour) and want to run UnRAID in a VM. In that case you would want to pass the USB drive and HD controllers to the VM. However, this is not a supported config, and likely not the best way to get started.

3) I have been using a Arch Linux VM that was created by a forum member for all the same plugins you mentioned. Recently I ditched it (actually last night) after migrating all applications I use to Docker. I do use VMs elsewhere at home (Active Directory, Exchange, etc), but for small Linux based apps like SAB/SB I've come to the conclusion it's really a waste of time. Docker is far easier to manage and work with.

4) If I am reading you question right it looks like you are asking about setting up a VM with video passthrough and asking about performance? Performance should be near-bare metal as it's a Type 1 hypervisor, however performance is largely going to be dictated by how many virtual CPU cores and RAM you assign the VM.

 

I am going to guess the responses are likely going to generate more questions. :)

 

Go ahead and ask anything that is unclear, or that you would like more detail on.

Link to comment

Wow, thank you for the informative replies!

 

Sounds like Docker is kind of a middle ground between add-ons and virtual machines.  Defiantly something I'll look into.  Unlike an add-on it's compartmentalized and doesn't change the unraid install. It's also not as "full blown" as a virtual machine.  I wouldn't have to worry about keeping several virtual machines up to date for example.  Sounds like the best of both worlds.

 

I have an aging windows desktop machine and I've considered robbing its components to build an unraid server.  Problem is, I still need some Windows software (not much, my primary laptop is Ubuntu and I'm getting along fine).  My plan was to replace this physical Windows machine with a virtual one.  Sounds like I won't be too successful with that without passthrough, right?

 

How do people use virtual windows clients?  I understand SSH and VNC in the linux world, but for Windows (and even 3d accelerated ubuntu) I haven't been impressed with VNC.  I know there's lots of options; TeamViewer, rdp, vnc, etc...  I don't know how people actual use those in a home environment.  Are there any options that offer the "eye candy" of modern operating systems, with decent performance?

Link to comment

Wow, thank you for the informative replies!

 

Sounds like Docker is kind of a middle ground between add-ons and virtual machines.  Defiantly something I'll look into.  Unlike an add-on it's compartmentalized and doesn't change the unraid install. It's also not as "full blown" as a virtual machine.  I wouldn't have to worry about keeping several virtual machines up to date for example.  Sounds like the best of both worlds.

 

I have an aging windows desktop machine and I've considered robbing its components to build an unraid server.  Problem is, I still need some Windows software (not much, my primary laptop is Ubuntu and I'm getting along fine).  My plan was to replace this physical Windows machine with a virtual one.  Sounds like I won't be too successful with that without passthrough, right?

 

How do people use virtual windows clients?  I understand SSH and VNC in the linux world, but for Windows (and even 3d accelerated ubuntu) I haven't been impressed with VNC.  I know there's lots of options; TeamViewer, rdp, vnc, etc...  I don't know how people actual use those in a home environment.  Are there any options that offer the "eye candy" of modern operating systems, with decent performance?

 

Depending on where the host machine is in relation to you you could bypass these. Since you need a dedicated video card to passthrough to the VM if it supports HDMI out you could run that to your local monitor. Same with USB keyboard/mouse.

 

Link to comment

If you are already running Ubuntu as your main OS on a laptop... Docker will probably drive you mad unless you manage your own.

 

We are running a Fork of Fork (Ubuntu>Phusion) and then Needo (who is doing a GREAT job) would have make any changes you want.

 

For example, someone wanted ffmpeg added to one of the Apps. He didn't know how to do it himself in docker so he had to request it, wait for Needo to add it and then reinstall the container.

 

Where as in a VM running a full blown Ubuntu, "apt-get install ffmpeg". Done!

 

Docker is great but if you like to tinker / not depend on others and know Linux... it is more trouble than it is worth.

Link to comment

Docker is great but if you like to tinker / not depend on others and know Linux... it is more trouble than it is worth.

 

I messed with docker for the first time yesterday and while I can see how it will help a lot of people, I prefer to "tinker". I think I am still planning on using VM's whenever the right patches are applied. I really wish I had another server with VT-d, I would love to try running a linux distro as dom0 and unRAID as domU... I hate having to wait! lol

Link to comment

Ok, so docker may not be the be-all end-all.  So, if I don't go with server grade hardware, and want to stay with haswell, any recommendations for motherboards and processors?

 

Docker is not the be all end all, but it will get you 90% of the way. :)

 

As for recommendations... it will depend on what you want to do... specifically do you want to do pass-through of hardware to VMs? If so, you need to select a motherboard that supports vt-d - I would suggest ASRock or SuperMicro. For processors I would do an i3 at a minimum, but an i5 would be preferable if you plan on running multiple VMs, or any Windows based VMs (an i3 will do, but I'd want the extra horsepower).

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.