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_pool = 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_pool = pool0

This table shows configuration options for NEC V series storage driver.

Description of NEC V series storage driver configuration options

Configuration option = Default value

Description

nec_v_async_copy_check_interval = 10

(Integer(min=1, max=600)) Interval in seconds to check asynchronous copying status during a copy pair deletion or data restoration.

nec_v_compute_target_ports = []

(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).

nec_v_copy_check_interval = 3

(Integer(min=1, max=600)) Interval in seconds to check copying status during a volume copy.

nec_v_copy_speed = 3

(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.

nec_v_discard_zero_page = True

(Boolean) Enable or disable zero page reclamation in a DP-VOL.

nec_v_exec_retry_interval = 5

(Integer) Retry interval in seconds for REST API execution.

nec_v_extend_timeout = 600

(Integer) Maximum wait time in seconds for a volume extention to complete.

nec_v_group_create = False

(Boolean) If True, the driver will create host groups or iSCSI targets on storage ports as needed.

nec_v_group_delete = False

(Boolean) If True, the driver will delete host groups or iSCSI targets on storage ports as needed.

nec_v_host_mode_options = []

(List of String) Host mode option for host group or iSCSI target

nec_v_ldev_range = None

(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).

nec_v_lock_timeout = 7200

(Integer) Maximum wait time in seconds for storage to be unlocked.

nec_v_lun_retry_interval = 1

(Integer) Retry interval in seconds for REST API adding a LUN.

nec_v_lun_timeout = 50

(Integer) Maximum wait time in seconds for adding a LUN to complete.

nec_v_pool = []

(List of String) Pool number[s] or pool name[s] of the DP pool.

nec_v_rest_another_ldev_mapped_retry_timeout = 600

(Integer) Retry time in seconds when new LUN allocation request fails.

nec_v_rest_connect_timeout = 30

(Integer) Maximum wait time in seconds for REST API connection to complete.

nec_v_rest_disable_io_wait = True

(Boolean) It may take some time to detach volume after I/O. This option will allow detaching volume to complete immediately.

nec_v_rest_get_api_response_timeout = 1800

(Integer) Maximum wait time in seconds for a response against GET method of REST API.

nec_v_rest_job_api_response_timeout = 1800

(Integer) Maximum wait time in seconds for a response from REST API.

nec_v_rest_keep_session_loop_interval = 180

(Integer) Loop interval in seconds for keeping REST API session.

nec_v_rest_server_busy_timeout = 7200

(Integer) Maximum wait time in seconds when REST API returns busy.

nec_v_rest_tcp_keepalive = True

(Boolean) Enables or disables use of REST API tcp keepalive

nec_v_rest_tcp_keepcnt = 4

(Integer) Maximum number of transmissions for TCP keepalive packet.

nec_v_rest_tcp_keepidle = 60

(Integer) Wait time in seconds for sending a first TCP keepalive packet.

nec_v_rest_tcp_keepintvl = 15

(Integer) Interval of transmissions in seconds for TCP keepalive packet.

nec_v_rest_timeout = 30

(Integer) Maximum wait time in seconds for REST API execution to complete.

nec_v_restore_timeout = 86400

(Integer) Maximum wait time in seconds for the restore operation to complete.

nec_v_snap_pool = None

(String) Pool number or pool name of the snapshot pool.

nec_v_state_transition_timeout = 900

(Integer) Maximum wait time in seconds for a volume transition to complete.

nec_v_storage_id = None

(String) Product number of the storage system.

nec_v_target_ports = []

(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).

nec_v_zoning_request = False

(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_pool

    Pool number or pool name of the DP pool.