2

VMware vSphere环境iSCSI配置多路径

 1 year ago
source link: http://just4coding.com/2022/11/20/vmware-iscsi-multipathing/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

VMware vSphere环境iSCSI配置多路径

2022-11-20 Virtualization

VMware vSphere的很多高级特性都依赖于共享存储, 如vMotion, HA: High Availability, DRS: Distributed Resource Schedule等, 它们要生效都需要虚拟机的存储位于共享存储中. vSphere支持的共享存储除了自家的vSAN, 还包括: NFS, iSCSI, 光纤通道: Fibre Channel等.

iSCSI是一个标准协议, 全称为:Internet Small Computer System Interface, 它在以太网上基于TCP/IP协议来传输SCSI协议. SCSI协议是计算机上的I/O传输协议, SCSI控制器通过SCSI总线与硬盘等设备以块为单位传输数据. iSCSI服务器称为target, 客户端称为initiator. iSCSI initiator能够以纯软件实现运行在标准网络适配器上, 也可以以硬件形式实现为专用的HBA卡:(Host Bus Adaptor), 也有带有iSCSCI offload硬件支持的网卡可以来加速iSCSI协议处理.

iSCSI协议层次如图(来自: https://www.snia.org/education/what-is-iscsi):

1.png

几乎所有的企业级存储产品都支持iSCSI协议. 在WindowsLinux等操作系统上也都有成熟稳定的iSCSI实现. 在CentOS上配置iSCSI也非常简单, 有大量的文章介绍, 可以参考:

由于iSCSI存储数据是基于网络传输, 为了提升性能, 可以采用多路径: Multipathing机制来传输数据, 其中的一种实现方式是一个iSCSI session使用多个连接, 叫做MC/S: Multiple Connections per Session.

VMware vSphere支持iSCSI协议. 介绍在vSphere上配置iSCSI的文章也非常多, 可以参考:

VMware vSphereiSCSI initiator实现也支持Multipathing, 是基于端口绑定: Port Binding实现, 如图:

2.png

一般, 在vSphere上配置iSCSI时, 会建立专用的VMkernel接口和网络端口组. 但需要注意的是用于multipathing的端口组的uplink接口, 只能有一个活动上行链路, 并且没有备用上行链路. 如果虚拟交换机维度存在备用上行链路, 在iSCSI端口组上需要将该链路移动未使用的上行链路. 如图:

3.png

为了实现multipathing, 需要至少建立两个这样的VMkernel接口和网络端口组, 分别指定不同的上行链路, 然后全部添加到iSCSI software adaptor端口绑定中, 如图:

4.png

可以参考:

但是, 实际使用Port binding时是有一些注意事项的, 请参考VMware官方KB

Port binding本质上是指定使用哪个VMKernel建立iSCSI网络连接. 当多个VMKernel接口位于相同广播域时, 默认ESXi只会使用第一个接口的路由表, 当需要使用多个连接时, 需要配置Port binding.

参考链接里说, 当多个VMKernel位于不同子网时, 不需要配置Port binding, 但个人感觉, 如果想使用load balance模式去利用多条连接而不是fail over模式, 也是需要配置的. 后续有时间可以再实验一下.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK