VMware虚拟交换机配置说明和建议.docx
《VMware虚拟交换机配置说明和建议.docx》由会员分享,可在线阅读,更多相关《VMware虚拟交换机配置说明和建议.docx(18页珍藏版)》请在冰豆网上搜索。
VMware虚拟交换机配置说明和建议
VMware虚拟交换机配置说明和建议
在ESX中实施的虚拟交换机,其运行方式与现代以太网交换机的方式大致相同。
与物理交换机类似,虚拟交换机也有一个MAC:
端口转发表。
当该转发表到达并转发至一个或多个传输端口时,它将查找每个帧的目标MAC地址。
虚拟交换机提供标准的VLAN分段,且可以配置这些分段。
但是,与物理交换机不同,ESX可为这些配置信息提供虚拟以太网适配器的直接通道,作为权威的MAC过滤器更新程序。
因此,不必获得单播地址,也不必执行IGMP侦测即可获得多播组成员身份。
此外,VMwareInfrastructure强制采用单层网络拓扑,这种拓扑结构不支持多个虚拟交换机互连。
由于以太网循环不是问题,因此不需要生成树协议。
在虚拟网络配置中,深入复杂的配置包括“配置VLAN、二层安全性、通信量调整和网卡捆绑负载平衡等网络策略,以及故障切换策略”,其中涵盖了物理网卡跨网段、虚拟网络经过防火墙、网络通道冗余连接等内容。
*VLAN,它允许虚拟网络加入物理VLAN或支持QOS策略。
*二层安全性选项,它可通过控制混杂模式、更改MAC地址和伪传输来强制执行虚拟网卡在虚拟机中可执行的操作。
*通信量调整可定义平均带宽、峰值带宽以及网络流量激增大小。
可以对以上策略进行设置,从而加强通信量管理。
*网卡捆绑,它可为单个端口组或网络设置网卡捆绑策略,以便共享通信量负载或在硬件出现故障时提供故障切换。
要配置策略,从[vSwitchProperties(虚拟交换机属性)]对话框中,选择要应用策略的虚拟交换机或端口组,然后单击[Edit(编辑)]。
VIClient为以上四种策略分别提供了一个选项卡。
首先是VLAN的配置。
VLAN的优点:
可灵活地进行网络分区和配置
可提高性能
可节约成本
2.Vlan设置
VLAN可对站点或交换机端口进行逻辑分组,支持所有站点或端口都像在同一物理LAN分段上那样进行通信。
这包括实际上位于不同802.1D桥接LAN中的站点或端口。
要支持VMwareInfrastructure用户的VLAN,虚拟网络或物理网络上的某个元素必须使用802.1Q标记来标记以太网帧。
IEEE802.1Q标记可在交换机之间、甚至WAN之间扩展VLAN。
要在交换机之间扩展VLAN,中继链路必须与交换机互连。
中继端口中的帧是采用IEEE802.1Q格式封装的。
除了在源MAC地址和目标MAC地址之后额外插入4个字节以外,这些帧与普通的以太网帧非常相似。
在4字节的802.1Q标记中,前2个字节表示下面的帧是802.1Q帧,后2个字节表示VLAN标记(3位表示位的优先级、1位表示规范格式标识、最后12位表示VLANID)。
系统将保留VLANID0。
VMwareInfrastructure支持配置3种VLAN标记:
*外部交换机标记
*虚拟交换机标记
*虚拟机客户机标记
A:
外部交换机标记ExternalSwitchtagging(EST模式):
外部交换机标记的运行方式与物理网络类似。
数据包到达交换机端口时被附上标记,离开交换机端口并传输至服务器时清除标记。
通常,VLAN配置对每台物理服务器来说都是透明的。
这种方法有一个缺点,即:
如果使用基于端口的VLAN标记(这在企业VLAN部署中十分常见),那么它所支持的虚拟LAN总数将受指定ESX系统中安装的网卡数量的限制。
外部交换机标记要求像设置任何物理服务器一样设置VLAN配置。
无需在ESX主机中进行任何配置,即可使用外部交换机标记。
当端口组的VLANID设置为0或未设置任何值时,将启用外部交换机标记。
(如下图)
B:
虚拟交换机标记VirtualSwitchtagging(VST模式):
虚拟交换机标记是最常见的配置。
在此模式中,可以在虚拟交换机上为每个VLAN置备一个端口组,然后将虚拟机的虚拟适配器连接到端口组,而不是直接连接到虚拟交换机。
虚拟交换机的端口组可标记所有的出站帧并删除所有入站帧的标记。
此外,它还可以确保VLAN之间不会相互泄露帧。
ESX的虚拟交换机标记具有以下优点:
不同的VLAN帧可以复合至一个物理网卡中,因此可以将任何VLAN的所有通信量都整合到一个物理网卡中。
无需为多个VLAN配备多个网卡。
无需在虚拟机内运行客户操作系统指定的VLAN驱动程序。
由于所有的高速网卡都支持VLAN加速,因此在虚拟交换机中支持VLAN标记几乎不会影响性能。
并且,设置适当的虚拟中继模式之后,再置备其他VLAN时无需配置其他交换机。
外部交换机配置变得非常容易。
要使用虚拟交换机标记,必须创建适当的端口组,并将端口组的VLANID设置为1至4094之间的任何数字(包括1和4094)。
端口组的值,在虚拟机中必须具有唯一性。
如下图:
C:
虚拟客户机标记VirtualMachineGuesttagging(VGT模式):
我们还可以选择在虚拟机内安装802.1QVLAN中继驱动程序。
当帧传出或传入虚拟交换机时,会在虚拟机网络堆栈与外部交换机之间保留标记。
虚拟客户机标记的优点如下:
每个虚拟机的VLAN数量不受虚拟适配器数量的限制,这意味着虚拟机可以位于网络中任何数量的VLAN上。
因此,如果单个虚拟机必须位于网络中5个或更多不同的VLAN上,则必须使用此标记方法。
并且,如果物理服务器已在运行VLAN驱动程序,则可以轻松使用VMwareConverter或引导式整合功能来转换服务器,而无需重新配置现有VLAN标记。
新虚拟机将自动继承物理机的所有VLAN设置。
虚拟客户机标记的缺点如下:
并非始终可能、或始终可以轻松找到并配置客户操作系统的802.1Q驱动程序。
并且,如果没有VLAN硬件加速,则将占用额外的CPU循环来标记出站帧,并删除入站帧标记。
要配置虚拟客户机标记,请输入4095作为端口组的VLANID。
然后,可以在虚拟机内运行802.1QVLAN中继驱动程序。
VMware没有附带802.1Qvmxnet驱动程序。
对于Windows客户机,该驱动程序仅可与E1000虚拟网卡一起使用。
Linux客户机使用dot1q模块。
配置如下:
D:
对于虚拟交换机标记和虚拟客户机标记,必须将外部虚拟交换机端口配置为VLAN中继端口,并将封装中继端口设置为802.1q。
ESX不支持动态中继协议,因此请将中继端口配置为静态且无条件。
将端口设置为中继模式时,确保在ESX系统中配置的VLAN已定义,并确保虚拟中继端口支持该VLAN。
默认行为因交换机和供应商的不同而有所不同。
可能需要在物理交换机中明确定义所有与ESX一起使用的VLAN。
对于每个VLAN的定义,可以指定VLANID、名称、类型、MTU、安全性关联标识符、状态、环号码和桥接标识号等。
对于默认支持所有端口的交换机(例如,Cisco某些交换机的VLAN1至VLAN1005均支持所有端口),可能无需任何操作。
然而,要实现最佳安全实践并显著减少处理多余数据包的时间,VMware建议根据需要限制VLAN的数量。
本地VLAN用于交换机控制和管理协议。
在许多类型的交换机中,本地VLAN帧未采用任何VLANID进行标记。
在这种情况下,中继端口自动将所有未标记的帧视为本地VLAN帧。
对于大多数Cisco交换机而言,VLAN1是其默认的本地VLANID。
然而,在许多企业网络中,本地VLAN可能是VLAN1或100。
根据交换机类型和运行的配置,它可以为任何数字。
一种常见的最佳做法是,避免将本地VLAN(通常是VLAN1)用于任何常规数据通信。
VMware建议不要将任何ESX虚拟交换机端口组的VLANID与本地VLAN关联。
另外,只要避免使用VLAN端口组的本地VLAN,就无需在ESX系统中进行本地VLAN的相关配置。
如果必须将VLAN1与端口组关联,并需要它传输虚拟机网络通信量,则必须完成以下两项操作中的一项:
确保VLAN1不是物理交换机的本地VLAN。
可以将默认的本地VLAN更改为另一个VLANID。
或者,需要启用本地VLAN802.1Q标记功能。
有些交换机不支持该选项,而对于有些交换机来说,由于在默认情况下已启用本地VLAN中的标记,因此根本无需启用该选项。
当采取上述任一步骤在某一外部交换机上更改本地VLAN行为时,还可能需要更改所有相邻的交换机,使它们仍可以在本地VLAN中正常通信。
2.二层安全性控制:
在向虚拟交换机添加端口或端口组时,VIClient需要为该端口配置安全配置文件。
使用此安全配置文件,可以确保ESX阻止虚拟机的客户操作系统模拟网络中的其他计算机。
ESX已实施此安全功能,这样负责模拟的客户操作系统将不会检测到已阻止该模拟操作。
正如我们刚才在此课程中提到的那样,创建适配器时,每个虚拟网络适配器都已分配自己的MAC地址。
这一地址称为初始MAC地址。
尽管可以从客户操作系统外部重新配置初始MAC地址,但客户操作系统无法更改它。
除了初始MAC地址以外,每个适配器还有一个有效MAC地址,用于过滤掉那些MAC目标地址与有效MAC地址不符的传入数据包。
客户操作系统负责设置有效MAC地址,并通常使有效MAC地址与初始MAC地址相匹配。
发送数据包时,操作系统通常将其自有网络适配器的有效MAC地址放在以太网帧的源MAC地址字段中。
此外,它还将接收网络适配器的MAC地址放在目标MAC地址字段中。
仅当数据包中的目标MAC地址与其自有有效MAC地址相匹配时,接收适配器才会接受数据包。
虚拟机的操作系统可随时更改有效MAC地址。
如果操作系统已更改有效MAC地址,则其网络适配器可接收发往新MAC地址的网络通信量。
另外,操作系统可随时使用模拟的源MAC地址来发送帧。
这样,操作系统可通过模拟接收网络所授权的网络适配器,向网络中的设备发起恶意攻击。
可以使用ESX主机上的虚拟交换机安全配置文件,来防止操作系统更改有效MAC地址所引发的问题。
如下图:
PromiscuousMode:
混杂模式控制虚拟机是否可以查看ESX主机上其他节点的单播通信量。
默认情况下,此选项设置为[Reject(拒绝)],这意味着虚拟网络适配器在混杂模式下无法运行。
在混杂模式中,虚拟网络适配器无需执行任何接收过滤,因此客户操作系统可接收线路上观察到的所有通信量。
尽管混杂模式可以有效跟踪网络活动,但这种运行模式极不安全,因为无论某些数据包是否只能由特定的网络适配器接收,在混杂模式中所有适配器都可访问这类数据包。
这意味着虚拟机中的管理员或Root用户可以查看传输至其他客户机或主机操作系统的通信量。
尽管最常用的混杂模式应当处于关闭状态,但如果正在运行网络入侵检测软件或数据包端口扫描器,那么也可将虚拟交换机配置为在混杂模式中运行。
MACAddressChanges:
更改MAC地址会影响入站通信量。
默认情况下,MAC地址更改已设置为[Accept(接受)],这意味着ESX主机允许将有效MAC更改为除初始MAC地址以外的其他地址。
如果将此选项设置为[Reject(拒绝)],则ESX不允许将有效MAC地址更改为除初始MAC地址以外的其他地址。
相反,它将禁用虚拟适配器用来发送请求的端口。
因此,如果客户操作系统将有效MAC地址更改为与初始MAC地址不匹配的地址,虚拟适配器不会接收任何帧。
客户操作系统无法检测到MAC地址的更改尚未经过授权。
ForgedTransmits:
伪传输将影响出站通信量。
默认情况下,此选项设置为[Accept(接受)],这意味着ESX主机不会将源MAC地址与有效MAC地址进行比较。
如果将此选项设置为[Reject(拒绝)],ESX主机会将操作系统正在传输的源MAC地址与其适配器的有效MAC地址进行比较,查看它们是否匹配。
如果地址不匹配,ESX会丢弃此数据包。
客户操作系统不会检测到其虚拟网络适配器无法使用模拟的MAC地址发送数据包。
ESX主机将在任何使用模拟地址传递数据包传输之前将其截获,因此,客户操作系统可能会假设数据包已被丢弃。
3.通信量调整
ESX通过为3个出站通信量的特征建立参数的方式来调整通信量:
平均带宽、网络流量激增大小和峰值带宽。
*平均带宽可确定平均每秒允许通过虚拟交换机的比特数。
它是允许的平均负载。
*网络流量激增大小可确定网络流量激增允许的最大字节数。
如果某一网络流量激增超过网络流量激增大小参数,则超出的数据包将排成队列,等待稍后传输。
如果队列已满,则数据包将被丢弃。
指定平均带宽和网络流量激增大小的值时,应指出需要虚拟交换机在正常运行中处理哪些事项。
*峰值带宽是指虚拟交换机端口在不丢弃数据包的情况下的最大带宽。
如果通信量超出指定的峰值带宽,则超出部分的数据包将排成队列,等到稍后连接中的通信量恢复至平均值、且系统可以提供足够的空闲循环来处理队列的数据包,然后才可进行传输。
如果队列已满,则数据包将被丢弃。
即使因连接闲置而拥有备用带宽,峰值带宽参数也会限制传输量不得超过峰值,直到通信量恢复到允许的平均负载水平为止。
可以通过VIClient设置这些参数的值,为每个端口组制定通信量调整策略。
默认情况下,网络通信量调整处于关闭状态。
即:
每个虚拟机最多可传输其客户操作系统(遵循虚拟交换机连接的物理接口限制)能生成的所有出站通信量。
受这些控制限制的虚拟机可能会超出其平均带宽,并接近峰值带宽,但只能传输由其网络流量激增大小定义的数据量。
可在虚拟交换机级别或端口组级别中定义通信量调整,但ESX将根据每个虚拟网卡应用通信量调整。
例如,如果将某个端口组的平均带宽设置为1000KB/秒,则任何与该端口组相连的虚拟网卡可使用的平均带宽为1000KB/秒。
ESX也可以将通信量调整策略应用于虚拟交换机上的每个虚拟网卡。
例如,如果将某个端口组中的峰值带宽定义为10,240KB/秒,意味着每个虚拟网卡的峰值带宽将以每秒10,240KB的速度映射到该端口组。
如果有4个虚拟网卡映射到该端口组,则端口组的总峰值带宽为40,960KB/秒。
通信量调整策略仅调整出站网络通信量。
要控制入站通信量,请打开路由器中的速率限制功能,或使用网卡捆绑策略中定义的负载平衡系统。
4.NetworkTeaming
使用网卡捆绑,可以将单个虚拟交换机与多个物理以太网适配器相连。
通过捆绑,可在部分或所有成员中共享物理网络和虚拟网络之间的通信量负载,并在出现硬件故障或网络停用的情况下提供被动故障切换功能。
网卡捆绑要求同一组中的所有物理交换机端口都位于同一个二层广播域中。
使用LoadBalancing负载平衡,可以将虚拟交换机中虚拟机的网络通信量分配至一个或多个物理以太网适配器,并提供比单个物理适配器更高的吞吐量。
当每个IP数据包离开其虚拟网卡时,VMkernel必须决定哪个上行端口(即物理网卡)将该数据包运载到外部环境中。
使用VIClient设置网卡捆绑策略时,可以从4种路由方式中任选一种:
•当选择[RoutebasedontheoriginatingvirtualportID(基于起始虚拟端口ID的路由)]时,VMkernel将根据通信量进入虚拟机时所使用的虚拟端口来选择上行端口。
•当选择[RoutebasedonsourceMAChost(基于源MAC主机的路由)]时,VMkernel将根据源以太网的哈希选择上行端口。
在上述两种情况下,负载平衡都是以每个虚拟网卡为基础。
即:
除非在网卡捆绑中发生向其他适配器转移故障的情况,否则给定的虚拟以太网适配器的通信量将持续发送到同一物理适配器中。
同样,由于物理交换机获得了端口关联,因此答复将由同一物理适配器接收。
如果虚拟以太网适配器的数量超过物理适配器的数量,这两个选项将平均分配通信量。
如下图示:
当选择[RoutebasedonIPhash(基于IP哈希的路由)]时,VMkernel将通过分析每个数据包的源IP地址和目标IP地址的哈希来分配负载。
对于非IP数据包,无论何种偏移量,都用来计算哈希。
这种方法可以在物理网卡中更好地分配通信量,但也有一些不足之处:
•由于VMkernel必须检查路由信息的帧,因此CPU开销可能会略有增加。
•它需要链路聚合功能的支持。
•由于系统不支持PAgP或LACP协商,因此必须将物理交换机的链路聚合配置为静态且无条件。
由于许多交换机不允许将端口的链路聚合分配至多个物理交换机,因此,不可选择在多个物理交换机上进行网卡捆绑。
如下图示:
最后一个选项是[Useexplicitfailoverorder(使用显示故障切换顺序)],实际上就是不指定负载平衡。
在此情况下,VMkernel总是从传输故障切换检测标准的活动适配器列表中选择最高顺序的上行端口。
NetworkFailoverDetection:
故障切换配置指定在适配器发生故障的情况下如何检测并重新路由通信量
网络故障切换检测可确定VMkernel如何检测网络故障切换。
它提供了两种选项:
*[LinkStatusonly(仅链路状态)],该选项完全依赖于网络适配器提供的链路状态。
此方法可检测各种故障(例如,电缆线和物理交换机电源故障),但无法检测配置错误(例如,物理交换机端口被生成树冻结,或者被错误配置到错误的VLAN或物理交换机另一端的电缆线中)。
*[BeaconProbing(信标探查)],它可发出和侦听物理适配器发送的以太网广播帧,从而检测上游网络连接故障。
除了使用链路状态信息以外,VMkernel还可使用此信息来确定链路故障。
此方法可检测许多链路状态单独无法检测到的故障,但信标探查不能替代功能强大的冗余二层网络设计。
信标探查最适合检测距离ESX主机最近的交换机中的故障,其中的故障不会导致主机发生链路关闭事件。
使用[NotifySwitches(通知交换机)]策略设置,可确定ESX如何在发生故障的情况下与物理交换机通信。
如果选择[Yes(是)],则无论何时,只要虚拟以太网适配器连接到虚拟交换机、或者只要该虚拟以太网适配器的通信量因故障切换事件而通过分组中另一不同的物理以太网适配器进行路由,系统就会通过网络发出通知,要求更新物理交换机中的查找表。
几乎在所有情况下,这一选项可以将出现故障切换时产生的延迟减少到最低程度。
注意:
如果在单播模式中使用Microsoft网络负载平衡,请勿将[NotifySwitches(通知交换机)]设置为[Yes(是)]。
但是,如果在VMware强烈推荐的多播模式中使用网络负载平衡,则可将此选项设置为[Yes(是)]。
[RollingFailover(滚动故障切换)]可确定从故障中恢复后如何将物理适配器返回至活动任务中。
如果滚动设置为[No(否)],则一旦恢复,系统立即将适配器返回至活动任务中,并替换接管其插槽的备用适配器。
如果滚动设置为[Yes(是)],则即使在恢复之后,发生故障的适配器仍处于不活动状态,直到当前活动的适配器发生故障并请求其替换为止。
故障切换顺序可确定VMkernel如何分配适配器的工作负载。
如果需要使用部分适配器,并保留其他适配器,以便应对正在运行的适配器发生故障等紧急事件,则可使用下拉菜单设置此条件,以便将它们放在组中:
*当网络适配器连接处于开启和活动状态时,VMkernel可使用[ActiveAdapters(活动适配器)]中列出的适配器。
*如果某一活动适配器的连接断开,VMkernel可使用[StandbyAdapters(备用适配器)]中的适配器。
*VMkernel不使用[UnusedAdapters(未用适配器)]中的适配器。
记住:
每个端口组都可拥有自己的策略设置,因此可以为每个端口组指定不同的活动、备用适配器和未用适配器。
在此示例中,适配器A和B已设置为蓝色端口组的活动适配器,仅当A或B发生故障时,才可使用其他处于备用状态的适配器。
对于绿色端口组,C和D是活动适配器;而对于橙色端口组,E和F是活动适配器。
交替使用不同端口组中的活动适配器、备用适配器和未用适配器,可平衡网卡捆绑中适配器的使用情况。
网络最佳实践
要获得更高安全性和更佳性能,其指导原则是:
将网络服务彼此分开。
如果需要某一组特定虚拟机以最高性能运行,请将它放到单独的物理网卡中。
分开后,整个网络工作负荷的一部分可以在多个CPU之间更均匀地加以分配。
例如,独立的虚拟机可从Web客户端中传输更多通信量。
将服务控制台放在其自己的网络中,这是确保ESX3.x系统安全的一个重要部分。
请考虑使用与服务器中的任何远程访问设备相同的指示灯来设置服务控制台网络连接。
通过访问服务控制台,攻击者可以完全控制系统中运行的所有虚拟机。
由于使用VMotion进行迁移时,客户操作系统的内存内容将通过网络进行传输,因此请将VMotion连接放在专用的单独网络中,这一点至关重要。
若要采用物理方式分开网络服务、并将一组特定的网卡指定给特定的网络服务,最简单的方法是为每个服务创建一个虚拟交换机。
如果无法创建,则可将它们连接到具有不同VLANID的端口组,使它们在单个虚拟交换机上彼此分开。
无论何种情况,请与网络管理员确认所选择的网络或VLAN与其他环境无关,即:
无任何路由器与它们相连。
使用在分组策略中采用不同设置的活动适配器的端口组,可将虚拟机分到各个组。
只要所有适配器都处于开启状态,各组仍可使用单独的适配器,但如果网络或硬件发生故障,它们将恢复到共享状态。
最后,请在带有指向物理网络的上行端口的虚拟网络与不带有上行端口的纯虚拟网络之间部署防火墙,以保护最敏感的虚拟机。