NEC Storage M 系列驱动

NEC Storage M 系列是支持在线维护的双控制器磁盘阵列。此驱动程序支持 iSCSI 和光纤通道。

系统要求

支持的型号

存储型号

存储控制软件(固件)

磁盘类型

M110, M310, M510, M710

0979 或更高版本

SSD/HDD 混合

M310F, M710F

0979 或更高版本

全闪存

M120, M320

1028 或更高版本

SSD/HDD 混合

M320F

1028 或更高版本

全闪存

需求

  • NEC Storage M 系列需要固件版本 1028 或更高版本才能在一个池中创建超过 1024 个卷。

  • NEC Storage DynamicDataReplication 许可证。

  • (可选) NEC Storage IO Load Manager 许可证用于 QoS。

支持的操作

  • 创建、删除、附加和分离卷。

  • 创建、列出和删除卷快照。

  • 从快照创建卷。

  • 将镜像复制到卷。

  • 将卷复制到镜像。

  • 克隆卷。

  • 扩展卷。

  • 迁移卷。

  • 获取卷统计信息。

  • 高效的非破坏性卷备份。

  • 管理和取消管理卷。

  • 管理和取消管理快照。

  • 一次将卷附加到多个实例 (多重附加)。

  • 将卷恢复到快照。

准备工作

以下是磁盘阵列的最低准备工作。有关每个命令的详细信息,请参阅 NEC Storage Manager 命令参考 (IS052)。

  • 通用 (iSCSI 和光纤通道)

    1. 初始设置

      • 使用网络配置工具设置管理和 BMC 的 IP 地址。

      • 输入许可证密钥。(iSMcfg licenserelease)

    2. 创建池

      • 为卷创建池。(iSMcfg poolbind)

      • 为快照创建池。(iSMcfg poolbind)

    3. 创建系统卷

      • 在一个池中创建一个复制保留卷 (RSV)。(iSMcfg ldbind)

      • 在每个快照池中创建快照保留区域 (SRAs)。(iSMcfg srabind)

    4. (可选) 注册 SSH 公钥

  • 仅 iSCSI

    1. 设置每个 iSCSI 端口的 IP 地址。(iSMcfg setiscsiport)

    2. 为每个节点创建 LD 集。(iSMcfg addldset)

    3. 将每个节点的启动器名称注册到相应的 LD 集。(iSMcfg addldsetinitiator)

  • 仅光纤通道

    1. 启动访问控制。(iSMcfg startacc)

    2. 为每个节点创建 LD 集。(iSMcfg addldset)

    3. 将每个节点的 WWPN 注册到相应的 LD 集。(iSMcfg addldsetpath)

配置

在您的 cinder.conf 中设置以下内容,并使用以下选项进行配置。

如果您使用光纤通道

[Storage1]
volume_driver = cinder.volume.drivers.nec.volume.MStorageFCDriver

如果您使用 iSCSI

[Storage1]
volume_driver = cinder.volume.drivers.nec.volume.MStorageISCSIDriver

此外,设置 volume_backend_name

[DEFAULT]
volume_backend_name = Storage1

此表显示 NEC Storage M 系列驱动程序的配置选项。

NEC Storage M 系列配置选项说明

配置选项 = 默认值

描述

nec_actual_free_capacity = False

(布尔值) 返回实际可用容量。

nec_auto_accesscontrol = True

(布尔值) 自动配置访问控制。

nec_backend_max_ld_count = 1024

(整数) 最大管理会话数。

nec_backup_ldname_format = LX:%s

(字符串) M 系列存储快照的 LD 名称格式。

nec_backup_pools = []

(字符串列表) 要使用的 M 系列存储备份池编号。

nec_cv_ldname_format = LX:__ControlVolume_%xh

(字符串) M 系列存储控制卷名称格式。

nec_diskarray_name = <>

(字符串) M 系列存储的磁盘阵列名称。

nec_ismcli_fip = None

(IP 地址) M 系列存储 iSMCLI 的 FIP 地址。

nec_ismcli_password = <>

(字符串) M 系列存储 iSMCLI 的密码。

nec_ismcli_privkey = <>

(字符串) M 系列存储 iSMCLI 的 RSA 私钥文件名。

nec_ismcli_user = <>

(字符串) M 系列存储 iSMCLI 的用户名。

nec_ismview_alloptimize = False

(布尔值) 使用优化后的旧 iSMCLI 命令。

nec_ismview_dir = /tmp/nec/cinder

(字符串) iSMview 文件的输出路径。

nec_ldname_format = LX:%s

(字符串) M 系列存储卷的 LD 名称格式。

nec_ldset = <>

(字符串) M 系列存储计算节点的 LD 集名称。

nec_pools = []

(字符串列表) 要使用的 M 系列存储池编号列表。

nec_queryconfig_view = False

(布尔值) 使用旧 iSMCLI 命令。

nec_ssh_pool_port_number = 22

(整数) ssh 池的端口号。

nec_unpairthread_timeout = 3600

(整数) Unpairthread 的超时值。

nec_iscsi_portals_per_cont = 0

(整数) 每个控制器的最大 iSCSI 门户数。0 => 无限制。此选项已弃用,可能在下一个版本中删除。已弃用

必需选项

  • nec_ismcli_fip

    M 系列存储的 FIP 地址。

  • nec_ismcli_user

    M 系列存储 iSMCLI 的用户名。

  • nec_ismcli_password

    M 系列存储 iSMCLI 的密码。

  • nec_ismcli_privkey

    iSMCLI 的 RSA 私钥文件名(仅用于公钥身份验证)。无法指定加密的 RSA 私钥文件。

  • nec_diskarray_name

    M 系列存储的磁盘阵列名称。必须指定此参数才能通过使用相同的存储设备(具有相同的 nec_ismcli_fip 的存储设备)配置多个组(多后端)。为此参数指定由相关配置组针对的磁盘阵列名称。

  • nec_backup_pools

    指定创建快照的一个池编号。不支持多个池。

超时配置

  • rpc_response_timeout

    设置秒数中的超时值。如果同时可以创建三个或更多卷,则参考值为同时创建的卷数乘以 30 秒。此外,请在 nova.conf 文件中指定以下 nova 参数。

    [DEFAULT]
    block_device_allocate_retries = 120
    block_device_allocate_retries_interval = 10
    
  • timeout server (HAProxy 配置)

    此外,您需要在使用 HAProxy 的环境中编辑 HAProxy 配置文件 (/etc/haproxy/haproxy.cfg) 中的以下值。

    timeout server = 600 #Specify a value greater than rpc_response_timeout.
    

    编辑该值后,运行 service haproxy reload 命令以重新加载 HAProxy 设置。

    注意

    使用 Red Hat OpenStack Platform Director 设置的 OpenStack 环境可能设置为使用 HAProxy。

配置示例 /etc/cinder/cinder.conf

在使用一个配置组时

  • 在使用 nec_ismcli_password 验证 iSMCLI (密码身份验证) 时

    [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
    
  • 在使用 nec_ismcli_privkey 验证 iSMCLI (公钥身份验证) 时

    [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
    

在使用多配置组(多后端)时

  • 四个配置组(后端)

    Storage1, Storage2, Storage3, Storage4

  • 两个磁盘阵列

    200000255C3A21CC(192.168.1.10)

    使用配置组 Storage1 和 Storage2 的示例

    2000000991000316(192.168.1.20)

    使用配置组 Storage3 和 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