Dell PowerScale driver¶
The EMC Shared File Systems driver framework (EMCShareDriver) utilizes Dell storage products to provide shared file systems to OpenStack. The EMC driver is a plug-in based driver which is designed to use different plug-ins to manage different Dell storage products.
The PowerScale driver is a plug-in for the EMC framework which allows the
Shared File Systems service to interface with an PowerScale back end to
provide a shared filesystem. The EMC driver framework with the PowerScale
plug-in is referred to as the PowerScale Driver in this document.
This PowerScale Driver interfaces with an PowerScale cluster via the REST PowerScale Platform API (PAPI) and the RESTful Access to Namespace API (RAN).
Requirements¶
PowerScale cluster running OneFS 9.10 or higher
Pre-configurations for Compression on PowerScale¶
Ensure the PowerScale backend supports inline compression (verify OneFS version and node-pool compatibility), enable cluster-wide compression using the PowerScale user interface, and confirm that compression-capable storage pools are used for Manila share paths.
Compression is managed by OneFS at the pool level. Ensure the Manila root path is on a compression-enabled pool if you want data to be compressed. No Manila extra-spec is required.
Back end configuration¶
The following parameters need to be configured in the Shared File Systems service configuration file for the PowerScale driver:
share_driver = manila.share.drivers.emc.driver.EMCShareDriver
emc_share_backend = powerscale
emc_nas_server = <IP address of PowerScale cluster>
emc_nas_login = <username>
emc_nas_password = <password>
Thin Provisioning¶
PowerScale systems have thin provisioning enabled by default. Add the parameter below to set an advisory limit.
powerscale_threshold_limit = <threshold percentage value>
Mount Snapshot¶
To enable snapshot-mount support for a share type, set the following extra specification:
$ openstack share type set <share_type> --extra-specs \
mount_snapshot_support="<is> True"
Access behavior
Mounted snapshots are always read-only.
For NFS and CIFS, IP-based access rules are applied.
For CIFS, user-based access rules are also supported.
Mount Point Name¶
PowerScale system supports providing a custom mount point name for both NFS and CIFS protocols. The mount point name will be prepended and will become the share’s mount path.
$ openstack share type set <share_type> --extra-specs \
mount_point_name_support="<is> True" \
provisioning:mount_point_prefix=<prefix>
For detailed usage instructions, refer to the Manila administration documentation:
Restrictions¶
The PowerScale driver has the following restrictions:
Only IP access type is supported for NFS and CIFS.
Only FLAT network is supported.
Quotas are not yet supported.
Revert to a snapshot¶
To enable revert-to-snapshot support, configure the corresponding extra spec on the share type used to create the share.
openstack share type set <share_type_name> \
--extra-specs revert_to_snapshot_support=True
When revert_to_snapshot_support=True is set, the PowerScale driver
creates a Domain Mark job during share creation. This job is required to
prepare the share for subsequent revert-to-snapshot operations.
The Domain Mark job runs asynchronously on PowerScale (OneFS). The driver monitors the job status using the following configuration parameters:
powerscale_job_retries = 5
powerscale_job_interval = 2
Where:
powerscale_job_retriesdefines the maximum number of polling attempts.powerscale_job_intervaldefines the polling interval, in seconds, between attempts.
These parameters control how the driver waits for asynchronous backend jobs to complete.
When a revert-to-snapshot operation is requested, the driver initiates a
revert job on the backend and returns the share status as
reverting_to_snapshot to the Manila service. Since the operation is
asynchronous, the driver monitors the backend job status periodically.
Once the backend revert job completes successfully, the share status is
updated automatically from reverting_to_snapshot to available.
If the job fails, the share status is updated to error.
QoS Support¶
The Dell PowerScale Manila driver can enforce OneFS SmartQoS protocol
operations limits (protocol_ops) per share. QoS is driven by
Manila QoS types and validated against a pre-existing SmartQoS
dataset on OneFS. The driver does not create datasets.
The driver reports the qos_type_support capability so the scheduler
can filter backends that support QoS types.
Requirements¶
OneFS 9.5 or higher, with SmartQoS introduced.
A SmartQoS dataset already exists on the cluster with metrics exactly
['path', 'protocol'].The driver reads the dataset name from QoS type specs.
Note
The driver does not auto-create the dataset. If the dataset is missing or misconfigured (wrong metrics), QoS operations will fail.
Configure QoS using QoS types¶
Create a QoS type with the required specs:
# Create a QoS type with protocol_ops limit and dataset reference
openstack share qos type create PowerScale-QoS \
--spec protocol_ops=<protocol_ops_limit> \
--spec dataset=<dataset_name>
# Alternatively, reference the dataset by numeric ID
openstack share qos type create PowerScale-QoS \
--spec protocol_ops=<protocol_ops_limit> \
--spec dataset_id=<dataset_id>
Create a share type and associate the QoS type:
# Create a share type
openstack share type create <share-type-name> False
# Link the QoS type to the share type via default_qos_type extra spec
openstack share type set <share-type-name> --extra-specs \
default_qos_type=PowerScale-QoS
Create a share using the share type:
openstack share create NFS 1 --share-type <share-type-name>
Optional: Restrict QoS to specific protocol versions by adding the
protocols spec to the QoS type:
For NFS:
nfs3,nfs4(or both as a comma-separated list)For SMB:
smb1,smb2(or both)
openstack share qos type set PowerScale-QoS --spec protocols=nfs4
QoS type spec reference¶
Spec key |
Required |
Description |
|---|---|---|
protocol_ops |
Yes |
SmartQoS protocol operations limit (int>0). |
dataset |
Yes* |
SmartQoS dataset name on OneFS. |
dataset_id |
Yes* |
SmartQoS dataset numeric ID on OneFS. |
protocols |
No |
Comma-separated protocol filter
(e.g. |
*Either dataset or dataset_id must be provided.
Driver options¶
All configuration options for this driver are documented in the Configuration Reference.