深度分析CISCO数据中心虚拟化之VN-Link技术和配置

一、虚拟化遇到的问题:

随着数据中心虚拟化技术的发展,虚拟化技术已经成为服务器发展的趋势,但是,在此项技术的进一步广泛采用的同时,也遇到了很多的问题:1)无法在VM级别进行保护和执行策略,也无法使策略随VM移动;2)无法查看VM,使记帐和故障排除变得十分复杂;3)虚拟化环境给公司组织结构带来了挑战。

二、解决方案:

为了解决上面提到的这些难题,Cisco VN-Link技术便可以解决上述问题。它桥接了服务器、存储和网络管理域,以便将一个环境中的变化告知其他环境。同时VMware携手Cisco也发布一系列产品来提升Virtual Networking,VMware推出了DVS(Distributed Virtual Switch)。
CISCO VN-Link( Virtual Network Link):它是基于DVS框架实现的,在开启vn-link功能的CISCO交换机和虚拟机的虚拟网卡(vnic)之间创建一条逻辑链路。这个逻辑的映射关系等价于用一条实际线路相连。
CISCO实现VN-Link包含了两个方案:
(1)以CICSO DVS为框架完全运行在管理层的软件方案:Cisco Nexus 1000V Series,这个是用软件实现。
(2)另一个是基于NIV(Network Interface Virtualization)的解决方案,这个方案是用硬件实现。

1. Cisco Nexus 1000V的方案:

Cisco Nexus 1000v 是基于VMware DVS框架,VMware也允许第三方产商使用vNetwork switch API接口,Cisco Nexus 1000V就是一款使用第三方DVS框架并且和vmware虚拟框架融为一体的方案。
Nexus1000V由以下两部分组成:
(1)Virtual Ethernet module (VEM)-data plane(数据面):它是一个用来替换原本运行在主机上的Virtual Switch,它不仅提供交换功能给链接在它上面的虚拟机,而且支持高级网络和安全功能。但和Virtual Switch不同的是,每台虚拟机只能运行一个VEM模块。
(2)Virtual supervisor module (VSM)-control plane(控制面):它作为一个独立的,外置的物理器件(Appliance)或者虚拟器件(Virtual Appliance)负责所有VEM的配置,管理,观察和诊断工作,但不从事网络包的转发工作,而且VSM也能整合进Virtual Center。一个单独的VSM能管理最多64台VEM,还有VSM支持active-standby的高可用性模式。
CISCO 1000V分离了交换机的数据功能和控制功能,首先数据功能不是由主机上的Virtual Switch来处理,而是由安装在主机上的思科的VEM(Virtual Ethernet Module)模块来管理,而控制功能则被集中起来,可以是安装在一个特制的虚拟机内(Cisco Nexus 1000v使用这种做法),在Virtual Center内或者是内嵌在一个特制的物理机上(Cisco Nexus 1010)。
1000v 配置如下:

    1. (config)# port-profile webservers   //创建profile
    2. (config-port-prof)# switchport access vlan 10
    1. (config-port-prof)# ip access-group 500 in
    2. (config-port-prof)# inherit port-profile server
    1. The port profile can then be assigned to a given vEth interface as follows:
    2. (config)# interface veth1
  1. (config-if)# inherit port-profile webservers   //将profile应用到对应的vEther interface上

port-profile分为up-link 和非UP-LINK,连虚拟机的口应用非UP-LINK的profile,连上游物理交换机的口应用UPLINK profile,uplink一般都是trunk。Up-link profile还分为system port-profile(用于传递系统信息,比如VSM和VEM间的控制数据)和uplink port-profile(用于传递网络数据)然后并将这些port-profile转发到vCenter,在vCenter中就会看到N1K中定议的port-profile,其表现为port group(相当于是一个端口组),管理员在创建虚拟机时可以选择所需的port group应用到虚拟机的Vnic上,创建好的虚拟机启动后vNIC就会连接到这个port group中的一个接口。

2. NIV的方案:

NIV原理:

除了DVS模块外,hypervisor之间的管理层,虚拟网络组件和实现交换的软件程序需要高度集成,这就是CISCO开发的一个以硬件概念为基础的网络接口虚拟化(NIV)方案。NIV通过带VN-LINK功能硬件交换机和带interface virtualizer功能的接口卡(比如思科的polo卡)来实现。带VN-LINK功能的交换机和带interface virtualizer功能网卡都支持VN-Tag技术。实际上用VN-Tag标签建立一条VN-LINK类似一种标签技术。NIV(network interface virtualization),是CISCO提出硬件的解决方案,他实现是的所有的交换功能不在hypervisor层,而是移到硬件交换机中,从而实现与物理服务器无关。NIV模式的VIS(virtual interface switch)是不遵从IEEE 802.1D协议,按802.1D网桥转发原理规定从某个接口收到的数据不可以再从该接口发出去,而VIS则打破了这种原则,允许从交换机某个接口收到的数据再从该接口转发出去来实现交换机下连的同一物理机下的不同虚拟机之间的通讯。但是这种转发还是需要适当的标准来防止环路的发生的,思科定义了VNTag协议用于VIS中,利用Tag可以识别数据的来源和目的是不是相同目的,如果不同则从其他端口转发如果相同则还是往这个端口转发出去,实现同一物理机下的不同虚拟机的通信。NIV还需要物理服务器上有interface virtualizer功能来配合,此功能可以通过hypervisor内建的软件实现,也可通过带有此功能的网卡实现。interface virtualizer的功能就是在网卡上建立很多的vEth端口用来和VM的vNIC对应,当vNIC有数据进入vEth时,vEth就会给他打上VN-Tag再发出去,配合VN-Tag功能完成VN-link功能。也就是说NIV解决方案中需要同时用到interface virtualizer、VNTag和VN-link三个功能的交换机,最终实现VN-link技术。VEM负责在同一个hypervisor中各虚拟机之间的数据转发,同时还负责将去往其他hypervisor的数据转发到物理的接入层交换机。

NIV工作流程:
1) 如何创建VN-LINK:

IV(interface virtualizer)好比一个有很多的vEth口并有数据交换功能的交换机。当NIV中有新的vNIC建立时,IV使用CIV协议(在NIV和VIS之间运CIV协议(Virtual Interface Control Protocol)。)请求VIS(interface virtualizer相连的交换机称为virtual interface switch (VIS))建立新的VIF(virtual interfaces:虚拟接口)。之后IV再请求VIS 为这个vNIC使能对应的VIF接口,VIS使能后会返回一个VIF ID给IV,IV将VIF ID 和vNIC对应关系添加到自已的转发表中。最终在IV的转发表中就存在vNIC和VIF对应表项,从而形成了一条VN-LINK。同时VIS也要建立vNIC的MAC和VIF表项,这样VIS才会根据数据帧中目的MAC找到对应的VIF转发出去同时打上VN-TAG。

2) 数据转发流程:
当数据从服务器转发到网络时,interface virtualizer会标识源vNIC,并将从此vNIC转发出来的数据帧打上VN-tag(VN-Tag封装在数据帧的MAC字段之后,作用是标记唯一标识由哪个vnic转发出的数据帧)发送出去,当VIS从网络中收到数据后移除VN-Tag,并根据转发表找到与这个源nic的mac相应对应VIF的表项,将数据帧从对应VIF接口转发到interface virtualizer,interface virtualizer并将此数据转发到对应的Vnic。
在这个方案中interface virtualizer本地不同虚拟机之间的数据交换,本地数据交换从hypervisor中引到物理网络设备上来执行。virtual interface switch (VIS)交换机不仅负责不同物理接口间的数据交换,还负责不同virtual interfaces (VIFs)间的数据交换,VIF和vNIC间会有对应关系(通过vEth),不同VIF间的数据交换其实就是不同虚拟机间的数据交互。任何数据交换和策略的实施都是在VIS中,并不是在hypervisor层处理。
weinxin
DC Farm小程序二维码
扫一扫添加博客小程序
Jim

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:3   其中:访客  3   博主  0

    • avatar 站长 5

      好难啊

      • avatar 张衡Henry 0

        哎,看不懂,网络知识太匮乏了,支持一下。

        • avatar spark 5

          “比如思科的polo卡”
          笔误了