• Unraid OS version 6.12.0-rc4.1 available


    limetech

    Please refer to the 6.12.0-rc1 topic for a general overview.

     


    Version 6.12.0-rc4.1 2023-04-27

    Fixes bug in bind-mount when share names contain spaces.

    Version 6.12.0-rc4 2023-04-27

    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; however, in this case the under-the-hood coding was minimal. The concept outlined below is something we planned on introducing in the Unraid OS 6.13 cycle. We decided to introduce this change now because of increased interest in Unraid OS now that ZFS is supported.

    The old concept of main storage being the unRAID array with an optional "Cache" is confusing to many new users, especially since cache has a specific meaning in ZFS.

    Also outlined below, we introduced the concept of an exclusive share. This is simply a share where all the data exists in a single named pool. In this case we set up a bind-mount, bypassing the FUSE-based User Share file system. This feature is primarily aimed at maximizing I/O for large fast ZFS pools accessed via a fast network

    Share storage conceptual change

    Configuring the storage options for a share is specified using two inputs:

    • Primary storage
    • Secondary storage

    Primary storage 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 which 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)

    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

    When a ZFS named pool is selected for either Primary or Secondary storage, there are no additional settings at this time but there could be some in the future. For example, since a share is created as a ZFS dataset, it could have a different compression setting than the parent pool if we need to implement this.

    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 array restart, upon which the share is no longer exclusive.

    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

    Version 6.12.0-rc3 2023-04-14

    Upgrade notes

    If you created any zpools using 6.12.0-beta5 please Erase those pools and recreate.

    If you revert back from 6.12 to 6.11.5 or earlier, you have to force update all your Docker containers and start them manually after downgrading. This is necessary because of the underlying change to cgroup v2 in 6.12.0-rc1.

    Upon boot, if all PCI devices specified in 'config/vfio-pci.cfg' file do not properly bind, VM Autostart is prevented. You may still start individual VMs. This is to prevent Unraid host crash if hardware PCI IDs changed because of a kernel update or physical hardware change. To restore VM autostart, examine '/var/log/vfio-pci-error' and remove offending PCI IDs from 'config/vfio-pci.cfg' file and reboot.

    Linux Multi-Gen LRU is a relatively new feature now included but not enabled by default. You can enable by adding this line to your 'config/go' file:

    echo y > /sys/kernel/mm/lru_gen/enabled

    If you revert back from 6.12 to 6.11.5 or earlier you many need to remove that line.

    Obsolete/Broken Plugins

    There are a few plugins which are known to be incompatible with Unraid 6.12, and upon boot will not be installed. You will get a notification for each plugin that is affected, and can review the list by going to Plugins/Plugin File Install Errors.

    • disklocation-master version 2022.06.18 (Disk Location by olehj, breaks the dashboard)
    • plexstreams version 2022.08.31 (Plex Streams by dorgan, breaks the dashboard)
    • corsairpsu version 2021.10.05 (Corsair PSU Statistics by Fma965, breaks the dashboard)
    • gpustat version 2022.11.30a (GPU Statistics by b3rs3rk, breaks the dashboard)
    • ipmi version 2021.01.08 (IPMI Tools by dmacias72, breaks the dashboard)
    • nut version 2022.03.20 (NUT - Network UPS Tools by dmacias72, breaks the dashboard)
    • NerdPack version 2021.08.11 (Nerd Tools by dmacias72)
    • upnp-monitor version 2020.01.04c (UPnP Monitor by ljm42, not PHP 8 compatible)
    • ZFS-companion version 2021.08.24 (ZFS-Companion Monitor by campusantu, breaks the dashboard)

    Some of the affected plugins have been taken over by different developers, we recommend that you go to the Apps page and search for replacements. Please ask plugin-specific questions in the support thread for that plugin.

    ZFS Pools

    New in this release is the ability to create a ZFS file system in a user-defined pool. In addition you may format any data device in the unRAID array with a single-device ZFS file system.

    We are splitting full ZFS implementation across two Unraid OS releases. Initial support in this release includes:

    • Support raid0, mirror, raidz1, raidz2 and raidz3 root profiles. Up to 4-way mirror in a mirror vdev. Multiple vdev groups.
    • Support removing single device: if device still present in server, 'wipefs' is used to clear the partition table.
    • Support replacing single missing device with a new device of same or larger size.
    • Support scheduled trimming of ZFS pools.
    • Support pool rename.
    • Pool names must begin with a lowercase letter and only contain lowercase letters, digits, the underscore and dash. Pool names must not end with a digit.
    • Non-root vdev cannot be configured in this release, however, they can be imported. Note: imported hybrid pools may not be expanded in this release.
    • Pools created on other systems may or may not import depending on how the the pool was created. A future update will permit importing pools from any system.

    A ZFS pool has three variables:

    • profile - the root data organization: raid0, mirror (up to 4-way), raidz1, raidz2, raidz3
    • width - the number of devices per root vdev
    • groups - the number of root vdevs in the pool

    At time of ZFS pool creation, the webGUI will present all topology options based on the number of devices assigned to the pool.

    Special treatment for root single-vdev mirrors:

    • A single-device ZFS pool can be converted to multiple-device mirror by adding up to 3 additional devices in one operation.
    • A 2-device mirror can be increased to 3-device by adding a single device; similarly a 3-device mirror can be increased to 4-device mirror by adding a single device.

    To add an additional root vdev, you must assign 'width' number of new devices to the pool at the same time. The new vdev will be created with the same 'profile' as the existing vdevs. Additional flexibility in adding/expanding vdevs will be provided in a future update.

    Pools created with the steini84 plugin can be imported as follows: First create a new pool with the number of slots corresponding to the number of devices in the pool to be imported. Next assign all the devices to the new pool. Upon array Start the pool should be recognized, though certain zpool topologies may not be recognized (please report).

    Mixed topologies are not supported. For example, a pool with both a mirror root vdev and a raidz root vdev is not recognized.

    Autotrim can be configured as on or off (except for single-device ZFS volumes in the unRAID array).

    Compression can be configured as on or off, where on selects lz4. Future update will permit specifying other algorithms/levels.

    When creating a new ZFS pool you may choose zfs - encrypted, which, like other encrypted volumes, applies device-level encryption via LUKS. ZFS native encryption is not supported at this time.

    During system boot, the file /etc/modprobe.d/zfs.conf is auto-generated to limit the ZFS ARC to 1/8 of installed memory. This can be overridden if necessary by creating a custom 'config/modprobe.d/zfs.conf' file. Future update will include ability to configure the ARC via webGUI, including auto-adjust according to memory pressure, e.g., VM start/stop.

    Top-level user shares in a ZFS pool are created as datasets instead of ordinary directories.

    btrfs pools

    Autotrim can be configured as on or off when used in a pool.

    Compression can be configured as on or off. on selects zstd. Future update to permit specifying other algorithms/levels.

    xfs

    Autotrim can be configured as on or off when used as a single-slot pool.

    Docker

    It is possible to configure the Docker data-root to be placed in a directory on a ZFS storage pool. In this case Docker will use the 'zfs' storage driver. This driver creates a separate dataset for each image layer. Because of this, here is our recommendation for setting up Docker using directory:

    First, create a docker user share configured as follows:

    • Share name: docker
    • Use cache pool: Only
    • Select cache pool: name of your ZFS pool

    Next, on Docker settings page:

    • Enable docker: Yes
    • Docker data-root: directory
    • Docker directory: /mnt/user/docker

    If you ever need to delete the docker persistent state, then bring up the Docker settings page and set Enable docker to No and click Apply. After docker has shut down click the Delete directory checkbox and then click Delete. This will result in deleting not only the various files and directories, but also all layers stored as datasets.

    Before enabling Docker again, be sure to first re-create the docker share as described above.

    Other changes:

    • CreateDocker: changed label Docker Hub URL to Registry URL because of GHCR and other new container registries becoming more and more popular.
    • Honor user setting of stop time-out.
    • Accept images in OCI format.
    • Add option to disable readmore-js on container table
    • Fix: Docker Containers console will not use bash if selected

    VM Manager

    If you enable copy/paste for virtual consoles you need to install additional software on the client in addition to the QEMU agent if that has been installed. Here is the location for spice-vdagent for both Windows and Linux. Note copy/paste function will not work with web spice viewer you need to use virt-viewer.

    • Add Serial option to vdisk.
    • Spice Bug fix for users with non standard GUI ports defined.
    • OVMF for QEMU: version stable202302
    • Fix for bus text.
    • Enable copy paste option for virtual consoles
    • Update Memory Backup processing for Virtiofs.
    • Fix lockup when no VMs are present
    • Add support for rtl8139 network model.
    • fix translation omission
    • added lock/unlock for sortable items
    • Fix for Spice Mouse if Copy paste enabled.

    Dashboard

    The webGUI Dashboard has been redesigned and it is now possible to move elements (tiles) up and down and between columns. This allows the user to organize the tiles in any way they desire. There is a small lock icon on the menu bar which must be clicked to enable this function.

    Note: The lock icon also appears on the Docker and VM pages and must be clicked to rearrange the startup order.

    Release bz file differences

    Unraid OS is comprised of a set of 5 so-called bz files in the root of the USB Flash boot device:

    • bzimage - the Linux kernel
    • bzroot - the root file system, sans console desktop
    • bzroot-gui - additional files needed for console desktop
    • bzmodules - modules (drivers) associated with the Linux kernel
    • bzfirmware - device firmware required by certain modules

    Starting with 6.12 release, the content of these files has been rearranged:

    • bzimage - the Linux kernel (same as before)
    • bzroot - the root file system excluding the /usr directory tree
    • bzroot-gui - a single file which auto-starts the console desktop (for compatibility)
    • bzmodules - modules (drivers) associated with the Linux kernel and device firmware required by certain modules
    • bzfirmware - the /usr directory and all files contained therein, including console desktop

    The results of this change is to speed up the boot process and free up nearly 1G of RAM. It also permits us to add more "stuff" to Unraid OS in the future without requiring more RAM. Finally, when booted in non-GUI mode, the desktop can be started by logging in at the console and typig the 'slim' command.

    The files bzfirmware and bzmodules are squashfs images mounted using overlayfs at /usr and /lib respectively. Since these files are loopback-mounted, care must be taken if ever you want to perform a manual update.

    What is a manual update? This is a method of updating Unraid OS on your USB flash boot device without using the Tools/Update OS function. Typically one would either:

    • open a Terminal window, wget the release zip file, unzip the release, and then 'cp' the bz files to root of the boot device.

    or

    • export the 'flash' share on your network and drag the bz files from a PC directly to the flash.

    Either method, starting with 6.12 can fail because the bzfirmware file will be overwritten while it is still mounted - not good.

    To get around this, you must first create a temp directory on the flash device and then 'mv' (or drag) all the bz files to this temp directly. Now you can copy the new bz files in place and reboot.

    Linux kernel

    • version 6.1.23
    • md/unraid: version 2.9.27
    • CONFIG_FS_DAX: File system based Direct Access (DAX) support
    • CONFIG_VIRTIO_FS: Virtio Filesystem
    • CONFIG_ZONE_DEVICE: Device memory (pmem, HMM, etc...) hotplug support
    • CONFIG_USBIP_HOST: Host driver
    • CONFIG_INTEL_MEI: Intel Management Engine Interface
    • CONFIG_INTEL_MEI_ME: ME Enabled Intel Chipsets
    • CONFIG_INTEL_MEI_GSC: Intel MEI GSC embedded device
    • CONFIG_INTEL_MEI_PXP: Intel PXP services of ME Interface
    • CONFIG_INTEL_MEI_HDCP: Intel HDCP2.2 services of ME Interface
    • CONFIG_INTEL_PMC_CORE: Intel PMC Core driver
    • CONFIG_DRM_I915_PXP: Enable Intel PXP support
    • CONFIG_SCSI_FC_ATTRS: FiberChannel Transport Attributes
    • CONFIG_FUSION_SPI: Fusion MPT ScsiHost drivers for SPI
    • CONFIG_FUSION_FC: Fusion MPT ScsiHost drivers for FC
    • CONFIG_FUSION_CTL: Fusion MPT misc device (ioctl) driver
    • CONFIG_FUSION_LOGGING: Fusion MPT logging facility
    • CONFIG_X86_AMD_PSTATE: AMD Processor P-State driver
    • CONFIG_LRU_GEN: Multi-Gen LRU
    • CONFIG_SERIAL_8250_NR_UARTS=32: Maximum number of 8250/16550 serial ports
    • CONFIG_SERIAL_8250_RUNTIME_UARTS=4: Number of 8250/16550 serial ports to register at runtime

    Misc

    • cgroup2 now the default
    • loopback images no longer mounted using directio
    • upgradepkg patched to prevent replacing existing package with older version.
    • current PCI bus/device information saved in file '/boot/previous/hardware' upon Unraid OS upgrade.
    • NFS: enable UPD transport
    • emhttp: fix cache pool (null) syslog strings
    • emhttp: fix cache pool display wrong device size for selected replacement device
    • networking: fix nginx recognizing IP address from slow dhcp servers
    • mover: fix: improper handling of symlinks
    • mover: fix: Mover logging syslog entries format different from previous releases
    • plugin: Display Run command retval in error message
    • shfs: igonore top-level hidden directoris (names beginning with '.')
    • terminal: OpenTerminal: change termination signal (hard stop)
    • upgrade Unraid OS: check for earlier upgrade without reboot
    • VM Manager: let page load even when PCI devices appear missing or are misassigned
    • wireguard: add SSL support for WG tunnel IP addresses (myunraid.net wildcard certs only)
    • webgui: support PHP8, increase PHP max memory from 128M to 256M
    • webgui: ManagementAccess: Disable Provision/Renew/Upgrade buttons when no IP on eth0
    • webgui: ManagementAccess: Support wireguard local IP addresses in combination with myservers.unraid.net SSL cert
    • webgui: Move "view" icon on Main and Shares page to the left
    • webgui: Dashboard: fix regression error in "select case"
    • webgui: Dashboard: make items moveable between columns
    • webgui: Keep dismissed banners hidden for a month
    • webgui: Dashboard: API for adding custom tiles
    • webgui: Dashboard: rearrange processor information
    • webgui: Dashboard: rearrange UPS info
    • webgui: Dashboard: rearrange memory info
    • webgui: Dashboard: VPN header rearrangement
    • webgui: Dashboard: header rearrangements
    • webgui: Add jqueryUI touch punch for mobile devices
    • webgui: Changed ID to CLASS for elements occurring more than once
    • webgui: Make header in white and black themes scrollable
      • When more items are present than screen space, the user can now scroll through them (previously these items were invisible)
    • webgui: Dashboard and Docker: introduce lock button for sortable items
      • By default sortable items are locked, which allows mobile devices to scroll the page. Upon request items can be made sortable
    • webgui: Users: add icon to title bar
    • webgui: Tools: new function -> PHP Settings
      • View PHP info
      • Configure error reporting
      • Open LOG to see errors in real-time
    • webgui: System info: fix reading inactive ports
    • webgui: Plugin: Include the actual command, being executed
    • webgui: System info: cache enhancement
    • webgui: System info: memory enhancement
    • webgui: DeviceInfo: disable buttons when erase operation is running
    • webgui: Docker: filetree corrections
    • webgui: Fixed: Dashboard: show heat alarm per pool
    • webgui: Notifications: revised operation
      • Autoclose new notifications after 3 seconds
      • Fix notifications reappearing after closure
    • webgui: DeviceList: add FS type in offline state
    • webgui: Add notification agent for Bark
    • webgui: Main: hide browse icon when disk is not mounted
    • webgui: Diagnostics: add additional btrfs and zfs info
    • webgui: Dashboard: add ZFS memory usage
    • webgui: Revised New Permissions
      • Select either disks or shares (not both)
    • webgui: Add testparm to diagnostics
    • webgui: Support new UD reserved mount point of /mnt/addons
    • webgui: fix issue displaying Attributes when temperature display set to Fahrenheit
    • webgui: Dashboard changes:
      • lock the Dashboard completely: Editing/moving only becomes possible when unlocking the page
      • An empty column is refilled when the respective tiles are made visible again, no need to reset everything
      • added a visual "move indicator" on the Docker and VM page, to make clearer that rows can be moved now.
      • change cursor shape when moving is enabled
      • use tile title as index
    • webgui: fix: Local Firefox account pop-up postmessages not working
    • webgui: VM Manager: fix VM marked as Autostart not starting following manual array Start
    • webgui: SMART test cannot be run on a UD disk because there is no spin down delay selection
    • webgui: status footer stuck on "Starting services" when applying share config setting chagnes.
    • webgui: Fix table layout for orphan images
    • webgui: Plugin: Do not show update button if incompatible
    • webgui: OpenTerminal: limit clients
    • webgui: Context menu: automatic triangle placement
    • webgui: Dashboard: fix pool warnings
    • webgui: Allow SMART long test for UD
    • webgui: Read processor type from /proc/cpuinfo
    • webgui: CSS: solve scrollbar issue in firefox
    • webgui: plugin: Make wget percentage detection more robust
    • webgui: Add share: fix hidden share name check
    • webgui: Display settings: add missing defaults
    • webgui: Array Operation: prevent double clicking of Start button
    • wireguard: fix nginx issue when partial WireGuard config

    Base Distro

    • aaa_glibc-solibs: version 2.37
    • adwaita-icon-theme: version 43
    • at-spi2-core: version 2.46.0
    • bash: version 5.2.015
    • bind: version 9.18.12
    • btrfs-progs: version 6.2.1
    • ca-certificates: version 20221205
    • cryptsetup: version 2.6.1
    • curl: version 7.88.1
    • dbus: version 1.14.6
    • diffutils: version 3.9
    • dnsmasq: version 2.89
    • docker: version 20.10.23
    • e2fsprogs: version 1.47.0
    • encodings: version 1.0.7
    • file: version 5.44
    • firefox: version 111.0 (AppImage)
    • freetype: version 2.13.0
    • fuse3: version 3.12.0
    • gawk: version 5.2.1
    • git: version 2.39.2
    • glib2: version 2.74.6
    • glibc: version 2.37
    • glibc-zoneinfo: version 2022g
    • gnutls: version 3.7.9
    • gptfdisk: version 1.0.9
    • gtk+3: version 3.24.37
    • harfbuzz: version 7.1.0
    • htop: version 3.2.2
    • iproute2: version 6.2.0
    • iptables: version 1.8.9
    • iputils: version 20221126
    • less: version 612
    • libICE: version 1.1.1
    • libSM: version 1.2.4
    • libX11: version 1.8.4
    • libXau: version 1.0.11
    • libXcomposite: version 0.4.6
    • libXdamage: version 1.1.6
    • libXdmcp: version 1.1.4
    • libXpm: version 3.5.15
    • libXrandr: version 1.5.3
    • libXres: version 1.2.2
    • libXxf86dga: version 1.1.6
    • libarchive: version 3.6.2
    • libdrm: version 2.4.115
    • libfontenc: version 1.1.7
    • libglvnd: version 1.6.0
    • libjpeg-turbo: version 2.1.5.1
    • libpcap: version 1.10.3
    • libpng: version 1.6.39
    • libpsl: version 0.21.2
    • liburcu: version 0.14.0
    • libwebp: version 1.3.0
    • libxkbcommon: version 1.5.0
    • libxkbfile: version 1.1.2
    • libxshmfence: version 1.3.2
    • lmdb: version 0.9.30
    • logrotate: version 3.21.0
    • lsof: version 4.98.0
    • lz4: version 1.9.4
    • lzlib: version 1.13
    • mc: version 4.8.29
    • mcelog: version 191
    • mpfr: version 4.2.0
    • nano: version 7.2
    • ncurses: version 6.4
    • nginx: version 1.23.3
    • nghttp2: version 1.52.0
    • openssh: version 9.2p1
    • openssl: version 1.1.1t
    • openssl-solibs: version 1.1.1t
    • openzfs: version 2.1.9
    • pango: version 1.50.14
    • pciutils: version 3.9.0
    • pcre2: version 10.42
    • php: version 8.2.4
    • php-libvirt: version 0.5.7
    • php-markdown: version 2.0.0
    • samba: version 4.17.7
    • sqlite: version 3.41.0
    • sudo: version 1.9.13p2
    • sysstat: version 12.7.2
    • tdb: version 1.4.8
    • tevent: version 0.14.1
    • traceroute: version 2.1.2
    • transset: version 1.0.3
    • tree: version 2.1.0
    • usbutils: version 015
    • xcb-util: version 0.4.1
    • xdriinfo: version 1.0.7
    • xf86-video-vesa: version 2.6.0
    • xfsprogs: version 6.1.1
    • xhost: version 1.0.9
    • xinit: version 1.4.2
    • xkbcomp: version 1.4.6
    • xkeyboard-config: version 2.38
    • xorg-server: version 21.1.7
    • xprop: version 1.2.6
    • xrandr: version 1.5.2
    • xset: version 1.2.5
    • xterm: version 379
    • xz: version 5.4.1
    • zstd: version 1.5.4

     

    • Like 9



    User Feedback

    Recommended Comments



    I've just upgraded to this rc, and thought I'd give zfs a go. Question though. Does a ZFS Pool act like a cache pool on a normal zfs array? My pool doesn't look like it is adding to my total storage space anymore. If it is acting like cache, I'm fine with that. Just curious if this is how it is supposed to work on unraid? I was thinking it would still work the same but your fast pool would be zfs instead to bbrfs.

    Link to comment
    • Featured Comment

    Let's see if this helps. Below is a typical Movies share, where new files come in to the cache drive and are then moved to the array. Hopefully the 6.12.0 screenshot is more clear about what is happening:

    image.png

     

     

    Below is a typical appdata share, where files are normally on the cache but if files end up on the array they will be moved to the cache:
    image.png

     

     

    And finally here is a cache only share in 6.11.5, automatically upgraded to exclusive mode in 6.12.0:

    image.png

     

     

    Edit: consolidating other comments here

     

    One interesting thing about this, and the reason we are calling it a "conceptual change", is that your share.cfg files are not modified during the upgrade. In 6.12 this is entirely a front-end change, a different way of displaying the same configuration information.

     

    This change should make the configuration easier to understand at a glance, and it sets us up nicely for the future. It would have been horribly confusing to try and extend the old UI to handle multiple arrays and cache pool to data pool transfers, etc. At least from a UI perspective, those features will be easy to add going forward.

     

     

    Regarding exclusive mode - 

     

    My favorite thing about configuring the new exclusive mode is that there is nothing to configure. It is fully automatic at the time the array starts.

     

    Looking at my image above of "6.12.0 exclusive mode"... when you start the array the system checks for "sharename" on all your disks. If it only exists on the specified pool then "exclusive mode" is enabled and you will get the speed benefits of the bind mound to that pool.

     

    If, at the time the array starts, "sharename" exists on storage outside of the specified pool then you automatically get the old "cache only" functionality, where files in "sharename" are included in the user share regardless of what disk/pool/etc they are on.

     

    From the release notes: "If the share directory is manually created on another volume, files are not visible in the share until after array restart, upon which the share is no longer exclusive."

    • Thanks 6
    Link to comment
    10 hours ago, ljm42 said:

     

    You can look forward to that coming in Unraid 6.13

    Is there a current estimate of when we might see that be availably publically (either full release or RC?) :) 

    Link to comment
    16 minutes ago, jaimbo said:

    Is there a current estimate of when we might see that be availably publically (either full release or RC?) :) 

    Limetech never gives estimates other than 'when it is ready'.  Since 6.12 is not yet released as a stable release I would expect we are talking about quite a few months at best.

    Link to comment

    Another thing the concept of Secondary does is bring more attention to the often overlooked concepts of Overflow and Minimum Free.

    Link to comment

    This version also does automatic calculation of the minimum free space setting for any new share.

    Existing shares can be easily updated by forcing a change in the settings (e.g. enter a space in the min. free space field) and apply.

     

    The user can still set a designated value and overruling the automatic calculation.

    Values can be entered as absolute numbers with an optional suffix or as a percentage value.

     

    Link to comment
    33 minutes ago, bonienl said:

    or as a percentage value.

    Is that a percentage of the size of any drive (which would be ideal) so not all drives in a share have the same value or something else?

     

    Guess I could try that out and see :) 

    Link to comment
    5 hours ago, ljm42 said:

    Let's see if this helps. Below is a typical Movies share

     

    Well... i understand, what this means - but its not necessary, because? See this...

     

    Screenshot 2023-04-28 135541.jpg

     

    (???)

    Edited by Zonediver
    Link to comment
    43 minutes ago, bonienl said:

    This version also does automatic calculation of the minimum free space setting for any new share.

    Existing shares can be easily updated by forcing a change in the settings (e.g. enter a space in the min. free space field) and apply.

     

    The user can still set a designated value and overruling the automatic calculation.

    Values can be entered as absolute numbers with an optional suffix or as a percentage value.

     

    Does this mean that we no longer need the Dynamix Share Floor plugin?

    Link to comment

    The plugin is still useful for shares which have not set a minimum free space value. AKA the user has never set anything explicitely for the current shares.

     

    New shares which get an automatic value assigned in 6.12 are not touched by the plugin.

     

    Link to comment
    27 minutes ago, itimpi said:

    Guess I could try that out and see

     

    For a share which resides on a pool only, it will take the size of the pool as reported by the file system.

    For a share which resides on the array, it will take the size of the smallest disk in the array, again as reported by the file system.

     

    Link to comment
    5 minutes ago, bonienl said:

    The plugin is still useful for shares which have not set a minimum free space value. AKA the user has never set anything explicitely for the current shares.

     

    New shares which get an automatic value assigned in 6.12 are not touched by the plugin.

     

    Thanks for clarifying @bonienl

    Last question 🙂 the plugin has the ability to set a schedule to re-check the shares every so often to verify that the free space is still accurate. Does 6.12 do something similar?

    Link to comment
    19 minutes ago, Zonediver said:

    Well... i understand, what this means - but its not necessary, because? See this...

    Your screenshot is actually the result of many iterations of changes to v6 webUI trying to help people understand. Now that you already understand it maybe it seems unnecessary to you.

    Link to comment
    14 minutes ago, trurl said:

    Your screenshot is actually the result of many iterations of changes to v6 webUI trying to help people understand. Now that you already understand it maybe it seems unnecessary to you.

     

    Have you seen this "RED MARKED" Text on the right side? 🤣

    Edited by Zonediver
    Link to comment
    1 minute ago, Zonediver said:

     

    Have you seen this "RED MARKED" Text on the right side?

    You would be surprised how many people have never even noticed that text  :) 

    • Haha 1
    Link to comment
    2 minutes ago, Zonediver said:

     

    Have you seen this "RED MARKED" Text on the right side?

    Many missed it or didn't understand it anyway.

    Edited by Kilrah
    • Haha 1
    Link to comment
    4 minutes ago, Titan84 said:

    Does 6.12 do something similar?

     

    The automatic size calculation of Unraid 6.12 takes 10% of the reported disk size as reported by the file system, which is static. There is no need to schedule rechecks.

    The plugin determines the minimum size based on content and make changes depending on the size of the biggest file, which is dynamic. Here a scheduled recheck is needed as content can change.

     

    • Thanks 1
    Link to comment
    3 minutes ago, Zonediver said:

    Have you seen this "RED MARKED" Text on the right side?

    Yes. That does help explain the confusing cache:yes and cache:prefer settings somewhat, but why keep the confusing settings when there is a better way?

    • Upvote 1
    Link to comment
    7 minutes ago, Zonediver said:

    Have you seen this "RED MARKED" Text on the right side?

     

    The biggest confusion for many (new) users is the use of the name "cache", mainly because not all users are familiar with the specific implementation of Unraid and how "cache" is used.

     

    The new approach in Unraid 6.12 takes that confusion away and shows primary and secondary storage instead.

    This storage can be the array or any of the existing pools, including a pool called "cache".

     

    • Upvote 1
    Link to comment
    Just now, trurl said:

    Yes. That does help explain the confusing cache:yes and cache:prefer settings somewhat, but why keep the confusing settings when there is a better way?

     

    Well, i understand what you mean - so the function itself remains the same, but the "new description" is different (for new unraid users). then... i ignore it 🤣👍

    Link to comment
    4 hours ago, Zonediver said:

     

    Well, i understand what you mean - so the function itself remains the same, but the "new description" is different (for new unraid users). then... i ignore it 🤣👍

     

    It makes it so the average user can easily understand. We get that you know how to do it with the old method, that's great.

    Edited by custom90gt
    Link to comment

    Hey Guys,

     

    Loving this update, hopefully it will fix the issue I have sometimes with shfs using a lot of CPU when my ZFS pool is being utilised.

     

    Now the only thing we need is to be able to set a ZFS pool as the primary storage without requiring an array device.

    • Like 1
    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
    Add a comment...

    ×   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.


  • Status Definitions

     

    Open = Under consideration.

     

    Solved = The issue has been resolved.

     

    Solved version = The issue has been resolved in the indicated release version.

     

    Closed = Feedback or opinion better posted on our forum for discussion. Also for reports we cannot reproduce or need more information. In this case just add a comment and we will review it again.

     

    Retest = Please retest in latest release.


    Priority Definitions

     

    Minor = Something not working correctly.

     

    Urgent = Server crash, data loss, or other showstopper.

     

    Annoyance = Doesn't affect functionality but should be fixed.

     

    Other = Announcement or other non-issue.