unRAID Server OS 6.2 Released

Today we are pleased to announce the availability of unRAID 6.2.  This release includes many quality-of-life improvements to the OS, additional hardware support, and a bunch of new features.  Here’s a complete breakdown of everything that we’ve added to the OS

New stuff since beta!

Here are the features that we’ve added / changed since the initial public beta release of 6.2:


VLAN and multiple Ethernet support

With these new controls, users can now have a deeper control of how networking is managed between the host, VM guests, and Docker containers.  You can now create multiple VLAN interfaces off a single physical interface, create multiple bridges or bonds, and either physically or logically separate network traffic between the host, your VM guests, and your Docker containers.  A huge thanks goes out to community developer bonienl (aka Bergware) for adding these new configuration options and for providing a set of useful drawings to help illustrate their usefulness.

 


No device limit for trials

While we increased the attached device limit for trial users upon launching the first 6.2 public beta, we’ve since decided that it makes even more sense to have no limit at all.  Trial users will now have the ability to attach as many devices as they desire to test all of their hardware as much as they want before committing to a purchase.

 


LibreELEC 7.0.1 VM Support

Earlier this year, a number of developers that previously had worked on the OpenELEC project decided to create a fork of that project to launch a new variant that would be known as LibreELEC.  For more information on the LibreELEC project and how it differs from OpenELEC, please visit their about page.  Having this as a new VM template option in 6.2 gives users the power to choose between both of these great solutions for their media player needs.

 


Prefer cache mode

To make things more flexible for our users, we’ve added a new cache mode called “Prefer” for user shares. This new mode allows users to configure their system without a cache device and when one is added, shares that are set to this mode will have their data moved off array devices and to the cache automatically.

 

Changes since 6.1

And as a reminder, here is a summary of all the other upgrades 6.2 will feature over 6.1.


Increased device limits for Pro

Pro customers now have no attached device limits whatsoever, and the ability to assign up to a total of 30 devices in the array (2 parity + 28 data) in addition to another 24 devices in the cache pool (over 2x increase in assignable devices from 6.1).

 


Dual-parity support

With dual parity in unRAID 6.2, users can suffer up to two concurrent disk failures and still have access to all of their data.  This second level of fault tolerance still shouldn’t be looked at as a replacement for good backups, but it most certainly will improve the reliability of data protection on your system.

 


GUI boot mode

Users can now administer their system locally using a browser inside our new graphical interface.  This can be extremely beneficial when troubleshooting networking issues, which can make remote administration a challenge.

 


Docker made even easier

One of the biggest advantages of unRAID’s approach to Docker management has been simplicity.  With 6.2, our focus was to make things even easier for new and existing users alike, reducing the number of steps for initial configuration and for adding new applications to your system.

 

Default volume mapping for appdata

The majority of containers out there are configured to store application-specific data through a Docker volume mapping.  This mapping is most commonly tied to a sub-folder off of a share that most users have named “appdata.”  Since this is a fairly common occurrence, we thought it’d be helpful for people if they could automatically map that path for the containers that require it.  Specifying a path here just reduces the number of steps required to add future containers to your system.  ​With this new default setting, containers that specify a volume mapping for “/config”, it will map to a sub-folder off the path specified for this setting, and the sub-folder name will match the name specified for the container.

 

Simplified controls for Basic view

With these new default settings options, users will now also be greeted with an even simpler process for adding containers to your system.  The new basic view mode when adding a container will reduce the number of fields displayed to only the ones that require a setting to be specified, while all other fields will be hidden.  The idea is to let basic users get started faster, while letting advanced users have access to the tunable controls they need.  This applies to both the Docker Settings and Add Container pages in the webGui.

 

Update containers without starting them

In the past, when containers were updated, they would also be run at the same time.  While this typically isn’t a big deal, it is kind of annoying that the two actions have been connected when truthfully we want the ability to update the app independent from turning it on and off.  Thankfully in this release, this is no longer the case, and containers can be updated without turning them on.

 


Get started faster with new auto-share creation

New users that want to take advantage of Docker or virtual machines will find getting started with them to be much quicker than before.  When these services are enabled, unRAID will automatically create whatever shares are necessary and set them to utilize the most ideal share settings.  This means that new users will no longer have to manually create shares to store their application data or their virtual disk images.  Users can still opt to provide storage locations for some of this manually, but our goal with this is to simplify things for first-time use.

 


Major upgrades to virtual machines

Thanks to a lot of coffee, testing, and reporting from our wonderful user community, we are really excited to talk about some of the new enhancements to virtual machines for 6.2.

 

Simplified VM storage management

Similar to Docker, we really wanted to simplify the process for users to create virtual disks on unRAID.  With this release, you can set an unRAID share as the default storage location for your new virtual disks.  The vdisks will get created on a device per the policies on the share, but you’ll be able to manually designate a specific disk target on a vdisk-by-vdisk basis as well.  The idea is that all vdisks you create for a VM will stay in the same folder and on the same share, but you can manually choose where each vdisk will live (on a disk in the array or in the cache/pool).

 

Improved support for OVMF

With version 6.2, users will be able to create multiple OVMF VMs without difficulty (previous releases only supported a single OVMF VM per unRAID system).  OVMF represents a major step forward in VM technology as it adds support for UEFI and SecureBoot.  A key benefit of UEFI is better support for passing through physical graphics devices to VMs (GPU pass through).  When assigned to an OVMF virtual machine, if your GPU supports UEFI, it should work fine.  Most modern operating system support UEFI (Windows 10/8.1/8, Ubuntu 14/15, SteamOS, etc.), so why not take advantage of it?

 

Support for Hyper-V in Windows VMs with NVIDIA GPU pass through

In Windows-based virtual machines, Microsoft enabled a method for hypervisors to “enlighten” Windows to the fact that it is running in a virtual machine.  This knowledge let Windows act a little differently because it knew that certain hardware it was being presented with was just being emulated.  This allows for improved performance, plain and simple.  However, when passing through an NVIDIA GTX-series GPU to a VM, the NVIDIA drivers would detect this enlightenment and disable the GPU with a “Code 43” error.  To get around this, unRAID’s webGui would automatically disable the Hyper-V enlightenments when an NVIDIA GTX GPU was assigned.  While this does have an impact on guest performance in general, gaming performance didn’t seem too bad for most games.  However, there were some games (in one cited example, a game called Tera) where the performance hit was massive to the point where players said it was “unplayable.”  While all the games we’ve tested haven’t really exhibited this behavior, our library is limited and so is our time to play :-(.  However, with version 6.2, we have implemented a patch from the upstream that once again enables us to enlighten Windows VMs without the Code 43 error!  Existing VMs will need to be edited to toggle the Hyper-V setting to yes, but new VMs will automatically keep Hyper-V on for all Windows guests by default.

 

Miscellaneous bug fixes and enhancements for GPU pass through

In addition to the NVIDIA specific benefit mentioned previously, we have also made a number of ‘under the hood’ adjustments to the OS to improve the likelihood of successful GPU pass through with various hardware.  This includes setting the IOMMU mode to pass through by default, as well as adding some custom patches to libvirt to support x-vga directly, eliminating the need to use custom QEMU commands altogether.  There are a number of other minor tweaks and adjustments that have been made to improve this even more.

 

Assign stubbed PCI devices to VMs

While unRAID has had support for passing through GPUs and sound cards to VMs for some time, many users have enjoyed passing through other PCIe devices to their VMs as well.  Things like capture cards, tuner cards, USB controllers, network controllers, and lots of other devices work well using the same virtualization pass through technology we do for graphics and audio.  However, the process for users to do this in the past has been a bit arduous.  In unRAID 6.2, users can “stub” a PCI device and when they reboot their system, the VM add/edit pages will now show the device they stubbed as assignable to the VM.

 

Improved support for assigning USB devices

When it comes to assigning USB devices to virtual machines, unRAID 6.2 features support for a new USB3 virtual controller.  In the previous releases, unRAID has defaulted to using the libvirt created USB controllers for all virtual machines.  Libvirt defaults to leveraging a legacy controller model that has been around much longer, but does not work with all USB devices.  The USB3 controller in this release is known to reduce virtualization overhead compared to the USB2 counterpart, and can support more devices.  We’ve been experimenting with it for quite some time and have had great success, which is why you’ll now see it as the default USB controller selected when creating your VMs, but you can still toggle to the legacy USB2 controller if your VM guest lacks driver support for it (Windows 7 is known to NOT support this controllers, but Windows 8 and above do).

 

 

Improved VNC quality and performance

Another big improvement folks will find with 6.2 is support for a better virtual graphics device.  In previous unRAID releases, we would utilize the Cirrus or vmvga virtual graphics adapter to generate the graphics for a VNC session to the VM.  These virtual adapters are considered the “tried and true” of the virtualization world, but QXL can provide a higher-resolution session as well as better performance within virtual guests that support it.  Similar to the USB 3 controller, we have defaulted graphics through QXL in this release, but you can toggle the legacy methods through a drop-down if you run into issues (please let us know if you do).

 

Download VirtIO drivers in the webGui

In the past, we have asked users to download the VirtIO drivers on another device, and then copy them to the ISO share on unRAID.  With version 6.2, you will find a new option on the VM Manager settings page that allows you to select and download a driver ISO for VirtIO directly within the webGui.  The ISO will automatically be saved to your ISOs share (or one will be created for you if you don’t have one already).  Just another step in trying to make things a little easier.

 


General storage performance improvements

Some users had previously reported performance issues when writing to SSDs in their cache pool.  In our testing, we were able to find that this isn’t universally true, but for those that have experienced any performance issues in this scenario, unRAID 6.2 may deliver a better experience.  This improvement comes from a tweak made to the IO scheduler specifically for SSDs that can improve performance, especially for virtual disks and when multiple I/O operations are occurring.

 

In addition, a number of users had reported performance issues with parity check speeds on some SATA controllers (Marvell in particular).  While this issue didn’t affect everyone with these devices, we were able to narrow down a few key factors that would cause the issue to surface.  After much research and testing, we were able to implement some performance improvements that should restore any previously lost performance on these (and potentially other) storage controllers.

 

Lastly, we also have added official support for unRAID’s “Turbo Write” mode.  This mode utilizes all the disks in the array when writes are occurring to reduce the amount of IOs required per write operation (the technical way to describe this is that turbo write switches unRAID from using a read/modify/write algorithm to a reconstruct-write algorithm).  The result is that in an array of all modern storage devices, write speed can typically saturate a 1gbps network without the need for a cache.  While this mode does require all your disks to remain spinning when writes are occurring, it can be ideal when bulk copying data to your system, or other times where you simply want to bypass using a cache device and have faster write performance to the array.

 

So what are you waiting for!?  Head over to the announcement post to start downloading and installing it today!

Discuss this in the unRAID Community Forum (registration required to post)…