本节书摘来华章计算机《vSphere性能设计:性能密集场景下CPU、内存、存储及网络的最佳设计实践》一书中的第1章 ,第1.2.3节,[美] 克里斯托弗·库塞克(Christopher Kusek) 著 吕南德特·施皮斯(Rynardt Spies)姚海鹏 刘韵洁 译, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1.2.3 网络
对于建立网络基准,特别重要的一点是了解你的局限性。首先要建立一个坚固的基础,条件允许下利用VLAN中继(802.1q)和静态链路聚集(802.3ad)可以使网络架构更加虚拟、更加可靠。
无论是从头开始构建网络基础设施,还是再利用现有的设备,我们总要强调了解局限的重要性。如果你的应用是对延迟敏感的,增加再多的虚拟网卡也可能无法解决问题,就如同在同一集群和虚拟交换机上同时放置多个相互通信的服务器。网络往往能造就一个架构,也会由于错误的配置而破坏一个架构。你要了解VMware vSphere集群的总能力,包括最低的共同标准。如果你发现大部分工作负荷都仅使用小于1Mb,更不用说完整的1 Gb链路了,那么你就可以很容易地建立“1Gb链接”的网络基准。
通常情况下,如果排除了故障或了解了问题的所在,网络问题可以忽略。作者Christopher Kusek回忆说,他曾经使用一个VMware集群进行快速备份,但是有几个备份大型数据的虚拟机运行较慢。客户要求提供额外的备份服务器来分担负载以便运行更快。结果表明,与备份服务器放置在同一位置的虚拟机可以备份得“超级快”,因为它们用相同的虚拟交换机操作,并且传输能达到10 Gb,但其他虚拟机在集群另外的节点上,不得不以 1 Gb链路传输。
当进行VMware中的网络设计时,网络会受限于它的最低链接。例如,如果配置错误,你最终可能使用了一个1Gb或更低的管理网络接口,或者使用了一个上行交换机的网络配置。但是如果按照一定的标准规则去设计,则可以避免出现这些网络问题。
网络设计与CPU和内存设计的决策有很大的不同,通常CPU和内存设计决定从一个可用计算能力“池”中为某个应用程序分配多少MHz或者MB。网络设计仅仅决定要给一个应用程序分配多少接口。除非应用程序需要接入到有不同路由和VLAN的多个网络,否则通常只需要一个接口。
也就是说,如图1-4所示,内存和CPU负载的峰值时刻可以超过100%,而网络则会有一个上限,当虚拟机中的网络达到平衡时,网络会减慢或者直接丢弃包。简单地在虚拟机中提供更多网卡不会解决这个问题,尤其当这是一个受ESXi主机约束的网络时。
这个特殊的文件服务器一直承担着相当大的网络压力。当ESXi主机系统上引入了额外的网络链接时,虚拟机不仅能减轻一些压力,而且还有现实的影响。在高峰时段,最终用户的网络带宽将下降到不足1KB/S,提供额外链路后即使在与原来相同的峰值压力下,性能会飙升到MB/s的传输速度,如图1-5所示。
网络将继续是一个挑战,与受限于设计决策相比,网络更受限于物理架构。我们能做的就是充分利用现有条件,并确定哪些最有利于你的应用程序。在第6章中,我们会讲述如何更好地利用现有条件以及如何考虑虚拟机的参考地点来确定情景。相比仅仅添置更多的硬件,虚拟机托管会给你提供更好的服务。