Dienstag, 9. Februar 2016

unRAID 6 Virtualization Update

In unRAID 6-beta14, we significantly updated our Docker Manager to feature an easier-to-use web interface with better performance and more controls.  With today’s release of unRAID 6.0-beta15, we have introduced our new VM Manager and with it, support for creating localized virtual machines.  As such, we wanted to use this opportunity to share with you our vision for virtualization with unRAID.  Simply put, our goals are to:
  1. Make it easy to download and run a wide variety of applications.
  2. Remove complications due to software dependency conflicts and OS allegiance.
  3. Enable safe use of other devices with unRAID.
We knew that if we achieved these goals, we would solve lots of problems and have a truly unique offering. Now let’s take a moment to explore the virtualization technologies we’ve incorporated in unRAID Server OS 6: Xen, Docker, and KVM.
xen-logo copy

First up…The Xen Hypervisor

Xen was the first virtualization technology we implemented in unRAID 6. Xen offered the key benefit of paravirtualization, which would allow VMs to be created even on hardware that didn’t have virtualization support.  This was really exciting, as it fulfilled goal #1 from our original list right away.  Xen also had support for hardware-assisted virtualization which we hoped would address both goals 2 and 3 from our original list.  In February of 2014, we even featured a blog post on virtualization and discussed the many potential use cases.  However, there were challenges that we had yet to solve.
  • How would we distribute VMs and how much bandwidth would we need?
  • How many applications per VM?
  • How would we handle patching / ongoing maintenance?
And with Xen specifically, we had experienced some issues with networking, Windows paravirtualization drivers, and PCI device assignment (specifically GPUs).  So we explored other options.
docker-logo copy

Next…Docker Containers

With Docker containers on unRAID 6, we can run any application from any Linux distribution (Ubuntu, Arch, Debian, Fedora, etc.) and access them through a browser (either a webGui or VNC).  Docker doesn’t require the use of hardware with Intel VT-x / AMD-V support, provides an online repository for downloading preinstalled application images, and is extremely efficient in its utilization of storage resources (disk / RAM).
In experimenting with Docker, we found that it was a much better solution for running Linux headless applications than VMs in general (Xen or otherwise).  So for serving media (Plex, Logitech, MediaBrowser), sharing files (ownCloud, Dropbox, BT Sync), and running other headless apps (Minecraft, TeamSpeak, MariaDB), Docker Containers are a better solution. With Docker on unRAID 6, our customers now have access to a catalog of over 14,000 applications.
However, Docker doesn’t provide support for non-Linux applications (Windows, FreeBSD, etc.) and can’t supply drivers for devices independent of the host operating system.  And with Docker effectively deprecating the #1 benefit of Xen (paravirtualization), we decided to spend some time with KVM to see how it fared in solving the remainder of our virtualization goals.
kvm-logo copy

Last but not least…KVM

Unlike other hypervisors, KVM is the only one that is built directly into and supported by the Linux kernel itself.  All other hypervisors out there will load before Linux does, and then a Linux distribution (OS) runs in an underprivileged state to that hypervisor.  By leveraging a hypervisor that is part of the Linux kernel itself, it means better support, less complexity, and more room for optimization improvements.
In addition, if the host processor supports Intel VT-d or AMD-Vi, you can take advantage of another KVM-exclusive capability:  Virtual Function I/O.  VFIO is an unbelievably powerful virtualization technology exclusive to KVM that allows us to assign PCI-based devices from our host directly to guest VMs which can supply device drivers for the device directly (independent of unRAID OS).  Best of all, those devices are then limited to only accessing memory that their VM guest is assigned, thus protecting other applications running on the host.
One of the most powerful examples of this is to pass through a discrete GPU (video card) to a VM, along with a set of input devices for what we are nick-naming “localized virtual desktops.”  This allows users to run full desktops as virtual machines on unRAID in an isolated and controlled manner.  It also provides the benefits of virtualization without sacrificing user experience.  Traditional virtual desktops require you to use a secondary device to connect to them and the graphics are then transmitted over a remote connection (such as VNC or RDP). While the benefits of remote access are clear, there is no optimization for local access.  For use cases requiring high-performance, 3D graphics, or latency-sensitive applications, traditional virtual desktops fail to deliver.  Localized virtual desktops eliminate the performance, graphics, and latency bottle-necks by using a local set of devices to both display and interact with the VM.  No need for a secondary device and you can run any traditional desktop application and get the same user experience as if local.  Use cases for localized virtual desktops include:  digital art, photos/videos, 3D models, high-performance gaming, and much more.
Imagine having a workstation, gaming PC, media player, and a NAS, all running on the same hardware at the same time!  Instead of buying multiple disparate systems for your various home computing needs, you can consolidate spending into a single, more powerful device.  Seeing this first hand is extremely powerful and very exciting, as many folks have longed for this type of solution for quite some time…one Machine to Rule Them All!

Where does this leave Xen with unRAID?

In January of this year, the Xen team released version 4.5 which represented a substantial rework of the hypervisor.  To put things in perspective, while 78,000 new lines of code were added, over 141,000 were removed, dubbing the nickname for Xen 4.5 as “Less is More.”  Among the release notes, there are hints of better performance, better hardware virtualization support, and significant improvements to manageability.  It is our plan to test the latest release after the final release of unRAID 6.0 to determine the future of Xen in unRAID.  Stay tuned to our blog for more information.

VMs and Containers…better together

We love Docker and VMs and think they complement each other very well.  They allow us to run both service-driven applications and localized virtual machines so we can better harness the power of modern day processors.  When we see some of the investments being made by our community members into much more capable hardware, we need to find better ways to take advantage of it!

New Licensing Announcements

Note:  As of 5/16/2015, the pricing referred to in this blog post is no longer current.  Please see the Registration Keys page for current licensing limits and pricing.
Today we are announcing a number of changes to unRAID Server OS registration key licensing.
  • New pricing and licensing changes
  • Formalized key-replacement and transfer policy
  • Streamlined purchasing process
elephant_slider_ppp_sq-s

Pricing and Licensing Changes

As of 6.0-beta13:

  • The unregistered (free) version, previously called Basic, is now named Trial, and supports up to 3 devices.
  • We are now offering a Basic registration key that sells for $29 and supports up to 4 devices.
  • The Plus version now supports 8 devices at the same price of $69.
  • The Pro version remains unchanged, supporting up to 25 devices at $119.
  • All feature restrictions have been removed in all key types (i.e., Private Shares and Active Directory are available in all editions).*
  • There are no changes to unRAID 5.x supported key types and feature restrictions.

As of 6.0-RC1:

  • The Trial version will impose a 250GB capacity limit per HDD/SSD storage device.  During the first server start following purchase and installation of a registration key, all file systems are automatically expanded to full device size.
  • Certain features may be omitted/limited in future releases.
  • There will be a modest price increase for all registration types.

Formalized Key-Replacement and Transfer Policy

Also starting with 6.0-beta13, we are formalizing our registration key replacement and transfer policy:
  • Any original registration key may be traded for a replacement key at any time.
  • A replacement key may be traded for another replacement key after one year.
  • Any upgrade purchase yields an original key.
  • Registration keys are not transferable.
  • At this time replacement key requests are handled manually via email; but an automated on-line replacement capability is coming soon.

Streamlined Purchasing Process

We’ve introduced a number of improvements here.
  • On the Web interface Flash Device Settings page there is a link to a landing page on the Lime Technology website which automatically presents purchase options based on your current registration type.  There is also an input field to accept the link to your registration key file (provided in the email receipt).  After you paste the link and click Install, your new registration key is recognized – no need to reboot the server.  We will be expanding and streamlining this functionality soon as well.
  • We’ve also automated the delivery of registration keys.  After a user purchases their key via the unRAID web interface, they will immediately be sent a system-generated e-mail with their registration key file(s).

Freitag, 15. Januar 2016

Popular Applications in unRAID 6

One of the most powerful features of unRAID 6 comes in the form of application support through what we call unRAID Extensions.  
Think of extensions in the same way you would a file extension in any popular program, for instance, Adobe Photoshop:  there are BMPs, JPEGs, PNGs, TIFFs, etc.  Each of those are just different ways to store and manage the content inside them.  The same holds true for Extensions in unRAID in the form of Plugins, Containers, and Virtual Machines.  Each have their strengths and weaknesses, but in the end, they serve a common purpose in allowing the user to run an application on their unRAID server.
Just like on a smartphone, tablet, Mac, or PC, running applications on your NAS will give you more value out of your investment in hardware.  The applications available to you on unRAID are also designed to save time, money, or otherwise improve your quality of life. Today we will be covering a few examples of applications available to use in unRAID 6.

openvpntech

Thanks to peter_sm, a loyal community member, unRAID features a fully-functional OpenVPN client and server capability that is easy to install on any unRAID system.  VPN (virtual private networks) are a way to create secure private tunnels between two different systems.  A common use for VPNs in the business world is to allow remote users to connect securely to their office while at home or abroad.  For unRAID users, OpenVPN enables the same benefits but more likely for use in a peer-to-peer setting.  A powerful example would be to create a VPN tunnel between a few trusted peers for an extra layer of security and protection while backing up important data using Crashplan or another backup solution on unRAID.  Back-up your most important data (family videos/pictures, personal documents, etc.) and at the same time, avoid network performance throttling by most Internet service providers.

Owncloud
There is an ever-growing concern with trust for “the cloud.”  Recent security breaches, NSA spying, and other tomfoolery, have made users less trustworthy of “the cloud” and looking for ways to better protect themselves, while still continuing to use their technology as they please.  Thanks to gfjardim from our community, users now have a way to get all the benefits of a Dropbox-like service but hosted on hardware they own and operate inside of a Docker container.  Best of all:  its completely free.  Download and run it today.

plex
Using Plex on unRAID, users can leverage their underutilized hardware resources (CPU/Memory) to stream content over their network to a variety of different devices.  Plex players are available for HTML5 (any web browser), iOS, Android, and even devices like Google Chromecast and Amazon Fire TV.  In addition, Plex can transcode content on the fly to support a variety of network connections and even can stream said content to remote devices over the Internet (Plex Pass subscription required).  In addition, it supports a variety of different types of content:  TV Shows, Movies, Home Videos, Pictures, and Music.  Quite simply, Plex is one of the most elegant solutions we’ve found at Lime Technology for managing all of your personal digital media.
One of the biggest features Plex Pass subscribers will gain is the ability to take their content “to-go” and not have to suffer both the expense and inconsistent experience of mobile data.  By “syncing” content in Plex to your mobile devices, you can save money and bandwidth.  Examples:
  • Watching Media on an Airplane:
    • Pay for wifi on plane (if available):  $10 – 15 per flight (may not be able to stream video)
    • Watch your movies you synced to your devices:  Plex Pass Subscription ($3.99 per month, unlimited usage)
  • Watching Media Using Mobile Data vs. Local Data:
    • Watch 45 minutes of 720p Netflix video and consume 500MB of data usage
    • Watch unlimited content you synced to your mobile device:  0MB data plan usage.
As someone who has a 2 year old daughter, it’s great to be able to provide entertainment for her while out to dinner without having to limit our options to Wifi capable restaurants or worry about data plan consumption while we’re on the go with her.  Thanks to another community member, needo, you can run Plex on unRAID today as a Docker container.

CrashPlan
The topic of backups constantly comes up in our community forums.  While unRAID protects your data by using a parity, this protection is only designed to protect against data loss caused by a drive failure, and is not considered a “backup”.  Imagine your home suffered a natural disaster such as a fire or flood?  What about a user just deleting a file they didn’t mean to and they want it back?  Or what if you drop your server/storage devices during a physical move to a new location?  Backups are designed to allow users to recover data in scenarios like these, where a parity drive cannot.
Crashplan by Code42 is a solution that can be configured on your unRAID server and then managed from another Mac\Windows-based PC or Laptop on your network.  From there, you can configure your unRAID server to backup some or all of your data.  Crashplan also gives you the flexibility to choose where you wish your backup data to be stored:  on a secondary machine you own, on a trusted friends machine, or in the Crashplan cloud service.
Lastly, you may wish to use Crashplan to not only backup your unRAID system itself, but also to backup your multiple personal devices as well.  A common way users have set this up is to enable their various devices (laptops, PCs, mobile devices) to backup to their unRAID server locally, and then replicate that backup along with other data to an offsite location for the ultimate protection.
We highly recommend you check out the Crashplan Docker container that is available today on unRAID 6 to start backing up your data.  Another thanks to gfjardim for putting this together as well.