NEC Storage M series are dual-controller disk arrays which support online maintenance. This driver supports both iSCSI and Fibre Channel.
Supported models:
Requirements:
Below is minimum preparation to a disk array. For details of each command, see the NEC Storage Manager Command Reference (IS052).
Set the following in your cinder.conf
, and use the following options
to configure it.
If you use Fibre Channel:
[Storage1]
volume_driver = cinder.volume.drivers.nec.volume.MStorageFCDriver
If you use iSCSI:
[Storage1]
volume_driver = cinder.volume.drivers.nec.volume.MStorageISCSIDriver
Also, set volume_backend_name
.
[DEFAULT]
volume_backend_name = Storage1
This table shows configuration options for NEC Storage M series driver.
Configuration option = Default value | Description |
---|---|
[DEFAULT] | |
nec_actual_free_capacity = False |
(Boolean) Return actual free capacity. |
nec_backend_max_ld_count = 1024 |
(Integer) Maximum number of managing sessions. |
nec_backup_ldname_format = LX:%s |
(String) M-Series Storage LD name format for snapshots. |
nec_backup_pools = |
(List) M-Series Storage backup pool number to be used. |
nec_diskarray_name = |
(String) Diskarray name of M-Series Storage. |
nec_iscsi_portals_per_cont = 1 |
(Integer) Number of iSCSI portals. |
nec_ismcli_fip = None |
(IP) FIP address of M-Series Storage iSMCLI. |
nec_ismcli_password = |
(String) Password for M-Series Storage iSMCLI. |
nec_ismcli_privkey = |
(String) Filename of RSA private key for M-Series Storage iSMCLI. |
nec_ismcli_user = |
(String) User name for M-Series Storage iSMCLI. |
nec_ismview_alloptimize = False |
(Boolean) Use legacy iSMCLI command with optimization. |
nec_ismview_dir = /tmp/nec/cinder |
(String) Output path of iSMview file. |
nec_ldname_format = LX:%s |
(String) M-Series Storage LD name format for volumes. |
nec_ldset = |
(String) M-Series Storage LD Set name for Compute Node. |
nec_ldset_for_controller_node = |
(String) M-Series Storage LD Set name for Controller Node. |
nec_pools = |
(List) M-Series Storage pool numbers list to be used. |
nec_queryconfig_view = False |
(Boolean) Use legacy iSMCLI command. |
nec_ssh_pool_port_number = 22 |
(Integer) Port number of ssh pool. |
nec_unpairthread_timeout = 3600 |
(Integer) Timeout value of Unpairthread. |
nec_ismcli_fip
nec_ismcli_user
nec_ismcli_password
nec_ismcli_privkey
nec_diskarray_name
nec_ismcli_fip
). Specify the disk
array name targeted by the relevant config-group for this
parameter.nec_backup_pools
rpc_response_timeout
Set the timeout value in seconds. If three or more volumes can be created
at the same time, the reference value is 30 seconds multiplied by the
number of volumes created at the same time.
Also, Specify nova parameters below in nova.conf
file.
[DEFAULT]
block_device_allocate_retries = 120
block_device_allocate_retries_interval = 10
timeout server (HAProxy configuration)
In addition, you need to edit the following value in the HAProxy
configuration file (/etc/haproxy/haproxy.cfg
) in an environment where
HAProxy is used.
timeout server = 600 #Specify a value greater than rpc_response_timeout.
Run the service haproxy reload command after editing the value to reload the HAProxy settings.
Note
The OpenStack environment set up using Red Hat OpenStack Platform Director may be set to use HAProxy.
When using nec_ismcli_password
to authenticate iSMCLI
(Password authentication):
[DEFAULT]
enabled_backends = Storage1
[Storage1]
volume_driver = cinder.volume.drivers.nec.volume.MStorageISCSIDriver
volume_backend_name = Storage1
nec_ismcli_fip = 192.168.1.10
nec_ismcli_user = sysadmin
nec_ismcli_password = sys123
nec_pools = 0
nec_backup_pools = 1
When using nec_ismcli_privkey
to authenticate iSMCLI
(Public key authentication):
[DEFAULT]
enabled_backends = Storage1
[Storage1]
volume_driver = cinder.volume.drivers.nec.volume.MStorageISCSIDriver
volume_backend_name = Storage1
nec_ismcli_fip = 192.168.1.10
nec_ismcli_user = sysadmin
nec_ismcli_privkey = /etc/cinder/id_rsa
nec_pools = 0
nec_backup_pools = 1
Four config-groups (backends)
Storage1, Storage2, Storage3, Storage4
Two disk arrays
Example for using config-group, Storage1 and Storage2
Example for using config-group, Storage3 and Storage4
[DEFAULT]
enabled_backends = Storage1,Storage2,Storage3,Storage4
[Storage1]
volume_driver = cinder.volume.drivers.nec.volume.MStorageISCSIDriver
volume_backend_name = Gold
nec_ismcli_fip = 192.168.1.10
nec_ismcli_user = sysadmin
nec_ismcli_password = sys123
nec_pools = 0
nec_backup_pools = 2
nec_diskarray_name = 200000255C3A21CC
[Storage2]
volume_driver = cinder.volume.drivers.nec.volume.MStorageISCSIDriver
volume_backend_name = Silver
nec_ismcli_fip = 192.168.1.10
nec_ismcli_user = sysadmin
nec_ismcli_password = sys123
nec_pools = 1
nec_backup_pools = 3
nec_diskarray_name = 200000255C3A21CC
[Storage3]
volume_driver = cinder.volume.drivers.nec.volume.MStorageISCSIDriver
volume_backend_name = Gold
nec_ismcli_fip = 192.168.1.20
nec_ismcli_user = sysadmin
nec_ismcli_password = sys123
nec_pools = 0
nec_backup_pools = 2
nec_diskarray_name = 2000000991000316
[Storage4]
volume_driver = cinder.volume.drivers.nec.volume.MStorageISCSIDriver
volume_backend_name = Silver
nec_ismcli_fip = 192.168.1.20
nec_ismcli_user = sysadmin
nec_ismcli_password = sys123
nec_pools = 1
nec_backup_pools = 3
nec_diskarray_name = 2000000991000316
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.