Benefits of Virtualization on unRAID 6 (blog post sneak peak)


jonp

Recommended Posts

In a recent reply from Fireball3 in this thread, I was asked:

 

Perhaps you can write something similar to show how the average user can benefit from virtualization on the

unRAID server?

 

So I started a reply and decided it was better suited as it's own post here.  That said, Fireball3 set me up with some good questions / points so I'll quote his message in this post to set the stage.

 

Virtualization seems to be a nice option to provide computer access for a whole family

without the need of having multiple computers.

 

This is a major understatement.  There are multiple virtualization methods we intend to support with unRAID 6.  At a high level, we break this down into Docker Containers and Virtual Machines (both are methods of virtualization in general).

 

Docker Containers are our method of supporting virtual applications.  They provide a far better solution than traditional approaches (e.g. chroot aka jails) for installing NAS applications for sharing files, streaming media, backing up other devices, and much more.  Application virtualization is the right solution for folks that have no need/interest in tuning the operating system for the app, but rather, just want to control the app itself.  All the legwork for creating a secure, isolated, operating environment is done for you.

 

Virtual machines add three more types of virtualization methods to our OS:  virtual servers, virtual appliances, and virtual desktops.

 

With virtual servers, we can now run ANY service-driven application on unRAID 6.  Unlike Docker, VMs can support any OS (not just Linux) and for those that want to have more granular control over the operating environment for applications, VMs give users that ability where Docker Containers do not.  Virtual servers are ideal for IT professionals, developers, and tech-savvy users that want more control than what virtualized applications provide.

 

Virtual appliances are designed with a single purpose in mind.  As OpenELEC refers to it:  JeOS (just enough operating system).  Virtual appliances are similar to containers in that they are pre-built images that are not designed for users to tune the OS, but differ in, once again, not being limited to Linux-based operating systems.  Another unique aspect of virtual appliances is there ability to leverage host-based devices towards their purposes such as graphics, sound, and input (keyboard / mouse / etc.).  OpenELEC is one example of a virtual appliance we intend to support.  SteamOS would be another...  All in due time and remember, this is just the beginning...

 

Last but not least, virtual desktops.  Coming from the enterprise virtualization industry, I always struggled with the value of traditional VDI (virtual desktop infrastructure).  The primary reason was that you had to sacrifice user experience to get the benefits of virtualization for end-user computing.  A simpler way to say it:  remote graphics, while handy in a pinch or while away from home, is certainly not the most enjoyable experience for "all-the-time" computing.  This is where unRAID 6 stands alone with localized virtual desktops.  LVDs allow us to do two things: 

 

1 - leverage local input / display connectivity to use our NAS hardware as a high-performance desktop

2 - leverage the performance of local networking to stream a high-quality desktop experience to various other devices in our homes

 

With LVDs, we can create digital art, edit photos/videos, and enjoy 3D gaming, all from the same system that stores and protects our data.

 

This is just a sneak peak at what's to come.  We have a LOT planned to demonstrate the value of our virtualization capabilities in unRAID 6, and you can expect to see loads of new content on our website, in the wiki, and here on the forums that will do just that.

 

Could you please elaborate on the hardware needed to do so?

 

To take advantage of Docker, there are no specialized hardware requirements.  With KVM, there are different requirements for virtual servers than there are for virtual appliances and desktops.  For virtual servers, the only hardware requirement is that your system must support Intel VT-x or AMD-V.  For virtual desktops, your CPU/motherboard must support Intel VT-d or AMD-Vi as well.  For PCI device assignment (graphics, sound, etc.), not all devices may work.  For GPUs specifically, we've found that newer cards from NVIDIA have the highest chance of success, whereas AMD has a fairly decent chance of success, but some of the newer devices (e.g. Hawaii / Bonaire) may not work just yet (although an patch from Alex Williamson looks to fix this in the future).  We will be listing all the hardware we've tested / validated in the wiki soon.

 

There is also a public google spreadsheet I've linked on this forum before that was compiled from the Arch Linux forums that shows the different hardware configurations that have been tested by folks to achieve GPU pass through specifically.  With other PCI devices, most "should" work just fine, but there will always be special exceptions to that rule.  As folks continue to test, we will update documentation to make hardware selection easier and easier.  For now, this spreadsheet is a good start, but again, this is not a hardware compatibility database, just a list of what various folks have reported to achieve success with in various scenarios with GPU pass through.  And even though I've said it before, I'll say it again:  integrated graphics device assignment is NOT currently supported in unRAID.

 

In our case, and probably the most common installations, we have only CAT7 GBit-LAN.

I fear throughput for high resolution video (gaming) is insufficient via GBit LAN.

 

If you have gigabit ethernet, streaming high-resolution gaming shouldn't be a problem (1080p specifically).  4k streaming for game content isn't there yet, but that's not a real need for the immediate term.  Eventually when we see more 4k mobile devices and higher performance GPUs, this will be a reality.  And also keep in mind that streaming video can be pretty compressed to keep things at reasonable performance levels over 1gbps.

 

And btw, wireless is going to be fine at this too.  Quoted from google ;-):

 

The theoretical max speed of 802.11ac is eight 160MHz 256-QAM channels, each of which are capable of 866.7Mbps — a grand total of 6,933Mbps, or just shy of 7Gbps. That's a transfer rate of 900 megabytes per second — more than you can squeeze down a SATA 3 link.

 

Even on wireless N, you can get semi-decent user experience.  Wired is still recommended for the most consistent experience and lowest latency, but wireless will eventually catch up.

 

What options are available/recommended to connect those terminals in such a network and what

usecase can be covered (office? gaming?)

 

Let's change "terminals" to "endpoints" or "receivers" to make this easier for a wider audience to understand.  Valve plans to release SteamOS later this year and with it, some nice hardware offerings including Steam Link, which will essentially be the Chromecast for SteamOS streaming (and at only $50, that's a steal).  Those aren't the only endpoints though that we could use.  Laptops, tablets, and smartphones are ideal receivers for such streaming content, and I would expect to see more and more controllers coming out that will make those experiences better and better.

 

I hope this post was a good overview for now on where this is headed, but like I said before, this is just a small taste of what we have in store for the website and other marketing material to help spread the word on how this can be better used.  I have use cases for photographers/videographers, digital artists, technology professionals, media / gaming enthusiasts, and much more.

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.