HPE Docker Volume Plugin for HPE 3PAR StoreServ
HPE Docker Volume Plugin is an open source project that provides persistent storage and features for your containerized applications using HPE 3PAR StoreServ Storage arrays.
The HPE Docker Volume Plugin supports popular container platforms like Docker, Kubernetes, OpenShift and SuSE CaaS/CAP
HPE Docker Volume Plugin Overview
Standalone Docker instance
Here is an example of the HPE Docker Volume plugin being used in a standalone Docker instance:
Here is an example of the HPE Docker Volume plugin being used in an OpenShift environment:
Install and Quick Start instructions
- Review the System Requirements before installing the plugin
- Check out the Quick Start Guide for deploying the HPE Docker Volume Plugin in Docker or in Kubernetes/OpenShift environments
- Fibre Channel & iSCSI support for 3PAR
- Secure/Unsecure etcd cluster for fault tolerance
- Advanced volume features
- snapshot mount
- concurrent volume access
- snapshot schedule
- file system permissions and ownership
- multiple backends
See the usage guide for details on the supported operations and usage of the plugin.
Troubleshooting issues with the plugin can be performed using these tips
List of issues around the containerized version of the plugin/Managed plugin is present in https://github.com/hpe-storage/python-hpedockerplugin/issues
$ docker volume pruneis not supported for volume plugin, instead use
$docker volume rm $(docker volume ls -q -f "dangling=true")to clean up orphaned volumes.
Shared volume support is present for containers running on the same host.
For upgrading the plugin from older version to the current released version, user needs to unmount all the volumes and follow the standard upgrade procedure described in docker guide.
Volumes created using older plugins (2.0.2 or below) do not have snap_cpg associated with them, hence when the plugin is upgraded to 2.1 and user wants to perform clone/snapshot operations on these old volumes, he/she must set the snap_cpg for the corresponding volumes using 3par cli or any tool before performing clone/snapshot operations.
While inspecting a snapshot, its provisioning field is set to that of parent volume's provisioning type. In 3PAR however, it is shown as 'snp'.
Mounting a QoS enabled volume can take longer than a volume without QoS for both FC and iSCSI protocol.
For a cloned volume with the same size as source volume, comment field won’t be populated on 3PAR.
User not allowed to import a 3PAR legacy volume when it is under use(Active VLUN).
User needs to explicitly manage all the child snapshots, until which managed parent volume cannot be deleted
User cannot manage already managed volume by other docker host(i.e. volume thats start with 'dcv-')
It is recommended for a user to avoid importing legacy volume which has schedules associated with it. If this volume needs to be imported please remove existing schedule on 3PAR and import the legacy volume.
"Snapshot schedule creation can take more time resulting into Docker CLI timeout. However, snapshot schedule may still get created in the background. User can follow below two steps in case of time out issue from docker daemon while creating snapshot schedule."
docker volume inspect <snapshot_name>. This should display snapshot details with snapshot schedule information. Verify if schedule got created on the array using 3PAR CLI command: $ showsched
If a mount fails due to dangling LUN use this section of troubleshooting guide Removing Dangling LUN
If two or more backends are defined with the same name then the last backend is picked up and rest ignored.