VMware vSphere环境iSCSI配置多路径
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.
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):
几乎所有的企业级存储产品都支持iSCSI
协议. 在Windows
和Linux
等操作系统上也都有成熟稳定的iSCSI
实现. 在CentOS
上配置iSCSI
也非常简单, 有大量的文章介绍, 可以参考:
由于iSCSI
存储数据是基于网络传输, 为了提升性能, 可以采用多路径: Multipathing
机制来传输数据, 其中的一种实现方式是一个iSCSI session
使用多个连接, 叫做MC/S: Multiple Connections per Session
.
VMware vSphere
支持iSCSI
协议. 介绍在vSphere
上配置iSCSI
的文章也非常多, 可以参考:
VMware vSphere
的iSCSI initiator
实现也支持Multipathing
, 是基于端口绑定: Port Binding
实现, 如图:
一般, 在vSphere
上配置iSCSI
时, 会建立专用的VMkernel
接口和网络端口组. 但需要注意的是用于multipathing
的端口组的uplink
接口, 只能有一个活动上行链路
, 并且没有备用上行链路
. 如果虚拟交换机维度存在备用上行链路
, 在iSCSI
端口组上需要将该链路移动未使用的上行链路
. 如图:
为了实现multipathing
, 需要至少建立两个这样的VMkernel
接口和网络端口组, 分别指定不同的上行链路, 然后全部添加到iSCSI software adaptor
的端口绑定
中, 如图:
可以参考:
但是, 实际使用Port binding
时是有一些注意事项的, 请参考VMware
官方KB
Port binding
本质上是指定使用哪个VMKernel
建立iSCSI
网络连接. 当多个VMKernel
接口位于相同广播域时, 默认ESXi
只会使用第一个接口的路由表, 当需要使用多个连接时, 需要配置Port binding
.
参考链接里说, 当多个VMKernel
位于不同子网时, 不需要配置Port binding
, 但个人感觉, 如果想使用load balance
模式去利用多条连接而不是fail over
模式, 也是需要配置的. 后续有时间可以再实验一下.
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK