在公司待了有5个月之久了吧,线上的一些服务器也都在我的管理之下。通过亲手搭建的nagios监控平台来监控我们的所以主机发现:我们在机房托管的一台物理机上的虚拟机时常出现网络不稳定的情况。为此,我不少麻烦机房的人员帮忙查询网络方面的问题,最后都是虚拟机在自己稳定之后不了了之。今天突然想起一个问题,那就是我们的所有的虚拟机,虽然是独立运行的,但是他们的虚拟网络与外界所要进行的交互流量(即网络流量)都是通过一个出口(即同一个物理网卡)进出的,所以这个问题很明显就有了解决思路:

  当我们的所有的虚拟机在业务量不大的时候,产生的网络流量能够是物理网络承受的了,所以表现出来的状态是正常的;但当某个虚拟机或者某几个虚拟机的业务量上升时,他们所产生的网络流量就会达到物理网卡所能承受的峰值,从而造成整个物理网卡的网络拥堵,在这种情况下,就会造成另外的一台多几台虚拟机出现网络不稳定的情况,包括ping虚拟机ip时会有网络丢包、延迟等,从而造成nagios服务器无法获取该虚拟机的数据,从而造成误报警...

  解决该问题的思路提供如下: 

   1、首先检测物理机物理网卡的最大网络流量值

   2、通过流量控制策略对虚拟机各个虚拟网卡的流量进行限制,避免单个虚拟网卡产生的流量过高造成网络阻塞,从而影响其他虚拟机的正常业务。


当然,这个也不是一个根本的解决方案,因为限制了网卡的流量就是等于当业务请求到达服务器之前排队的现象。所以,解决这个问题还应该从硬件层面来解决:添置千兆级网卡

                                                    尽量避免单个物理机上虚拟机的多数量