Skip to main content

3.7.60

New Features and Improvements

  • New HTML-based GUI

    • You can now manage your StorONE deployment directly from your browser. Navigate to the IP address of one of your S1 controller nodes, and click the Web GUI link. Log in with your StorONE credentials.

    • The downloadable GUI client is no longer supported, and has been removed.

  • High Availability

    • Stability improvements

    • Improved HA and replication transitions: improvements in unmap, fstrim and GW dispose.

    • Volumes are now better balanced between controller nodes

  • NVMeOF

    • Updated model name + HA improvements

    • Improved error handling when failed to initialize (STOR-346)

  • System

    • New storage manager with improved performance and efficiency.

    • For tiered volumes, all StorONE metadata is now stored on the SSD tier, which improves write, read, and evacuation performance.

      • Writes to the HDD tier are reduced

      • All new writes go exclusively to the upper tier

      • Data evacuation speed is improved

      • Improvements to memory utilization. Metadata size is expected to decrease by ~10%.

    • Improved mechanisms for handling low system disk space

    • Added the ability to use SCSI ID instead of serial ID for drive recognition for a specific set of drives

    • Validate Management IP is set when loading Platform. The console log will indicate if the node is started without a management IP.

    • User login will be temporarily blocked after 3 incorrect password attempts.

    • Improved/fixed initialize password for self encrypting drives (SED).

    • FC ports are now activated after system startup, instead of after creating a host mapping to a volume.

    • Better dead disk declaration for rebuilds

    • Fixed several issues caused by resource starvation due to some internal processes consuming too many threads from an internal threadpool.

    • Improved filesystem mount performance during startup and HA transitions.

  • Auto-tiering

    • Adding flash tier to HDD level

      • Ability to add an upper tier to an existing lower tier. In order to implement it, it is required to take both nodes down.

  • OmniUI (GUI, CLI, and REST API)

    • Mismatched platform version detection

      • The version command in the CLI/REST API provides information about each platform node. Also, if the platform versions do not match, a warning message will appear in the CLI after the log-in.

    • Monitoring Evacuations: Added IsInBypass to output to indicate whether the volume is in bypass mode (writing directly to the lower tier due to the upper tier being full).

    • Return capacity stats for non-initialized volumes.

    • Concurrent modifications of entities are handled better.

    • ReplicationElement TableView - move sync percentage to the right.

    • Wordify volume uptime (support and above).

    • Improved errors for REST/GUI missing XOR statements.

    • Application unique name validation is now case-insensitive

    • Added autocomplete for vRAID N values based on the available drives within the pool.

    • Changed AllowedSubnets to a list instead of a single string.

    • Improve monitoring reserve

    • Improved the performance of applications volumes list

    • Support progress bar lists

    • Refresh query for every cloud called from "system list"

    • Add Cloud not initialized status.

    • Add support for Readonly/ReadWrite in support mode.

    • Improved error message when user is not authorized to perform an action. For example:

      StorONE-01> users edit jdoe --role ReadWrite
      Insufficient privileges.
    • Improved capacity validation: does not allow entering extremely long values.

    • When you create an encryption key for a volume, it is automatically supplied. You no longer need to supply it separately. You still must supply the encryption key after restarts.

    • Improved ordering of columns in the CLI and GUI.

    • Added new validations for over-allocation.

  • CLI

    • Added XML and YAML output types (for settings output).

    • Linux CLI client settings are now saved so that different sessions will reuse the same settings.

    • Added the ability to filter and approve drives via patterns.

    • Added a watch command, which will clear the display before each command iteration:

      watch
      Usage:
         --command=<text> --interval=<numbers>
      
      Options:
      	--command=<text>        	The command to run.
      	--interval=<numbers>    	Interval in seconds.
    • Added CLI scripting capability via a new scripts command.

      • You can add CLI commands to a file and specify the path to the file:

        Usage:
           scripts --path=<path> [--ignoreErrors] [--captureOutput] [--tokensToValues=<text>]
        
        Options:
            --path=<path>               Absolute path to the command script to be executed.
            --ignoreErrors              If true, execute all commands ignoring errors, otherwise abort on any command error.
            --captureOutput             Capture and return all output after completion of all commands. Do not write output to the console as commands are executed.
            --tokensToValues=<text>     Tokens in the script file, with values to replace them with, in the following syntax:
                                        "TOKEN1::VALUE,TOKEN2::VALUE". For example - "SYSTEM1_NAME::7241,SYSTEM2_NAME::7242".
                                        If the first lines in the script are in the syntax #@TOKEN_NAME@:Some Description - the description
                                        for each missing token will be displayed.
        
        Example:
           scripts --path /directory1/directory2 --captureOutput --tokensToValues abc
    • Added a sleep command. This is useful for CLI scripts.

    • CLI aliases:

      • Added the ability to create aliases for commands with support for variables. The relevant commands are under aliases:

        create                    Create alias for command.
        delete                    Delete alias.
        export                    Export aliases to a file.
        import                    Import aliases from a file.
        list                      View aliases for commands.
      • To create an alias:

        Usage:
           aliases create --alias=<text> --command=<text>
        
        Options:
            --alias=<text>                  Alias. Use $ prefixes to specify variables.
            --command=<text>                Command. Use $ prefixes to specify variables.
        
        Example:
           aliases create --alias abc --command abc
      • For example, to create an alias named volumes to run applications volumes list, run:

        aliases create --alias volumes --command "applications volumes list"
    • Autocomplete for paired lists:

      • When using Tab to autocomplete paired lists (such as --nodes and --interfaces in floatingips edit or floatingips create), the autocompletion is based on the ordered position of the argument.

    • Support for ejecting drives.

      • The CLI command resources drives eject will remove a drive logically from a system:

        Usage:
        	--driveId=<numbers>
        
        Options:
        	--driveId=<numbers>         	Id of the drive to eject.")]
    • Added Examples Generator.

    • Added the ability to view mapping from the host perspective and the volume perspective:

      • applications mapping list or hosts mapping list

    • Support for experimental commands in the CLI.

      • Experimental commands will generate an approval dialogue in yellow.

    • Added the ability to connect to a specific node in the CLI

      • By default, the CLI connects to a random node. You can switch connections with the following command:

        nodes connect
        Usage:
        	--node=<name>
        Options:
        	--node=<name>   Node name.

        This can be useful if you are having connectivity issues with the node you are connected to.

    • Added the ability to generate an equivalent REST API for any CLI command

      • Convert any CLI command to a REST API request by adding a rest or rest_indented pipeline command. For example:

        applications volumes create --application app1 --volume vol1 --capacity 5g --pools SSD --n 1 --k 1 | rest_indented
        Method: Post
        URL: applications/volumes/create/?async=False&uncommitAndAggregate=False
        Body:
        {
          "Application": "app1",
          "Volume": "vol1",
          "Pools": [
        	"SSD"
          ],
          "N": 1,
          "K": 1,
          "MetadataPools": null,
          "MetadataN": null,
          "MetadataK": null,
          "GroupedVolume": null,
          "Cgid": null,
          "EncryptionKey": null,
          "SaveEncryptedRecoveryKey": false,
          "SectorSize": null,
          "Log2StrideSectors": null,
          "DisableSpaceReclamation": false,
          "Tiers": {
        	"TierEntityIds": null,
        	"TierPools": null,
        	"TierN": null,
        	"TierK": null,
        	"TierSizesInBytes": null,
        	"EvacuationThresholds": null,
        	"LowerThresholds": null,
        	"TierDataDegradationHistogram": null,
        	"TierMetadataDegradationHistogram": null
          },
          "CapacityInBytes": 5000000000,
          "SnapshotCapacityInBytes": null
        }
    • Improved the display of some output tables with nested lists.

    • Support edit autocompletion to view current values.

    • Sped up the CLI login animation.

    • Added an option to add a retention/frequency pair in the CLI without deleting previous values.

    • You can now modify multiple IPs in a single configuration with the resources network iscsi command.

    • Add mapping validations (do not allow sending a mapping to a non-block volume) and additional validations.

  • REST API

    • Added the ability to filter CLI operations for get operations only.

    • Added support for sending CLI commands. A CLI command can be sent to the REST endpoint as is by using the CLI controller in the REST API.

    • REST API user specified session timeout

      • When sending a login request, an additional option can be specified via InactivityTimeoutInMinutes. This will declare the inactivity timeout for a session. If not specified, the default value is 30 minutes.

  • Replication

    • HA block volume replication is now supported.

      • Block replication supports SPC3 persistent reservations (i.e. the locks are replicated between the nodes). In order to activate persistent reservation between the nodes, the initiators/hosts between the nodes must be paired. This can be achieved via the following CLI command:

        Hosts pair
        Usage:
        	<name> --targetSystem=<name> --targetHost=<name>
        
        Options:
        	<name>                                  	Local host.
        	--targetSystem=<name>                   	Target system.
        	--targetHost=<name>                     	Remote host.
    • Better Replication pool matching

      • When replicating between systems that do not share the same automatic pools (for example, for example, a site with NVMe drives to a site with SSD drives), a better automatic matching is implemented.

    • Forceful stop option: When running the stop replication with –force (CLI/REST), you can stop the replication even if it is not synchronized.

    • Improved replication refresh command

      • In case something is stuck with the replication, the new replication refresh command might refresh stuck replication syncs

    • Validate owner node entity before fetching source floating IP.

    • Add thick provisioning warning for encryption to make it clear that the volume will be thick provisioned on the replication target system as well as the source.

    • More accurate replication sync.

    • AluaUnavailableState parameter (allow chosing the exposed ALUA state for the secondary replication path).

    • Show basic replication data for encrypted volumes without keys (instead of showing an empty list).

    • Add encryption confirmations (switching to thick provisioning).

    • replication stop changes the name of the journal volume, so that both names will be unique on both sides (relevant for re-replication to the same application).

    • Added a notification for zombie replication resources

  • Snapshots

    • Volume Shadow Copy Service (VSS) snapshots are now supported.

    • Improved detection of running snapshot deletions to prevent simultaneous snapshot deletion operations, which can impact performance.

    • Added detection of large system time changes to prevent malicious premature expiration of snapshots.

    • Allow parallel deletion of snapshots when volumes are hosted on different controller nodes.

  • Notifications

    • Added support for custom anonymous SMTP with TLS.

      • When configuring a custom SMTP server, you can specify an anonymous SMTP server with TLS support.

    • Syslog notifications

    • Notify about asymmetric iSCSI/FC sessions.

    • The Last Node Shutdown notification is now Fatal level

    • Add notification for High Availability transition manually requested via CLI/GUI/REST.

    • Removed a misleading and concerning notification when a volume times out during NAS service startup.

    • Improved license expiration notifications to give more notice of upcoming license expiry.

    • Improved memory consumption notifications to not send duplicate 80% utilization notifications.

  • Network Attached Storage (NAS)

    • Creating a filesystem on a large volume no longer times out.

    • Encrypted NAS volumes are now initialized more efficiently

  • iSCSI

    • Challenge Handshake Authentication Protocol (CHAP) is now supported for iSCSI.

    • Internet Storage Name Service (iSNS) is now supported for iSCSI.

  • Logging

    • Configuration descriptions are now saved as CLI commands

      • Whether a configuration is issued via the CLI, REST API, or the GUI, the description of every operation will be saved in the logs and DB as the equivalent CLI command. This improves the ability to troubleshoot issues, and enables StorONE to better recreate issues in a lab environment.

Fixed Issues

  • High Availability

    • Fix for race condition when adding FloatingIPs (HA + config)

    • Fix stuck HA configuration during initialization.

    • Fixed a deadlock issue that caused both StorONE controller nodes to get stuck waiting for a process to start.

  • System

    • SDS - Fix degraded chunk after rebuilds.

    • Fixes for SED Drives (Bugs 260, 263)

    • Fix bug 253 - Encrypted Volume Recovery Key

    • EvacuationManager - Fix reading the replication metadata from the secondary node which result in error logs.

    • Fix vRAID+ metadata separation

    • Fix combine writes from non-optimized paths.

      • In prior versions, non-optimized ALUA operations with combine writes were stuck.

    • Fix volume >90% capacity validations on the non representative node.

    • Fix ALUA states for interconnect disconnections.

    • Fix multiple drive registration of the same drive (i.e. each node in an HA pair provides a different ID for the same drive)

    • Fix RAID0 and autotiering inability to resize tiersize.

    • Reduced statistics service disconnections.

    • Fixed a minor TUI bug with save after errors

    • Fix bug of modifying a CG (removing a volume) and the initializing the CG.

    • Upgraded a dependency library to address deadlocks causing internal timeouts that could lead to volumes hanging or going offline.

  • Auto-tiering

    • Added validations preventing the tier size from being reduced to a size lower than the current consumption.

  • OmniUI (GUI, CLI, and REST)

    • Fixed ordering issues of columns in tables.

    • Fixed an issue where error messages were not displayed when modifying the current user role.

    • Fixed Resources Drives List - w/errors and details - Drive does not exist

    • Adjust capacity by 4K sector (even for 512 volumes).

    • Fixed "replication stop” validation for remote drive status.

    • Fixed floating ips message when one node is down.

    • Fixed an issue where resizing a non-clean filesystem was possible.

    • Deleting the last volume in an application no longer deletes the application.

    • Fixed capacity usage calculations for certain scenarios.

  • CLI

    • Fix showing new lines during command execution on the Linux CLI.

    • The font of the bar charts is adjusted to be more readable

    • Removed name validation for the applications templates description

    • notifications query - Fix empty list result

    • Fix Sort by capacities

    • Fixed monitoring performance history interactive charge in which Write was presented as Aggr.

    • Fixed the sorting functionality in monitoring utilization live.

    • Fixed an issue with issuing parallel mapping commands from different CLIs

  • Replication

    • Fixed a bug in floatingips upgrade (upgrading from 3.5 to 3.6 or 3.7) which broke replication environments.

      • If the command was already issued with previous versions, there is an option to reissue the command with the newest version.

    • Fix replication with separated journal volumes

      • Trying to restore a replicated volume without journal replication in a system with an enabled journal separation was broken in prior versions. This version fixes this scenario.

    • System list: Fix replication targets bug.

    • Fix replication stop with --allowOnDisconnected

    • Fix for issues in HA transitions (replication + encrypted volume)

    • Fix for issues after supplying encryption key (replication + encrypted volume)

    • Validate owner node entity before fetching source floating IP.

    • Fix journal N+K for cloned volumes.

    • Fix vRAID+ cloning.

    • Fix replicating to a target of a different volume.

    • Fixed an issue with object sync and semi replication timeout writing 1MB object

    • Replication Witness - Fix witness with HA replicated pairs.

    • Fix for targetless replication (i.e. filesystems with replication metadata).

    • Fixes for HA replication + additional witness (REST + Peer node).

    • Fixed an issue where configuring replication failed when using parallel GUI or CLI connections to source and destination systems.

    • Fixed an issue where replication between volumes with different sector sizes was allowed.

    • Fixed an issue with giveback after a replication transition.

  • Notifications

    • Fixes for cases where a failed notification caused other error-handling code not to be executed

    • ThinProvisioningStates: fix ok -> ok notifications.

    • Ignore false-positive filesystem notifications during resize

    • Fixed an issue where data retention notifications were sent even when snapshots were not in use.

  • Network Attached Storage (NAS)

    • Fixed NFS VAAI copy primitive.

    • Fixed an issue with VAAI when deleting a NAS server.

  • Logging

    • LogsCleaner: Skip most recent 2 TUI logs

  • Statistics service: Fix bug in BasicGraphStatistics (statistics are not sorted)

  • Service manager: Fix load order

  • Object - Fix access key creation complains about password even though it meets criteria.

  • Snapshots - Fix error when trying to list snapshots (STOR-337)

  • Fibre channel - fix FC port count issues.

Behavior Changes

  • GUI

    • The downloadable GUI client is no longer supported, and has been removed. It has been replaced by the embedded HTML GUI, which you can access by navigating to the DNS name or IP address of either StorONE controller node, and then clicking on Web GUI.

  • System

    • REST sessions (including the web GUI) end after 60 minutes. This timeout can be modified by setting InactivityTimeoutInMinutes in the POST data when logging in via the REST API. For example, to set it to 120 minutes:

      {
        "Username": "jdoe",
        "Password": "p@ssw0rd123!",
        "InactivityTimeoutInMinutes": 120
      }
    • The fstrim, LBA, processes & statistics settings are now auto-reloaded during runtime. Also, the CLI will report which parameters can be updated without downtime.

    • Case insensitive ExcludedSensorsNamesFromIpmiMonitoring

    • AllowDeletingInternalSnapshot if PermissionLevel >= PermissionLevels.AdvancedSupport

  • CLI

    • The configuration service list command has been simplified to configuration list

    • The monitoring drives stats and monitoring pools stats commands have been moved to AdvancedSupport mode.

    • Changed the description of the SED commands and unhid the password input in resources drives sed initialize

    • The --connectivity option for the applications volumes list command has been split into --blockConnectivity and --fileConnectivity to allow greater granularity in listing volumes.

    • The --count option in applications snapshots take has been moved to AdvancedSupport mode.

    • In the CLI/REST, the string Higher-Tier is changed to Upper-Tier to avoid confusion.

Known Issues

  • GUI:

    • Autoload notifications values of should be added. (edit option is disabled in this version)

    • Performance analyzer should be better supported in the GUI (disabled in this version)

  • NAS - rare issue mounting volume when client process was killed during system load. (volume loads successfully if system is loaded again)

  • Better error-handling is needed for loading an out-of-space system.

  • Rare timing issue where system stopped loading after registering drives (single occurrence, no repro, loaded fine after restart)