StorPool 19.1 release notes
19.1 revision 19.01.1628.1b627d0
Released: 07 Dec 2020
Now collecting additional configuration data in
storpool_stat
for additional per-host monitoring checks, includes lldpd as dependency.Adds Volumecare version 1.18 that includes support for multiple sub-clusters sending to a backup location.
Includes improvements and and fixes in internal tools, core and services.
Adds compression and proxy authorization configuration support options for the monitoring collection scripts.
Adds the SP_MIRROR_DIR option for containerized workloads.
Adds support for the Micron 9300 MTFDHAL3T2TDR NVMe drive.
Adds compression support for monitoring data collection scripts.
19.1 revision 19.01.1548.00e5a5633
Released: 27 Nov 2020
Adds fix for
storpool_stat
for handling statistics for unnamed volumes.Adds support for Samsung PM173X NVMe drives.
Adds fix for iSCSI re-assign targets implementation to retry on transaction reset.
Improves
storpool_stat
send performance after longer periods of no connectivityAdds
storpool_initidks
–no-notify option for easier StorPool disk attributes changes.Adds reliability improvements in the in-server disk tester implementation
Adds an additional iSCSI helper option to the
iface-genconf
tool (see iSCSI configuration)The main reason for the extension is a planned change in the monitoring system to periodically check if the portal group and portal addresses exposed by the
storpool_iscsi
controller services are still reachable. This change will require adding OS/kernel interfaces for each of the portal groups, so that they could be used as a source IP endpoint for the periodic monitoring checks.Adds fix for disk not getting ejected by the server after a drive was re-balanced out.
Adds workaround for a bug in the
i40e
driver in CentOS6 based NICs (hardware acceleration)
19.1 revision 19.01.1511.0b533fb
Released: 28 Oct 2020
Adds fixes for idle service VF resets with
ixgbe
driver based NICs.Adds fixes for volumecare tags handling with unnamed volumes.
Adds initial support for CentOS 8.2 installations.
Adds tools for setting up volume overrides for many volumes from the same parent use case.
Presently, overrides are manually added by StorPool support only in places that require them. At a later point they will be re-created periodically, so that new volume objects are included in this analysis regularly.
Increases the listen backlog for the
storpool_mgmt
andstorpool_bridge
services.
19.1 revision 19.01.1468.90a9873
Released: 16 Oct 2020
Adds support for Micron 9300 NVMe.
Adds workaround for firmware issues with
bnxt_en
NICs (detect and reset stuck VF).Improves handling of LACP mode
i40e
based NICs.Fixes an issue with handling old-style iSCSI reservations used by VMWare 4.x and 5.x.
Fixes aborts in
storpool_iscsi
withbnxt_en
driver when a large ICMP packet is received.Improves StorPool API operation with large number of volumes and snapshots with multicluster environment.
Adds more granular flags for snapshot dematerialization status.
Adds fixes for iSCSI sessions list (known as empty target/initiator in CLI).
Adds fix for CLI not showing unnamed volumes name in attachments list.
Removes deprecated options from storpool.conf.example.
Includes updates and fixes in internal tools.
19.1 revision 19.01.1413.b807f92
Released: 26 Sep 2020
Updated dependencies when MLNX OFED is used.
Balancer fix for cases where overrides are enabled.
Adds bridge multicluster stability fixes.
Updates Python bindings with missing functionality available in the present API.
Adds diagnostic features for the /usr/lib/storpool/monitor utility.
Adds handling for misbehaving i40e based NICs that could lead to aborted services.
Adds updates and fixes in internal tools.
19.1 revision 19.01.1376.ce07826
Released: 21 Aug 2020
Adds volumecare support for unnamed volumes.
The in-server disk tester now sends FUA writes during tests (except for –no-fua y disks).
Improved performance when relocating data from SSD or NVMe disks
Adds handling in api-ip for some obscure kernel 4.18 behavior leaving leftover routes.
Adds a fix for API to not show deleted snapshots addressed by global ID.
Adds a fix for volumeMoveRemote API call now properly handling IOPS and bandwidth limits.
Includes updates and fixes in internal tools.
19.1 revision 19.01.1357.39c014c
Released: 12 Aug 2020
Fixes a bug in handling old-style iSCSI reservations used by VMWare 4.x and 5.x
Adds
storpool_volumecare
as an installable module (More on storpool_volumecare here)Adds support for Micron 7300 Pro NVMe
Updates and improvements in internal tools
19.1 revision 19.01.1346.dd68fa2c6
Released: 04 Aug 2020
Cluster volume/snapshot limit bumped to 60k volumes/snapshots.
StorPool API now automatically fails over in case its address vanishes for any reason.
The
storpool_cg
tool now properly handles disks with custom objects and/or entries counts.Now automatically patching /etc/kdump.conf to blacklist non-important but memory intensive drivers.
New default TCP sysctl settings for better throughput performance for bridge enabled nodes.
Updated installation helper scripts handling better latest rpm/deb packages and other improvements.
19.1 revision 19.01.1293.cfcb869
Released: 11 Jul 2020
Improvements in
storpool_initdisk
tool - exit code 0 on--nvme-smart
, added--json
outputAdds spopenstack in the main source tree
Initial CentOS 8 build support
Major installation package system changes - new implementation of most core installation tools, all service files are now handled as rpm/deb packages
Critical fix for all systems running with hard disk drives, resiliency on power outages.
19.1 revision 19.01.1217.1635af7
Released: 02 Jul 2020
Improves handling of lost packets in iSCSI connections
Adds full cluster maintenance mode monitoring improvements
Server now automatically tests and returns disks on transient failures. This improves the way storage media and/or controller failures are handled.
Improvement in multicluster - volume create/update flags now mandatory for MultiCluster API endpoint, adds VolumeRevert operation
Improvement in multicluster - volume exports and remote volumes can now be listed
Performance improvements - more efficient bridge and API interoperability
Performance improvements in dematerialization
Adds CLI improvements - iSCSI list interfaces
Updates cgtool defaults - the system.slice is now with 4G limit by default
Adds minor fixes and improvements in balancer, build and automation tools
19.1 revision 19.01.1108.02703b8c5
Released: 04 Jun 2020
storpool_bridge
performance improvementsOracle Linux support
Kernel 5.4 support
Increase limit of total volumes and snapshots to 45000
Better support for LACP hashing handling
19.1 revision 19.01.1025.0baac06a6
Released: 04 Jun 2020
Added Maintenance mode
Support for volume creation with global IDs instead of volume names.
StorPool now can allow the creation of a volume without a name provided, by assigning it a globally unique ID, by which it could be then referred.
Note
Globally-unique in this regard means world-wide global uniqueness, i.e. no two StorPool deployments can generate the same ID.
This feature was developed to handle some race conditions and retry-type cases in orchestration systems in multi-cluster environment, which could lead to duplication and reuse of another volume. By allowing the storage system to ensure the uniqueness of volume identifiers, all these cases are solved.
Revert to snapshot functionality
NIC initialization and configuration is now non-blocking.
Non-blocking NIC initialization and configuration allows for StorPool services to continue operating normally during hardware reconfigurations or errors. For example: link flaps, changing MTU or other NIC properties, adding/removing VFs to enable/disable hardware acceleration, and so on.
This was developed to handle delays from hardware-related reconfiguration or initialization issues, as most NICs require resets, recreation of filters, or other tasks which take time for the NIC to process, and if just busy-waited would not allow the services to process other requests in the mean time.
The feature works by sending requests to the NIC for specific changes and rechecking their progress periodically (between processing other tasks), or when waiting for other events to complete.
Availability of information for active iSCSI sessions
Acceleration support for virtio-net based adapters
Added support for global active operations list.
StorPool has support for listing the active requests on disks and clients. With this change the functionality is expanded to be able to get all such data from other services (for example,
storpool_bridge
andstorpool_iscsi
) and to show some extra details. This is also expanded to be done with a single call for the whole cluster, greatly simplifying monitoring & debugging.This feature was developed to replace the
latthreshold
tool that showed all requests of clients and disks that were taking more than a set time to complete. The present implementation gets all required data without the need for sending a separate API call for each client/disk in the cluster.storpool_initdisk
now has extra validation of flags and devicesreuseServer
implicit on a down disk in small clusters.This feature allows a volume to be created even if a cluster is on the minimum system requirements of three nodes, with a single disk missing from the cluster, or if one of the nodes is down at the moment.
Before this change all attempts to create a volume in this state would have resulted in “Not enough servers or fault sets for replication 3” error for volumes with replication 3.
With this feature enabled the volume will be created as if the volume was created with
reuseServer
. For details, see Reusing server on disk failure.
19.1 revision 19.01.878.7b1f83e3d
Released: 04 Jun 2020
Infrastructure to allow customers to access StorPool packages
Tools to help with installing new modules and services
Add bridge buffer size options (location update command), see also Bridge throughput performance
Fix for sending monitoring data in blackholed IPv6 networks
19.1 revision 19.01.759.024d1bd
Released: 18 Mar 2020
iSCSI TCP fixes and optimizations
Improvements in handling of I/O errors for NVMe devices
Compatibility improvement in Python bindings: fix the type of the
allowRemoteExported
field so that it’s not always sent to the StorPool API
19.1 revision 19.01.742.47c6e9c
Released: 06 Mar 2020
Major improvement in aggregation performance with a significantly more efficient internal trigger
Improvements in dematerialization with mixed server and controller versions in the same cluster
Various fixes and improvements in the in-iSCSI TCP implementation
Performance improvements in the storpool_controller service
Fix for thread priorities in some services that were leading to timeouts and service restarts
19.1 revision 19.01.719.c40dd8c
Released: 26 Feb 2020
Various improvements/fixes in multicluster, for details see Introduction to multi-cluster mode
Various iSCSI fixes and optimizations
A better handling of TRIMs over iSCSI
Improvements in balancer tools, handling some edge cases
Various other improvements in internal tools and services
19.1 revision 19.01.544.39e62dbad
Released: 13 Jan 2020
Adds setirqaff validation option
Adds a required default kernel configuration option for improved performance with known supported storage controllers
Improved storpool_bridge performance under constrained CPU and network bandwidth conditions
Adds colorless output for the storpool_tree utility with flags for volumes and snapshots
19.1 revision 19.01.496.6d2c5bf83
Released: 03 Dec 2019
Removes excessive debug print logging
Improved kdump setup tooling for Debian based systems
Support for larger set of switch hash functions for LACP and ECMP
Updates in fio testing framework scripts, closely following latest monitoring alerting
19.1 revision 19.01.385.fc63315ef
Released: 19 Nov 2019
Adds support for monitoring through IPv6 only hosts.
Adds hardware acceleration support for BCM57412 NetXtreme-E 10Gb Ethernet Controllers.
Adds improved stability of quorum keeping service in unstable network conditions.
Adds stability improvements in the quorum keeping service in unstable networking conditions.
Updates the detection for hardware accelerated NICs for the bnxt_en driver in the cgroup configuration helper tools.
Adds an API fix and improvements related to multi-cluster support with CloudStack deployments; for details about this mode, see Introduction to multi-cluster mode
Adds expansion support for Kubernetes integration.
19.1 revision 19.01.375.684a0da12
Released: 07 Nov 2019
Adds fix for the CLI when a volume is created without a template.
Improvements in logging, handles unexpected verbosity.
Improvements in statistics collection daemons, safer methods for data collection.
Improvements for stability and edge cases handling in API.
Improvements in storpool_cg for converged nodes, single-thread hosts migration fixes.
Improvements in monitoring collection scripts, now collecting and handling more data.
19.1 revision 19.01.355.896c5ebaf
Released: 23 Oct 2019
Improvements in API performance when balancer overrides are in place.
Improvements for iSCSI when persistent reservations (MicroSoft CSV) are being used with target failover.
Improvements for aggregation logic during recovery.
Adds change in CLI for template propagate, now stating propagate is mandatory on template changes.
Adds fix for removing the reuseServer flag for volumes/snapshots previously applied with reuseServer
Adds an automatic disabling through vf-udevhelper for the internal i40e based NICs LLDP listener.
Adds an update storpool_daemon with systemd, now no longer forking and other smaller improvements.
Adds more variables reported by the server_stat tool, visible also in the collected statistics for the cluster.
Adds stability fixes in the storpool_iscsi service.
Adds performance fixes with improved read latency for HDD pools.
Adds default configuration changes for internal command output timeouts when collecting periodic reports.
Improvements in storpool_cg for server cache autodetection during cgroup config migration, various other improvements.
19.1 revision 19.01.318.daa3c5938
Released: 07 Oct 2019
Adds CLI support for multicluster mode, for details see Introduction to multi-cluster mode
Improvements for iSCSI with LACP bonds, unreliable network, etc.
Adds fixes in Python bindings
Improvements in cgtool chain
Improvements in kubernetes integration code
Improvements in API responsiveness during dematerialization
19.1 revision 19.01.301.f1b25e7
Released: 24 Sep 2019
Enables setting the SMP affinity of MegaRAID controllers
Adds support for CentOS 7.7 (kernel 3.10.0-1062.1.1.el7.x86_64)
Adds support for mixed routed/switched networks for iSCSI
Adds various storpool_iscsi improvements and fixes
Various other improvements in internal tools and services
19.1 revision 19.01.271.de5921845
Released: 12 Sep 2019
Improvements in the irq pinning tools for better CPU congestion avoidance on storage service CPU cores
Improvements in internal tools for stress testing drives
Adds support for non-jumbo frames routed networks
Adds support for hardware or no sleep options for bridge service and cgroup configuration tools
Adds support for upgrading 18.02 clusters with iSCSI to accelerated storpool_iscsi
Adds various storpool_iscsi improvements and fixes
Adds initial support for storpool_iscsi persistent reservations
19.1 revision 19.01.212.66fed3091
Released: 10 Sep 2019
Adds support for 4.18 line of kernels
Improvements in python-bindings, monitoring services, cgroup tools
Various other improvements in internal tools and services
19.1 revision 19.01.199.b98e9d4
Released: 29 Aug 2019
Adds priority based recovery for better handling of remote bridge recovery operations
Adds tools for easier upgrade from 18.02 with multi site setup
Adds common configuration for all supported hardware accelerated NIC drivers
Improvements in the tooling for enabling required hardware acceleration settings
19.1 revision 19.01.182.666093099
Adds support for multiple clusters in the same location
Read operations now can be forwarded through the active bridge connection for not fully recovered snapshots
Adds support for 4.20 and 5.0 kernel line
Adds significant protocol improvements for small block size and low IO queue depth read/write operations latency
Adds significant performance improvements for
storpool_iscsi
, now running only on adapters with support for hardware acceleration (i40e
,ixgbe
,mlx4_ib
,mlx5_ib
drivers)Adds support for iSCSI on layer 3 only networks (routed networks)
Adds support for hardware accelerated
bnxt
driver based Broadcom adaptersAdds backwards compatibility with pre 19.01 release versions
Fixes AMD EPYC v.1 hardware sleep latency issues