Enhancements in DataCore Puls8 v4.6
This section describes improvements made to existing features and workflows to enhance performance, usability, stability, and overall operational efficiency.
The items below outline the key enhancements:
Automatic Detection of Hot-Removed Disks
DiskPools backed by AIO and io_uring devices are now periodically rescanned for changes to the underlying storage file handles, bringing them to parity with NVMe devices. Disk hot-removal is detected and pool sizes are refreshed even when there is no ongoing I/O to the pool. Refer to DiskPool I/O Monitoring and Failure Handling.
Best-Effort Snapshot Restore
A restore from a snapshot previously failed outright if any one of the snapshot's replica pools could not host a clone, for example when a single source pool was full, leaving you without a usable restore even though the data was available elsewhere. The new snapshotRestorePolicy StorageClass parameter accepts bestEffort, which allows the restore to proceed as long as at least one clone succeeds. The volume comes up under-replicated and the replica reconciler fills in the missing replicas through a normal rebuild. The default, strict, preserves the existing behavior.
Default Filesystem Format Options for Local PV LVM and Local PV ZFS
Local PV ZFS now accepts a formatOptions StorageClass parameter carrying the extra mkfs options used when a volume is formatted on first use, matching Local PV LVM. Both engines also add a node agent default, applied when a StorageClass sets none. A StorageClass value replaces the node default for its filesystem rather than merging with it, and an unknown filesystem entry fails the node agent at startup instead of formatting volumes the node cannot mount.
New Local PV ZFS Dataset Tuning Parameters
Local PV ZFS StorageClasses accept two new parameters: atime, controlling whether access times are recorded, and logbias, controlling how ZFS handles synchronous write workloads.
Clearer Impact Reporting for Purge Operations
Purging an irrecoverable node or pool now reports both the affected volumes and the affected snapshots directly in the error output, so a separate --show-impact run is no longer needed to understand what a purge would destroy. DiskPool cleanup during a purge is now optional, and --show-impact no longer performs any cleanup, making it a true dry run.
Clear DiskPool Errors from the Command Line
You can now clear recorded error state on a DiskPool with kubectl puls8 mayastor clear-errors pool, with the option to reset selected error categories rather than all of them. This lets you return a pool to service after resolving the underlying device problem, without restarting components. Refer to DiskPool I/O Monitoring and Failure Handling.
NVMe-oF Transport Tuning
Replicated PV Mayastor exposes additional NVMe-oF target parameters for performance tuning, including maximum I/O size, I/O unit size, in-capsule data size, and, for RDMA, the data work-request pool size. RDMA capability detection is also stricter: a node is now treated as RDMA-capable only when both an RDMA-capable interface is present and the nvme_rdma kernel module is loaded.
Optional Snapshot Controller
The bundled CSI snapshot controller can now be disabled for Replicated PV Mayastor, Local PV LVM, and Local PV ZFS, avoiding a conflict on clusters that already run their own snapshot controller. Refer to Volume Snapshots.
Local PV Hostpath Provisioner Improvements
The Local PV Hostpath provisioner now supports setting allowedTopologies on the hostpath StorageClass through the chart, and its liveness probe uses an HTTP health server rather than a process check.
Faster Pool and Replica Teardown
Block device destruction in the io-engine is now asynchronous, improving the responsiveness of pool and replica teardown operations.