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. 旧版源代码仓库
返回到 Mellanox-OpenStack wiki 页面。
有关更多详细信息,请将任何疑问发送至 openstack@mellanox.com。