The Dell EMC PowerFlex storage plugin in Apache CloudStack has seen significant enhancements since version 4.16.0.0, bringing new functionality and improvements to better support modern infrastructure needs. Below is a summary of the key improvements introduced across various CloudStack versions:
- Separate Storage Network Support on KVM Hosts
In version 4.17.1.0, the plugin was enhanced to support PowerFlex storage on a separate network, specifically connected through the Storage Data Client (SDC) on the KVM host. This allows for better segregation of storage traffic, ensuring that network performance for other operations is not impacted by storage-related data flow.
- Encryption of Volumes on PowerFlex Storage
Introduced in version 4.18.0.0, this feature allows administrators to enable encryption for volumes stored on PowerFlex. Encryption can be configured at the Disk and Service Offering levels for both root and data Volumes. When enabled, CloudStack automatically encrypts the volumes on the PowerFlex storage when using the KVM hypervisor. This improvement strengthens data security for workloads, particularly in environments that require compliance with data protection regulations.
- Live Volume Migration within and across PowerFlex Storage Clusters
This enhancement in version 4.18.1.0 unlocks the ability to perform live storage migration for both encrypted and non-encrypted PowerFlex volumes, within the same storage pool or across different PowerFlex storage clusters.
- Within the same cluster
Volume migration leverages PowerFlex’s native V-Tree migration operation, allowing the live migration of a volume to another storage pool without downtime.
- Across different clusters
The migration is handled through libvirt’s live blockcopy operation. Initially, the volume is copied to the destination storage pool, and upon a successful copy, the source volume is deleted. In case of failure, the migration process is safely rolled back, ensuring the source volume remains unaffected.
This improvement is a major step toward seamless volume management, enabling admins to move workloads across storage pools and clusters with minimal disruption.
- Increased Reserve for PowerFlex Encrypted Volumes
In version 4.18.2.0, the reserve space for encrypted volumes on PowerFlex was increased from 32MB to 128MB. This adjustment addresses edge cases where frequent small writes over extended periods could lead to fragmentation, causing performance issues. While discard/fstrim commands from within the guest operating system can help free up space, this increased reserve ensures better performance, even in scenarios where such commands aren’t regularly issued.
- PowerFlex SDC Client Connections Management
With version 4.19.1.0, CloudStack added the ability to manage PowerFlex SDC (Storage Data Client) client connections. This feature helps administrators control the number of client connections to the PowerFlex storage cluster from KVM hosts. Key features include:
- The ability to prepare and unprepare SDC connectivity on KVM hosts, ensuring efficient resource usage.
- The introduction of custom statistics for a storage pool, which can be queried using the listStoragePools API with storagecustomstats=true. This API call now returns the ConnectedSDCCount, indicating the current number of connected SDC clients to a given PowerFlex storage pool.
Additionally, a new configuration setting, storage.pool.connected.clients.limit, was introduced to control the maximum number of SDC clients connected to a PowerFlex storage pool. The default value is set to -1, meaning unlimited clients are allowed unless otherwise configured.
- Dynamic control of PowerFlex SDC Client Connections Management
In version 4.20.0.0, dynamic control of the PowerFlex SDC (Storage Data Client) client connections on the KVM hosts is introduced through a new configuration setting, powerflex.connect.on.demand with zone scope. This default value is set to false, meaning auto connect and disconnect is disabled on volume map and unmap operations, that is PowerFlex SDC connection on the Host remains in the same state whichever it is, connected or disconnected. When it is set to true, PowerFlex SDC is connected on the Host if not connected when first Volume is mapped to that host SDC and disconnected when last Volume is unmapped from that SDC.
Conclusion
The improvements to the Dell EMC PowerFlex storage plugin in CloudStack have brought valuable new features that enhance performance, security, and manageability. From network segregation and encryption to live migration and connection management, these updates provide greater flexibility for administrators managing PowerFlex storage in their CloudStack environments. The continued evolution of this plugin ensures that CloudStack remains a powerful and adaptable platform for diverse enterprise workloads.

Suresh Anaparti has over 15 years of end-to-end product development experience in Cloud Infrastructure, Telecom and Geospatial technologies. He is an active Apache CloudStack committer. He has been working on CloudStack development for more than 5 years.
You can learn more about Suresh and his background by reading his Meet The Team blog.