当前位置:首页 > 虚拟化 > 正文

虚拟化专家为您解密虚拟网络

2010-08-20 CNW.com 编辑:VMware公司华南区首

  摘要:服务器虚拟化中最看不见摸不着,却又无比重要的神秘角色莫过于虚拟网络了,我将从其实现原理入手,力求给大家解密虚拟网络。

  服务器虚拟化中最看不见摸不着,却又无比重要的神秘角色莫过于虚拟网络了,我将从其实现原理入手,力求给大家解密虚拟网络。

  在传统的服务器使用模型中,每台服务器只有一个操作系统,拓扑结构如图1所示。二层交换机连接服务器的端口类型为Access Port,只从属于一个VLAN(虚拟局域网)。接入层交换机与核心网络之间才用Trunk(端口汇聚)的方式连接,以便把打了VLAN标签的数据包按照规则传输出去。

  在服务器虚拟化环境中,情况就大不相同了,因为一台服务器上运行了很多虚拟机,而这些虚拟机可能是属于不同网段的。这意味着服务器的物理网卡需要接入多个VLAN,在传统模型中这是不可能的。但是引入了虚拟交换机之后,这个难题迎刃而解。如图2所示,服务器安装了虚拟化平台软件VMware ESX后,在内存中建立了虚拟交换机。虚拟交换机取代了传统模式下的接入层交换机,它连接虚拟机的虚拟端口是普通的Access Port,但它连接外部真正的物理交换机却用了Trunk方式,这时候服务器的物理网卡充当了虚拟交换机与物理交换机之间的级联线的作用。虚拟环境中,同一台服务器上的虚拟机可以从属于不同的虚拟端口组,每个虚拟端口组可以配置不同的VLAN ID,虚拟机发出的数据包会由虚拟交换机负责附加VLAN标签,然后通过Trunk连接传递到物理网络。

 

服务器虚拟化部署环境的网络拓扑

  这样,当虚拟机跨越物理服务器迁移时(例如VMotion),管理员只要保证两台服务器上配置了名称与VLAN ID都一样的虚拟端口组,虚拟机自然会迁移到该端口组,它的数据包也会被附加上正确的VLAN标签。

  从VMware vSphere 4.0开始引入了分布式虚拟交换机(vDS)的概念,可以建立一种跨越多台ESX的庞大虚拟网络。vDS对于VMware管理员绝对是福音,因为它实现了“配置一次、全局适用”,不再需要在每一台ESX上重复做虚拟网络的配置。不仅如此,vDS还带来了私有VLAN(PVLAN),它可以在VLAN内进一步隔离虚拟机之间的通讯。例如有两个Web服务虚拟机在同一个VLAN中,但是我们不希望它们互相访问,那只要启用隔离模式的PVLAN,这两个虚拟机都可以对外提供Web服务,但是却看不到对方。

  分布式虚拟交换机另外一个重大改变就是Network VMotion。VMotion发生时,虚拟机会被在线地迁移到另一台ESX服务器上,普通虚拟交换机会自动发出RARP(反向地址解析协议)包,通知物理网络:“嗨,这个IP和MAC改走我这里了。”在分布式虚拟交换机环境中,被VMotion所迁移的虚拟机虽然改变了所处的服务器,但虚拟网卡接的还是同一个庞大的逻辑交换机,只是改变了接入的虚拟端口。vDS不仅仅会发RARP包,还会将原来虚拟端口的信息都复制到新虚拟端口,例如端口的配置、状态值、计数值等。
尽管虚拟交换机在虚拟化环境中不可或缺,但很多网络管理员却对其抱有戒心。经常被质疑的问题有两个,第一:虚拟网络会不会造成网络环路(Loop)?回答这个问题要由虚拟交换机的包转发功能说起。如图3所示,虚拟交换机不是路由器,它只能执行简单的数据包转发,包括虚拟机之间的通讯,虚拟机与上联端口(即物理网卡)的通讯。其他通讯都会被严格禁止,例如虚拟交换机之间的通讯,上联端口之间的通讯。而且虚拟交换机不支持生成树协议(Spanning Tree),所以虚拟网络不会造成网络环路。

 

虚拟交换机的包转发功能

  另外一个困扰网络管理员的问题就是虚拟网络好比黑匣子,即看不透,也不知道如何查错。事实上,VMware提供了多种工具对虚拟网络进行配置、管理与查错。例如,集成到vCenter管理界面中的Wireshark插件可以监听虚拟网络中的数据包;vDS PowerCLI可以定制自动化部署脚本;ESX Network Tool可以自动检查虚拟网络的配置是否有误。除了这些外,很多第三方厂商基于VMware提供的vNetwork Appliance API也做了不少管理工具,网络管理员大可挑自己熟悉的工具来用。

大家都爱看
查看更多热点新闻