Unraid 6.12.0-rc4 Now Available
New in this release is a conceptual change in the way storage is assigned to shares.
Normally, such a change would not happen in an -rc series, but in this case, the under-the-hood coding was minimal and the concept outlined below is something we plan on introducing in the Unraid OS 6.13 cycle.
The old concept of main storage being the unRAID array with an optional "Cache" confuses many new users, especially since cache has a specific meaning in ZFS.
Also outlined below, we've introduced the concept of an exclusive share. This is a share where all the data exists in a single named pool. A bind-mount is set up, which bypasses the FUSE-based User Share file system. This feature primarily aims to maximize I/O for large fast ZFS pools accessed via a fast network.
Conceptual Change to Share Storage
Configuring the storage options for a share is specified using two inputs:
- Primary storage
- Secondary storage
Primary Storage
This is where new files/folders are created.
If Primary storage is below the Minimum Free Space setting then new files and folders will be created in Secondary storage, if configured.
Each input presents a drop-down that lists "array", "none", and each named pool as a selection according to some configuration rules:
For the Primary storage drop-down:
- the "none" option is omitted, ie, Primary storage must be selected
- any named pool can be selected
- "Array" can be selected (meaning the unRAID array)
Secondary Storage
For the Secondary storage drop-down:
- the "none" option is included, ie, Secondary storage is optional
- if Primary storage is a pool name, then the only options are "none" and "Array"
- if Primary storage is "Array", then only "none" appears as an option
When "Array" is selected for either Primary or Secondary storage, a set of additional settings slide in:
- Allocation method
- Included disk(s)
- Excluded disk(s)
- Split level
When a btrfs named pool is selected for either Primary or Secondary storage, an additional setting slides in:
- Enable Copy-on-write
Normally, this is set to "auto". The only time you would set this to "No" is if the share is storing Virtual Machine vdisk image files. In this case, you give up some error-checking ability for (possibly very much) increased performance in doing I/O to that file with the VM.
Mover Action
When there is Secondary storage configured for a share the "Mover action" setting becomes enabled, letting the user select the transfer direction of the mover:
- Primary to Secondary (default)
- Secondary to Primary
Exclusive Shares
If Primary storage for a share is a pool and Secondary storage is set to "none", then we can set up a bind-mount in /mnt/user/ directly to the pool share directory. (An additional check is made to ensure the share also does not exist on any other volumes.)
There is a new status flag, 'Exclusive access' which is set to 'Yes' when a bind-mount is in place; and, 'No' otherwise. Exclusive shares are also indicated on the Shares page.
The advantage of setting up a bind-mount is that I/O bypasses FUSE-based user share file system (shfs) which can significantly increase performance.
There are some restrictions:
- Both the share Min Free Space and pool Min Free Space settings are ignored when creating new files on an exclusive share.
- If there are any open files, mounted loopback images, or attached VM vdisk images on an exclusive share, no settings for the share can be changed.
- If the share directory is manually created on another volume, files are not visible in the share until after the array restart, upon which the share is no longer exclusive.
Before Updating
As always, create a backup of your USB flash device:
Main→Flash→Flash Device Settings → click "Flash Backup."
For a general overview of this rc series, please see the 6.12.0-rc1 blog and the 6.12.0-rc3 blog.
To Upgrade
- First create a backup of your USB flash boot device: Main/Flash/Flash Backup
- If you are running any 6.4 or later release, click 'Check for Updates' on the Tools/Update OS page.
- If you are running a pre-6.4 release, click 'Check for Updates' on the Plugins page.
- If the above doesn't work, navigate to the Plugins/Install Plugin, copy/paste this plugin URL, and click Install:
https://unraid-dl.sfo2.cdn.digitaloceanspaces.com/stable/unRAIDServer.plg
Reporting Bugs
Change Log vs. 6.12.0-rc3
Linux kernel
- version: 6.1.26
Misc
- avahi: enable/disable IPv4/IPv6 based on network settings
- webgui: DeviceInfo: show shareFloor with units
- webgui: DeviceInfo: added automatic floor calculation
- webgui: Added autosize message
- webgui: Shares: added info icon
- webgui: Updated DeviceInfo and Shares page [explain]
- webgui: Fix network display aberration.
- webgui: Auto fill-in minimum free space for new shares
- webgui: feat(upc): update to v3 for connect
- webgui: Share/Pool size calculation: show and allow percentage values
- webgui: VM manager: Make remote viewer and web console options selectable.
- webgui: VM manager: Option to download .vv file and start remote viewer is browser set to open file .vv when downloaded.
- webgui: VM manager: Add remote viewer console support
- webgui: VM manager: Remove-lock-posix='on'-flock='on'/-
Base Distro
- openzfs: version 2.1.11