VMware 网络结构与编程

来源:互联网 发布:淘宝懒人装修 编辑:程序博客网 时间:2024/05/01 08:18

ESX的网络结构


VMware的网络管理可以分为三层:物理网卡,虚拟交换机,端口组。

一个物理网卡上只能承载一个虚拟交换机,虚拟机交换机上划分出多个端口组,而每个端口组代表了一个Network。

其实,VMware 真正的组织架构却大为不同。

在VCenter下,物理网卡,虚拟交换机和端口组是存在于主机载体上的。我们需要通过主机得到对应的详细描述和对应关系。

HostSystem------ConfigInfo----NetworkConfig---PhysicalNic list:物理网卡列表,此主机上所有的物理网卡。

                                                                               -----HostPortGroup list:主机上的所有端口组。

HostPortGroup中包含虚拟交换机的信息,PhysicalNic也包括虚拟交换机的信息。从而可以确定物理网卡上是哪个虚拟交换机,虚拟交换机上有哪些端口组。

Network和HostPortGroup怎样对应呢,他们是什么关系呢?

其实,Network和HostPortGroup是一个东西。

VMware通过管理对象来称呼实体,比如主机是一种管理对象,虚拟机是一种管理对象,存储是一种管理对象。对应的Network也是一种管理对象。这些实体被分组管理,每一种管理对象形成一个列表。这样便于整体资源的管理和整合。

对于主机这样的管理对象,他本身就存放详细信息:有多少cpu,多少内存。但是Network比较特别,他的管理实体并没有太多的信息。具体的网络在哪个主机上,网络的网速是多少等等信息都没有。这些信息都存放在端口组中。

也就是说,Network和HostPortGroup是同一个东西,但是在不同的地方使用而已。

他们的对应关系很简单:名字。名字相同,就是一个。

名字问题也是Network和HostPortGroup比较蛋疼的方面。VMware不允许重名。例如两个主机不可以有相同的名字。

这就存在一个限制:主机A上有个端口组叫portGroup,主机B上为什么就不能也有个叫portGroup的。他们根本就不影响么。但是VMware的规则就是不允许。为了解决这种问题,VMware采用了一个匪夷所思的实现方式:合并portGroup。

实际是合并portGroup对应的Network。

假如A和B都有portGroup这个端口组,那么两个端口组在管理对象中对应的Network是一个。这个Network中包含了主机列表,其中填充了那些主机有名字为portGroup端口组。

通过主机列表,你可以找到每个主机;通过每个主机的对象,可以找到主机上的端口组对象。两个主机中关于端口组相同的部分都在Network中定义描述,比如名字。不同的部分就在各自的主机对象中描述,比如vlan,虚拟交换机,物理网卡。


这种逻辑,如果知道了,就感觉很规整;如果不知道,就感觉匪夷所思。呵呵。强大的VMware。


原创粉丝点击