网络通信 频道

如何最大化的利用I/O虚拟化?

  I/O虚拟化使IT行业最大限度地受益于服务器虚拟化、流线供应(streamlining provision),而且减少了网络接口卡(NIC)和使用端口的数目。在本文中,TechTarget特约专家Scott Lowe将进一步讲述如何操作虚拟NIC以及一些其它过程。

  利用虚拟I/O

  要有效地策划I/O虚拟化,需要以多种思维方式对虚拟化进行周全的考虑。这在很大程度上与哲学中的“转向”相类似,企业在初次实行服务器虚拟化时需要以不同的思维方式进行周密考虑。通过集中处理闲置资源,创造性地充分利用资源。

  刚开始接触服务器虚拟化的企业和用户必须接受任务整合(workloads consolidating)的观念。通过将多个任务整合到一台物理服务器,可以让各个任务共享物理资源。同样,关于I/O资源供应,调查I/O虚拟化的企业和用户也一定要抛弃以前的老思维方式。

  在进一步论述之前,有必要先解释一下某些术语。

  虚拟网络接口卡(vNIC)表示虚拟主机的虚拟NIC。每个vNIC会映射一个或一组物理网络端口。多个vNIC也可能映射同一个或同一组物理网络端口。同样,虚拟主机总线适配器(vHBA)是指虚拟主机的虚拟HBA。这些vHBA映射到物理光纤端口。和vNIC一样,多个vHBA也可能映射到同一个或同一组物理端口。

  在许多使用服务器虚拟化的数据中心,服务器有6个或8个或更多个NIC。为什么要用这么多NIC呢?典型的VI3部署中,NIC的配置可能是这样的:

  服务控制台2个NIC (为了提供冗余)

  VMotion网络2个NIC (再次提供冗余)

  虚拟机2个NIC

  这是一种很常见的配置。不过这些NIC都是必要的吗?其实不然。在正常操作的过程中它们可能永远不会用到,只是为了提高服务冗余性。多余的服务控制台NIC,尤其是VMotion NIC,很可能在数据中心服务器的整个生命过程都用不上。

  熟悉服务器虚拟化但是不懂I/O虚拟化的用户会开始创建vNIC,然后将其连接到物理网络端口,正如他们在传统的虚拟主机上创建和配置网络端口一样。一个ESX服务控制台到底需要多少通信量呢?两个千兆以太网连接到底可以运行多少个服务控制台呢?

  如果一个典型的ESX服务控制台会产生50Mbps的通信量,那么公司可以轻松地将10个服务控制台整合到一个千兆以太网连接上,而且还有大量空余带宽。正如服务器虚拟化跨多台物理服务器整合未充分利用的工作负荷那样,I/O虚拟化跨多台服务器整合未充分利用的I/O连接。

  执行I/O虚拟化

  首先,我们看一个具体的例子。尽管这个例子的重点在于Xsigo VP780 I/O Director和VMware Infrastructure 3(VI3)的使用,但它的原理应该是和其它I/O虚拟化解决方案和服务器虚拟化解决方案相类似的。

  有一个数据中心,它有10台ESX主机与VP780 I/O Director相连接。如果没有I/O Director,将大概需要配置60个千兆以太网端口(每台ESX主机6个)。但是如果有I/O Director,我们需要配置多少个呢?

  我们假设平均每台ESX主机的服务控制台连接会产生60Mbps的通信量。这就意味着我们可以把所有10个服务控制台连接都整合到一个千兆以太网端口,总共是600Mbps。为了保险起见,我们再添加一个千兆以太网端口,让它们共同分担这些通信量。这样,每个物理端口就大约负担300Mbps。

  每台ESX服务器定义2个vNIC,vNIC1和vNIC2。每个vNIC对应一个VP780机柜上的千兆以太网端口,而且2个vNIC都分别作为vSwitch0的上链(uplink)。vSwitch寄宿ESX服务控制台连接。一半的ESX服务器都将使用vNIC1作为它们vSwitch主要的uplink,而另一半则使用vNIC2。这样的配置满足了性能要求,提高了服务冗余,而且还减少了90%的端口总数——从20个降到仅仅2个。

  VMotion的网络连接都是以同样的方式处理的。不过,这次必须还得考虑另外一个因素。服务控制台通信主要是从服务控制台导向网络中的其它服务器的,而VMotion通信几乎是完全局限于ESX服务器的。这就意味着我们可以充分利用“inter-vNIC switching”的特点。同一I/O卡和同一VLAN(虚拟局域网)的两个vNIC之间的通信是在VP780机柜内部转换的,不会跑到网络中去。这就意味着我们需要的千兆以太网连接更少了。如果75%的VMotion通信都是在连接到I/O Director的主机之间进行的,那么我们立刻就可以将所需网络连接数从20(10台服务器,每台2个连接)减少到5——而且,这还没考虑VMotion通信频率。

  要执行这一步,可以为每台服务器创建2个vNIC,vNIC3和vNIC4。这些vNIC将连接在5个物理Gigabit Ethernet端口之间,作为vSwitch1的uplink(上链)。其中,vSwitch寄宿VMotion的VMkernel端口。由于vNIC的终端在同一I/O卡上,而且是在同一VLAN(虚拟局域网),inter-vNIC switching会自动阻止大多数通信进入Gigabit Ethernet uplink。

  虚拟机上链

  到目前为止,我们已经将端口数从40个(服务控制台20个,VMotion20个)减少到只有7个,降低了大约82%。

  有了虚拟机上链,即使我们假设利用率为50%(50%已经是一个非常高的利用率了),我们也可以将端口数从20减少到10个,而且仍然很充足。要减少端口数,可以为每台ESX服务器创建两个vNIC,为连接到同一Gigabit Ethernet端口的两个不同服务器创建vNIC。

  总的来说,只要理解了ESX服务器的I/O要求和I/O任务整合,我们就有能力将总端口数从60减少到仅仅17个,总缩减量约为72%。

  我们可以看到,在你的环境下高效利用I/O虚拟化的关键是了解服务器的I/O要求,并慎重考虑如何进行I/O任务整合。通过以不同思维方式对I/O资源进行考虑,企业可以提高I/O资源利用效率、减低I/O资源成本,正如利用服务器虚拟化一样。

0
相关文章