跳转到: 导航, 搜索

Mellanox-Cinder

概述

Mellanox 添加了用于 RDMA (iSER) 的 iSCSI 扩展,无需 TCP 层。因此,它提供了更低的延迟和更高的性能。
它允许数据直接在 SCSI 计算机内存缓冲区中传输进出,从而将计算机与存储设备连接起来,而无需中间数据复制。
iSER 是一种服务器网络协议,它扩展了 Internet 小型计算机系统接口 (iSCSI) 协议,以使用远程直接内存访问 (RDMA)。

有关更多信息和基准测试结果,请联系 Mellanox。

安装

通过标准的 Cinder 安装配置。

配置

为了启用 iSER,请在 /etc/cinder/cinder.conf 中调整这些值

iscsi_ip_address = <ipoib/roce_address>
iscsi_protocol = iser
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver

iscsi_ip_address 需要从发起端侧通过 IB/RoCE 接口执行“发现”。

volume_driver 指示 Cinder 使用 LVMVolumeDriver。

重启 Cinder 服务

#/etc/init.d/openstack-cinder-volume restart

有关故障排除问题,请参阅章节 已知问题

已知问题

(1) “scsi-target-utils” 包

注意:对于 RH6.4 或更低版本,“scsi-target-utils” 包的版本需要为 1.0.38 及以上。如果您使用 RDO 安装,则应检查版本。RPM 可以在 http://www.mellanox.com/downloads/solutions/rpms/ 找到。

#wget http://www.mellanox.com/downloads/solutions/rpms/scsi-target-utils-1.0.39-v1.0.39.c1135a.x86_64.rpm
#rpm -Uvh scsi-target-utils-1.0.39-v1.0.39.c1135a.x86_64.rpm

此外,RH6.5 包含版本为 1.0.24-10 的“scsi-target-utils” 包。此版本号已足够,无需对 RHEL6.5 进行进一步操作。

(2) 使用旧版本的 Openstack (Havana 发布版或更低版本),从卷启动实例时 iSER 启用后会失败

重现错误的步骤

- 使用镜像源创建新卷。

- 使用 iSER 传输启动从上述卷启动的新实例。

该错误在此处定义:[1]

补丁可以在此处找到:[2]

要应用补丁,请在所有 nova-compute 节点上运行以下命令

# wget http://www.mellanox.com/downloads/solutions/openstack/havana/patches/volume.patch 
# patch -p1 < volume.patch
# service nova-compute restart 

(3) 流量控制

如果网络是以太网,请确保在网络的相应端口上启用交换机上的流量控制。

(4) Linux-IO (LIO) 支持限制

Openstack 中的 SCSI 目标开源实现可以由 TGT 或 LIO 管理。
在 Openstack 中,iSER 仅在 Kilo 版本之前通过 TGT 支持,而从 Kilo 版本开始,iSER 对 LIO 的支持可用。
请使用 iscsi_helper 参数指定 ISCSI 目标类型(有关更多详细信息,请参阅:Cinder editional options)。

参考文献

1. LVM 驱动程序文档

2. Mellanox 网站上的 OpenStack 解决方案页面

3. 旧版源代码仓库

4. Mellanox OFED 网页

5. Havana 的 Cinder-controller

6. Havana 的 Cinder-node


返回到 Mellanox-OpenStack wiki 页面。

有关更多详细信息,请将任何疑问发送至 openstack@mellanox.com