怎样增加VM可用带宽


拟化的浪潮特别是现在,越发的明显。服务器虚拟化不是一个新名词,上个世纪60年代就已经出现,那时服务器只能执行简单的任务,服务器的数量增长很快,但是利用率却非常低,导致资源的浪费。虚拟化就是为了实现一种更加经济有效利用服务器的办法。但是随着VM密度的增加,虽然每个VM的硬件成本逐渐下降,但是网络带宽变的不够用,网络堵塞在虚拟世界中。
但是我们可以通过某些手段增加提供给VM的可用带宽。
增加网络端口
最简单的办法是在服务器上加装网卡,一般情况下,服务器出厂时只在主板上集成了一或两个集成网卡接口,另外就是扩展槽,我们可以通过扩展槽增加网络端口数量,但需要注意的是,应该尽量选择多端口的网卡,如有些PCI-X和PCI Express网卡带有4个独立的端口。
另一种办法是使用外接网卡,如USB网卡。但对于服务器而言,我们是不推荐使用USB网卡的,特别是有些虚拟化平台还不支持将USB设备暴露给VM,即便如此,有时候还是可以派上用场的。
不管怎么分配网络端口,最好为管理通信预留一个端口,不能将所有网络端口全部分配给VM,VM和宿主服务器之间必须留出一个管理通道,如果你的虚拟化软件支持将USB网卡暴露给VM,你可以预留一个USB网卡用于VM和宿主服务器之间通信。
尽管可以在多个VM之间共享一块网卡,问题是单块网卡提供的带宽是有限的,绑定到该网卡的所有VM共同使用带宽。如果可能,你应该尽可能使用更快速的网卡,如使用10Gb以太网卡,一块可以顶几块千兆网卡。
使用虚拟网络
如果不能增加物理网卡,还有一个办法,那就是尽可能减少VM对网络带宽的需求。
实现这个目标的办法之一是创建虚拟网络,虚拟网络完全存在于宿主服务器内部,如果你使用Microsoft Hyper-V或VMware,默认至少创建了一个虚拟网络,VM使用的每个物理网卡连接到虚拟交换机,虚拟交换机按顺序连接到每个VM的虚拟网卡。
虚拟网络为VM提供到物理网络的连接,但它不能访问物理网络,这样我们就可以借助虚拟网络的作用卸载一部分原先要使用物理网络的通信,从而减少物理网络带宽需求。例如,假设你有一个虚拟化的Web服务器,后端SQL Server数据库运行在另一个虚拟机上,在Web服务器和数据库服务器之间创建一个虚拟网络,这样数据库查询就不会经过物理网络端口,便间接地增加了VM的可用带宽。
根据VM需要分配网络端口
创建虚拟网络可以将大量网络通信转移到虚拟网络中,如果这也不能实现,还有最后一招,根据VM对网络的需求分配网络端口。当然,在创建了虚拟网络的情况下,也可以这么做。
不是每个VM对网络带宽的需求都一样,给每个VM分配一个网络端口也不现实,因此分析每个VM的网络需求,合理合并低带宽需求的VM共享一个网络端口,为高带宽要求的VM指定专用端口成为最理想的办法。例如,假设你有一个SQL Server服务器,你应该为它分配一个独享的网络端口,相反,对于域控制器和DHCP服务器,它们需要的带宽不多,可以共享一个端口。
总之,网络可用带宽会限制宿主服务器上的VM密度,但也有许多方法可以增加分配给VM的网络带宽,在朝最大化VM密度前进的路上,我们会看到越来越多的解决办法出现。

相关内容

    暂无相关文章