你的位置:首页 > 软件开发 > 操作系统 > Windows Server 2012 虚拟化实战:网络(二)

Windows Server 2012 虚拟化实战:网络(二)

发布时间:2016-07-21 18:00:19
关于Windows Server的虚拟化网络,前文描述了在操作系统层面上的出现的配置变化。其中的一些配置通过Windows Server提供的小工具即可实现,如网卡组的配置,而有些需要安装Windows Server的服务器角色,如Hyper-V,然后通过Hyper-V Mana ...

Windows Server 2012 虚拟化实战:网络(二)

关于Windows Server的虚拟化网络,前文描述了在操作系统层面上的出现的配置变化。其中的一些配置通过Windows Server提供的小工具即可实现,如网卡组的配置,而有些需要安装Windows Server的服务器角色,如Hyper-V,然后通过Hyper-V Manager或者其命令行工具来配置虚拟交换机。但是要进行全局配置管理和实现一些高级功能,就需要接下来介绍的主角System Center Virtual Machine Manager(SCVMM)。关于SCVMM的安装和部署可以参考另一篇博文——Windows Server 2012 虚拟化实战:SCVMM的安装和部署。下面图给出SCVMM在我们数据中心部署的情况。

Windows Server 2012 虚拟化实战:网络(二)

如图右侧是处于SCVMM管理下的所有物理服务器和物理集群,所有物理机器上都安装了Windows Server 2012 R2的操作系统,安装了Hyper-V服务器角色,同时也安装了与SCVMM服务器通信的SCVMM Agent。而左上的3台服务器构成SCVMM网络架构的核心。SCVMM Database是用于存储了所有配置信息和状态信息的Sql Server数据库。为实现高可用,该Sql Server也可以配置成Sql Server故障转移物理集群。SCVMM其实是一个后台服务,主要负责将Console控制台管理的配置信息通过SCVMM Agent应用到被管理的物理机器上,并实时更新物理服务器及其上虚拟机的状态。SCVMM Console则是用户界面,SCVMM Console可以与SCVMM服务部署在一起也可以分开在不同服务器部署。SCVMM的架构与其他其他任何一个分布式网络架构类似,有集中的地方,SCVMM及其Database作为核心,需要特别保护,避免崩溃。而每个被管理的物理节点崩溃与否却不是那么至关重要。

以上简单介绍了SCVMM的网络架构,大家有个总体的印象,接下来我们回到本文的主题,继续讨论使用SCVMM相关功能实现网络的虚拟化。

三、SCVMM中的网络虚拟化实战

1、物理网络拓扑

通过SCVMM的Console控制台和命令行工具,可以对网络中独立的服务器和故障转移集群(Failover Cluster)的进行统一的配置和管理,其中最重要的功能即是在这些物理服务器上实现网络虚拟化,为搭建一个完整的虚拟化平台奠定基础。下图为我们数据中心2014年建设初期的物理网络拓扑图:

Windows Server 2012 虚拟化实战:网络(二)

在建设初期,所有物理机器都安装Windows Server 2012 R2并加入域。在上图中蓝色Network01、绿色Network02、红色Network03、紫色Network04分别代表4个不同的物理网络。为什么是4个物理网络,因为我们的服务器都有4个网卡,我们希望都利用上,并实现负载均衡。

2、网络虚拟化的目标

我们初步考虑其中蓝色与绿色绑定为网卡组用于内部网络,名称定为Internal Network,红色和紫色绑定为网卡组用于外部网络,名称定为Public Network,也就是说我们计划在这两个网卡组的基础上进行网络的虚拟化。

在Internal Network上要建立4个虚拟网络:

(1) Management Network 用于域和管理,配置给所有物理服务器和部分虚拟机,内网地址192.168.0.0/24

(2) Cluster Network 用于集群心跳,配置给建立集群的物理服务器,内网地址192.168.10.0/24

(3) Migration Network 用于虚拟机迁移,配置给所有成为宿主的物理服务器,内网地址192.168.20.0/24

(4) Application Network 用于虚拟机之间自定义网络,配置需要自定义网络的那些虚拟机,这个是网络虚拟化最彻底的部分,稍后将解释,内网地址192.168.30.0/24

在Public Network上要建立2个虚拟网络:

(1) Cernet Network 用于教育网,配置给所有需要教育网的虚拟机,公网地址121.192.x.x/26

(2) Datacenter Network 用于反向代理的内部网络,配置给所有需要从外部通过非教育网连接的虚拟机,内部地址172.16.8.0/24。这个网络比较特殊,如果电信网络或者移动网络需要连接虚拟机,需要通过反向代理服务器即如上图的cloud-pm-ag01进行方向代理,以实现多种外网接入虚拟化平台上的虚拟机。

如上面描述并不是每个物理服务器或者虚拟机都将接入上面所有虚拟网络,而是可以进行非常灵活的配置,那么我们就来看看如何在SCVMM中实现。

3、SCVMM中网络虚拟化的关键概念

在SCVMM中有些功能的名称看起来并不是那么合理,许多配置项容易使人误解,因而带来了许多困扰。

在Windows  2012 R2中的网络虚拟化小节中,我们提到了在操作系统层面发生的关于网络配置的改变包含:网卡组、虚拟交换机,虚拟网卡。很容易发现这些配置其实只针对某个物理服务器或者某个虚拟机(虚拟网卡可用于虚拟机),那么这些物理服务器和虚拟机的虚拟网卡如何算是连接在同一个网络中,其实非常容易想到的就是我们必须在物理网络的基础上,为这些物理服务器和虚拟机进行相同的配置,让他们拥有同样的虚拟交换机和虚拟网卡的配置,那么整个虚拟化平台就能正常工作了。因而在SCVMM上所做所有工作其最终目的就是为了在多个物理服务器和虚拟机之间实现配置的一致性,当然最终也带来的配置的便捷性。

其实在SCVMM中关于网络虚拟化最重要的概念有以下几个,我来看看他们本质上对应到操作系统层面将改变什么?

(1) Logical Networks逻辑网络和VM Networks虚拟机网络

可以简单的认为就是上文中我们需要创建的虚拟网络。这里需要注意的是一个逻辑网络(虚拟网络)并不代表只有一个子网,例如上文中我们的目的之一是创建Management Network,并标识使用内网地址192.168.0.0/24,原因是我们并没有超过255台的机器。倘若我们的确有那么多机器需要接入Management Network,并且它们分布在不同地方,例如在不同的楼栋,不同的楼层或只是不同的房间,那么在可能我们会遇到它们不仅仅使用同一个子网的情况。我们可以简单的扩大子网来容纳更多的机器,但是倘若它们之间能够路由,那么就不用在同样的子网里。也就是说逻辑网络代表了可以路由的所有子网的集合,例如在楼栋A有子网192.168.0.0/24,在楼栋B有子网172.16.0.0/24,倘若它们可以路由,那么它们可以划入同一个的逻辑网络中,实现同一个目的。因而逻辑网络的配置与Network Site站点(可以理解为物理上部署在一起的服务器构成一个站点)一起配置,也是为了这个原因。同一个逻辑网络中的所有机器是可路由的,也即是可以相互连接的,而不同的逻辑网络是相互隔离的。

Windows Server 2012 虚拟化实战:网络(二)

上图是创建逻辑网络的第1个界面,这里有3个选项,代表的是3个不同的物理网络环境。其中VLAN-baseed independent networks和Private VLAN network表示两种不同的基于VLAN的物理网络环境,如果的确有就选,但是一般情况下,我们不会在数据中心内使用VLAN,因而我们重点关注第1个选项One connected network,就是一般的情况下直接通过交换机路由器连接,而没有做VLAN配置的物理网络。

其中有两个复选框:Allow new VM networks created on this logical network to use network virtualization,这个需要特别注意VM network并不是虚拟网络的意思,而是虚拟机网络。该选项的意思是在这个逻辑网络的基础上允许自定义虚拟机网络,也就是第二层虚拟化。第二层虚拟化是我想的,不是官方概念,下图表示虚拟机网络的示意图。

Windows Server 2012 虚拟化实战:网络(二)

由于SCVMM是支持多租户的,也就是说在同一个逻辑网络上(逻辑网络由管理员确定,租户无法更改),允许租户自定义自己的网络,租户可以控制自己的虚拟机,也可以控制自己的虚拟机网络,这样可以满足了租户的个性需求。

Create a VM network with the same name to allow virtual machines to access this logical network directly,则允许创建一个同名的虚拟机网络,以便用于虚拟机接入该逻辑网络。

虚拟机必需连接虚拟机网络,而虚拟机网络与逻辑网络关联。第一个复选框允许对逻辑网络做第二层虚拟化,那么随后还可以在该逻辑网络上再创建多个虚拟机网络,并自定义虚拟机网络IP池;第二复选框则允许默认创建一个同名的虚拟机网络,并且使用逻辑网络相同的IP池。如果以上两个复选框都不选择的话,那么该逻辑网络将毫无用处。虚拟机网络并不只用于虚拟机,而是用于虚拟网卡。物理服务器上创建的虚拟网卡也需要接入虚拟机网络,所以默认创建一个同名的虚拟机网络,并且使用逻辑网络相同的IP池的选项是非常重要的。

微软的官方文档中,逻辑网络之间是绝对隔离的,但是对于实现第二层虚拟化的虚拟机网络(非默认创建,这里容易混淆)之间却不是,那仅仅是便于租户对网络进行管理而已。

(2) Port Profiles端口配置文件

端口配置文件是为虚拟交换机的各类接口提供配置的,有两种端口的配置文件,我们参照一个物理交换机来理解会简单的多。物理交换机上的端口按照网络结构可以分为两种:一种是普通端口即连接下行设备的,例如连接每个服务器;另一种是上行端口即连接上行设备,例如连接上级交换机或路由器。端口配置文件也是为这两类在虚拟交换机上的端口而生。

Virtual Port Profile普通端口配置文件,可以规范下行端口的行为,例如该端口在Offload减负载,Security安全和Bandwidth带宽上的配置。其中网络领域Offload技术是蓬勃发展的,其主要目的都是为了减少网络I/O对CPU的消耗,提高效率,因而将CPU的负载转移到网卡上,那么可能就需要物理网卡的支持。另一个在带宽配置上,一个虚拟交换机可能连接多个逻辑网络(虚拟网络),那么可以配置它们之间的带宽如何分配。

Windows Server 2012 虚拟化实战:网络(二)

Uplink Port Profile上行端口配置文件,配置虚拟交换机将连接那些逻辑网络(虚拟网络)。这里Network configuration可以详细到站点与逻辑网络的组合,本质上是决定哪些物理服务器参与连接逻辑网络,哪些逻辑网络参与连接虚拟交换机。

Windows Server 2012 虚拟化实战:网络(二)

(3) Logical Switch逻辑交换机

Logical Switch逻辑交换机在操作系统层面上将对应创建一个虚拟交换机,并且围绕该虚拟交换机进行配置,也可以认为是一个虚拟交换机的配置中心。其配置的本质就是组合普通端口配置和上行端口配置,以方便在物理服务器和虚拟机上的配置。

Windows Server 2012 虚拟化实战:网络(二)

如上图,我们将把蓝色与绿色标识的物理网络绑定为网卡组用于内部网络Internal Network,并通过Internal Logical Switch进行统一管理。将其上关联目标中的4个逻辑网络(虚拟网络)。其中有个选项SR-IOV单根虚拟化,如图中说明,即允许虚拟机直接使用某个物理网卡,简单可认为即某个物理网卡直接当做虚拟机的虚拟网卡,以提高网络I/O性能。那么该选项不符合我们的期望,因为我们希望创建网卡组做负载均衡,与SR-IOV是矛盾的。

另外两个配置项Uplink和Virtual Port即使分别配置关联哪些上行端口配置文件和普通端口配置文件。其中普通端口配置文件并不是直接一对一的配置,而是通过Port Classifications端口分组进行关联。因而我们中心的总体的配置逻辑如下图:

Windows Server 2012 虚拟化实战:网络(二)

4、SCVMM中网络虚拟化配置

结合上文我们的网络虚拟化目标和SCVMM的相关配置功能,我们大体上需要完成如下图配置:

Windows Server 2012 虚拟化实战:网络(二)

上图中的配置是一个完全的配置,也就是说并不是所有物理机器都需要4个Physical Network物理网络,也并不是每个虚拟机都需要接入所有的VM Network虚拟机网络,实际应用中,要根据实际需要。

(1) 创建Logical Network逻辑网络

我们利用每个物理机器上的4个物理网卡两两组合成网卡组,并在其上创建6个逻辑网络(虚拟网络),因为物理环境中没有VLAN配置,都选择One connected network方式。站点分为两个,一部分服务器在Buliding A,一部分服务器在Buidling  N。这6个逻辑网络的配置如下:

逻辑网络 基于网卡组 站点 IP地址池 第二层虚拟化 同名虚拟机网络 虚拟机网络
Management Network Internal Building A

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:Windows Server 2012 虚拟化实战:网络(二)

关键词:Windows

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录