NEC Storage V series driver¶
NEC Storage V series driver provides Fibre Channel and iSCSI support for NEC V series storages.
System requirements¶
Supported models:
Storage model |
Firmware version |
---|---|
V100, V300 |
93-04-21 or later |
Required storage licenses:
iStorage Local Replication Local Replication Software
Supported operations¶
Create, delete, attach, and detach volumes.
Create, list, and delete volume snapshots.
Create a volume from a snapshot.
Create, list, update, and delete consistency groups.
Create, list, and delete consistency group snapshots.
Copy a volume to an image.
Copy an image to a volume.
Clone a volume.
Extend a volume.
Migrate a volume.
Get volume statistics.
Efficient non-disruptive volume backup.
Manage and unmanage a volume.
Attach a volume to multiple instances at once (multi-attach).
Revert a volume to a snapshot.
Note
A volume with snapshots cannot be extended in this driver.
Configuration¶
Set up NEC V series storage¶
You need to specify settings as described below for storage systems. For details about each setting, see the user’s guide of the storage systems.
Common resources:
All resources
All storage resources, such as DP pools and host groups, can not have a name including blank space in order for the driver to use them.
User accounts
Create a storage device account belonging to the Administrator User Group.
DP Pool
Create a DP pool that is used by the driver.
Resource group
If using a new resource group for exclusive use by an OpenStack system, create a new resource group, and assign the necessary resources, such as LDEVs, port, and host group (iSCSI target) to the created resource.
Ports
Enable Port Security for the ports used by the driver.
If you use iSCSI:
Ports
Assign an IP address and a TCP port number to the port.
Set up NEC V series storage volume driver¶
Set the volume driver to NEC V series storage driver by setting the volume_driver option in the cinder.conf file as follows:
If you use Fibre Channel:
[Storage1]
volume_driver = cinder.volume.drivers.nec.v.nec_v_fc.VStorageFCDriver
volume_backend_name = Storage1
san_ip = 1.2.3.4
san_api_port = 23451
san_login = userid
san_password = password
nec_v_storage_id = 123456789012
nec_v_pools = pool0
If you use iSCSI:
[Storage1]
volume_driver = cinder.volume.drivers.nec.v.nec_v_iscsi.VStorageISCSIDriver
volume_backend_name = Storage1
san_ip = 1.2.3.4
san_api_port = 23451
san_login = userid
san_password = password
nec_v_storage_id = 123456789012
nec_v_pools = pool0
This table shows configuration options for NEC V series storage driver.
Configuration option = Default value |
Description |
---|---|
|
(Integer(min=1, max=600)) Interval in seconds to check asynchronous copying status during a copy pair deletion or data restoration. |
|
(List of String) IDs of the storage ports used to attach volumes to compute nodes. To specify multiple ports, connect them by commas (e.g. CL1-A,CL2-A). |
|
(Integer(min=1, max=600)) Interval in seconds to check copying status during a volume copy. |
|
(Integer(min=1, max=15)) Copy speed of storage system. 1 or 2 indicates low speed, 3 indicates middle speed, and a value between 4 and 15 indicates high speed. |
|
(Boolean) Enable or disable zero page reclamation in a DP-VOL. |
|
(Integer) Retry interval in seconds for REST API execution. |
|
(Integer) Maximum wait time in seconds for a volume extention to complete. |
|
(Boolean) If True, the driver will create host groups or iSCSI targets on storage ports as needed. |
|
(Boolean) If True, the driver will delete host groups or iSCSI targets on storage ports as needed. |
|
(List of String) Host mode option for host group or iSCSI target |
|
(String) Range of the LDEV numbers in the format of ‘xxxx-yyyy’ that can be used by the driver. Values can be in decimal format (e.g. 1000) or in colon-separated hexadecimal format (e.g. 00:03:E8). |
|
(Integer) Maximum wait time in seconds for storage to be unlocked. |
|
(Integer) Retry interval in seconds for REST API adding a LUN. |
|
(Integer) Maximum wait time in seconds for adding a LUN to complete. |
|
(List of String) Pool number[s] or pool name[s] of the DP pool. |
|
(Integer) Retry time in seconds when new LUN allocation request fails. |
|
(Integer) Maximum wait time in seconds for REST API connection to complete. |
|
(Boolean) It may take some time to detach volume after I/O. This option will allow detaching volume to complete immediately. |
|
(Integer) Maximum wait time in seconds for a response against GET method of REST API. |
|
(Integer) Maximum wait time in seconds for a response from REST API. |
|
(Integer) Loop interval in seconds for keeping REST API session. |
|
(Integer) Maximum wait time in seconds when REST API returns busy. |
|
(Boolean) Enables or disables use of REST API tcp keepalive |
|
(Integer) Maximum number of transmissions for TCP keepalive packet. |
|
(Integer) Wait time in seconds for sending a first TCP keepalive packet. |
|
(Integer) Interval of transmissions in seconds for TCP keepalive packet. |
|
(Integer) Maximum wait time in seconds for REST API execution to complete. |
|
(Integer) Maximum wait time in seconds for the restore operation to complete. |
|
(String) Pool number or pool name of the snapshot pool. |
|
(Integer) Maximum wait time in seconds for a volume transition to complete. |
|
(String) Product number of the storage system. |
|
(List of String) IDs of the storage ports used to attach volumes to the controller node. To specify multiple ports, connect them by commas (e.g. CL1-A,CL2-A). |
|
(Boolean) If True, the driver will configure FC zoning between the server and the storage system provided that FC zoning manager is enabled. |
Required options¶
san_ip
IP address of SAN controller
san_login
Username for SAN controller
san_password
Password for SAN controller
nec_v_storage_id
Product number of the storage system.
nec_v_pools
Pool number(s) or pool name(s) of the DP pool.