首页 > 服务器 > Web服务器 > 正文

优化虚拟环境 避免关键资源过度分配

2024-09-01 13:43:51
字体:
来源:转载
供稿:网友
随着业务逐渐向下一代虚拟化技术过渡,系统整合率持续提升,对虚拟化环境的管理也愈加重要。新增加的虚拟机(VM)将给服务器资源分配带来压力,并可能成为影响网络性能的潜在风险。 

  解决资源紧张的方案正不断完善。首先,硬件商们正不断提高物理主机所能支持的内存容量。与之相应,虚拟机软件产商们不断更新产品,使其能够管理更多内存。 

  不仅如此,随着越来越多的企业投入桌面虚拟化的怀抱,他们发现每台物理服务器上能够运行更多的虚拟机,因为虚拟桌面相对于虚拟服务器,所需内存会更少。内存一直都是提升系统整合率所需面对的最大限制因素。现在,内存问题已经基本解决,关注的焦点也逐渐转向其他可能产生性能瓶颈的领域--由网络流量产生的IOPS。 

  虚拟机优化 

  虚拟化环境管理的关键在于--确保网络层配置不会产生不必要的竞争,这也是所有虚拟化产商的建议,在任何情况下,应该避免关键资源被过度分配。 

  若将两台对网络性能要求极高的虚拟机部署在同一宿主服务器上,共享相同网卡,结果不言而喻。这将导致它们争夺网络资源,同理,CPU与内存同样也可能产生类似的竞争。 

  但是在某些环境下,这种配置是可以接受的。如两台虚拟机间经常通信并传输大量数据,这种情况下将两者部署在同一宿主上是可行的。 

  当两台虚拟机通过宿主上同一虚拟交换机(vSwitch)进行数据交互时,不会在物理数据层产生流量。所有网络通信都在宿主机内产生。 

  这种情况下,不用当心物理网卡的速率瓶颈,而要考虑宿主服务器的CPU与总线速度。可参考前端Web与后端数据库服务器之间数据传输这样的典型例子。 

  你会发现,此种“避免连接”的简单方法适用于很多场景,但真正的网络优化要求管理员对所有虚拟机之间关系有充分的理解。大部分虚拟化管理软件允许通过设置密切(affinity)与非密切(anti-affinity)规则来阐述服务器间的关系。(见图 1) 

优化虚拟环境 避免关键资源过度分配

  可创建规则约束说明虚拟机间关系,例如数据库与Web服务器必须位于同台宿主机,而运行微软活动目录的虚拟机必须部署在不同宿主上。这将带来足够的应用扩展性与可用性,大部分厂家也建议采用向外扩展--而不是向上扩展技术来确保可用性与可扩展性。 

  虚拟网络可用性优化的下一步是配置虚拟机中的操作系统。许多虚拟化提供商都提供优化过的网卡驱动以提升虚拟机网络性能。 

  举例来说,VMware拥有vmxnet2与vmxnet3驱动集,Microsoft Hyper-V则拥有一系列集成网络设备(见图 2)。要能使用这些设备,需要安装虚拟化产品所提供的相关集成插件。 

优化虚拟环境 避免关键资源过度分配

  增强型网卡驱动可减少宿主服务器将网络数据包从虚拟环境传输至物理环境时所需的CPU轮询次数。若没有安装,可能会影响宿主机的网络性能并增加CPU开销。 

  这些驱动为客户系统提供了独立的半虚拟化特性,使虚拟机比未安装驱动前更容易为虚拟化感知(VM-aware)。半虚拟化是一种理念尝试,让系统的任何部分都更适应虚拟化环境。 

  不仅如此,这些驱动通常还提供一些高级的网络增强功能特性。如果你想调整系统的最大传输单元(MTU)大小,那么就必须安装增强网络驱动与相关工具。 

  记住:就其本身而言,虚拟化不会提高服务器性能。如果虚拟机能胜过物理服务器,那很大程度上是因为运行虚拟机的宿主服务器在各方面性能上都远超过那台物理服务器,这需要依赖强大的外部力量才能实现,如使用更快的物理服务器,给虚拟机分配更多的资源,升级放置虚拟机文件的存储系统等。 

  关于Windows或Linux等物理服务器的优化方法在虚拟化环境下仍然适用。所以如果你知道如何修改Windows注册表来优化TCP/IP性能,同样能将其运用在虚拟环境中。如配置防火墙与禁用不必要服务等设置优化,可以节约网络带宽,降低应用系统负载,这些在虚拟化世界中一样行得通。 
作者:Mike Laverick 译者:陈德文
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表