在日常VMware运维或者架构设置部署时,vSwitch(虚拟交换机)的链路聚合Teaming和Failover配置是确保网络冗余和性能的关键部分。什么是vSwitch Teaming?其实就是给vSwitch配置超过2个物理网口,然后配置一些冗余和failover的规则。
配置vSwitch很简单,通过vCenter的UI界面就可以很容易地配置,但有时通过命令行工具可以更灵活、更高效地管理这些配置,尤其是在处理大量ESXi主机时。我们这一期来聊聊配置虚拟交换机的链路聚合和一些使用的配置命令。
怎么设置虚拟交换机Teaming链路聚合(vCenter图形界面模式)
首先去到vCenter, 选中需要配置的ESXi主机,网络-虚拟交换机-然后选中vSwitch, 如下图我们选中vSwitch1
点击EDIT编辑虚拟交换机,可以看到vSwitch1配置了两个上行端口uplink,分别是vmnic1和vmnic5。
vmnic1是Active Uplink(活动链路),而vmnic5是Standby Uplink(备用链路)
虚拟交换机vSwitch物理网卡vmnic Active, Standby和Unused的区别
在VMware的vSwitch设置中,将vmnic
(物理网卡)配置为Active、Standby或Unused,它们的区别如下:
- Active(活动链路):
这是主要使用的物理网卡。网络流量会优先通过这些网卡传输。如果你有多个vmnic
作为Active链路,流量会在它们之间负载均衡。 - Standby(备用链路):
备用网卡只会在活动链路出现故障时启用。当Active链路失效时,流量自动切换到Standby链路,以确保网络不中断。 - Unused(未使用链路):
这些网卡既不会主动传输流量,也不会作为故障转移的备用网卡。它们处于闲置状态,不参与任何网络活动。
通过合理配置Active
和Standby
链路,可以实现网络冗余和更好的性能。
怎么通过命令行查看和配置vSwitch Teaming(虚拟交换机链路聚合)
如何通过命令查看当前vSwitch的Teaming和Failover设置
首先,使用esxcli
命令查看指定vSwitch的当前Teaming和Failover策略。
esxcli network vswitch standard policy failover get -v vSwitch0
此命令将显示vSwitch0的当前故障转移(Failover)策略,包括活动(Active)、备用(Standby)、未使用(Unused)的上行链路(Uplink)配置。
如果通过命令设置vSwitch的Teaming和Failover策略
如果需要更改vSwitch的Teaming和Failover配置,您可以使用以下命令将某个物理网卡设为活动链路。
esxcli network vswitch standard policy failover set -v vSwitch0 -a vmnic0
此命令将vmnic0
配置为vSwitch0的活动链路(Active Uplink)。您也可以通过添加-s
参数来设置备用链路,或者使用-u
参数指定未使用链路。
如果通过命令添加新的Uplink到vSwitch
在有多个物理网卡的主机上,可能需要将其他网卡vmnic添加到vSwitch中。可以通过以下命令添加新的上行链路:
esxcli network vswitch standard uplink add -v vSwitch0 -u vmnic1
此命令会将vmnic1
添加为vSwitch0的上行链路(Uplink)。添加成功后,您可以通过上面的get
命令查看配置是否生效。
总结一下
通过esxcli network vswitch standard
命令,可以方便地管理vSwitch的Teaming和Failover设置。无论是查看当前的链路配置,还是根据需求修改链路的优先级和状态,命令行都提供了快速而灵活的管理方式。
这些命令在大规模管理ESXi主机时,尤其是在自动化脚本中非常有用,希望这篇文章对您理解和操作vSwitch的Teaming和Failover配置有所帮助,如有任何问题,欢迎与我们沟通交流!
最后附上esxcli network vswitch standard policy failover set的一些选项
Usage: esxcli network vswitch standard policy failover set [cmd options]
Description:
set Configure the Failover policy for a virtual switch.
Cmd options:
-a|--active-uplinks=<str>
Configure the list of active adapters and their failover order. This list must be a comma seperated list of values with the uplink name and no spaces. Example: --active-
uplinks=vmnic0,vmnic3,vmnic7,vmnic1
-b|--failback=<bool> Configure whether a NIC will be used immediately when it comes back in service after a failover
-f|--failure-detection=<str>
Set the method of determining how a network outage is detected.
beacon: Detect failures based on active beaconing to the vswitch
link: Detect failures based on the NIC link state
-l|--load-balancing=<str>
Set the load balancing policy for this policy. This can be one of the following options:
explicit: Always use the highest order uplink from the list of active adapters which pass failover criteria.
iphash: Route based on hashing the src and destination IP addresses
mac: Route based on the MAC address of the packet source.
portid: Route based on the originating virtual port ID.
-n|--notify-switches=<bool>
Indicate whether to send a notification to physical switches on failover
-s|--standby-uplinks=<str>
Configure the list of standby adapters and their failover order. This list must be a comma seperated list of values with the uplink name and no spaces. Example: --standby-
uplinks=vmnic2,vmnic4,vmnic8,vmnic6,vmnic11
-v|--vswitch-name=<str>
The name of the virtual switch to use when configuring the switch failover policy. (required)