深入浅出Hyper-V网络虚拟化(一)

简介:

年后综合症刚刚消失殆尽,转眼就要迎接各种新的工作任务了;之前写过一篇有关hyper-v网络虚拟化内容的博文,主要是从操作系统层面入手,概要性的总结了一下,基本也都是参考了大部分官方内容再加以个人修饰;最近几天利用system center 2012 R2做了个demo,其中也涉及到了网络虚拟化这块,于是乎打算把遇到的经验和问题和大家做个分享,因为“SDN(软件定义网络)”包含的信息量挺大的,所以我会按三个章节来写,循序渐进。

######################################################################################

感兴趣的童鞋可以参考一下之前的内容:

http://maomaostyle.blog.51cto.com/2220531/1346900

接下来的内容与之前最大的区别在于把操作转向system center并通过SCVMM来实现网络虚拟化,凸显出这套产品在私有云管理方面的强大之处


那么说道网络虚拟化,就不得不提及SCVMM的几个关键概念:

1.物理网络

2.逻辑网络

3.VM网络

4.VM子网

下图是我本人理解的一个面向租户的场景,用户A通过自助服务的途径来申请并获取他想要的网络资源,对应到SCVMM里面就是VM network,然后VM子网就不难理解了,它实际上是用户自行在独享的VM network所做的分配,也就是说VM subnet中的IP资源才是最终呈现出来的可见网络,或者你也可以把它视为整个网络延伸的终点,但是从大的角度来说,VM network就可以说是直接交付给用户的最终产物了


我们接着往后看,VM network是构建在逻辑网络之上的,逻辑网络对用户来讲是不可见的,当然它是面向后台管理者的,逻辑网络存在的最大意义在于,它是用来修饰最底层物理网络的;举个简单的例子,比如你一台服务器单网卡想做个虚拟化环境这没问题,但是由于资源有限,带宽有限,你所有的流量负载都要经由一个网卡和一条链路,但是你可以通过多个逻辑网络命名来区别不同的业务,例如:研发组网络、测试组、运维。。等等,他们虽然在本质上共享同样的资源,但是你可以通过逻辑网络来进行区分,并且针对逻辑网络做限制和管理,例如QOS等等


有的朋友一直存在一个误区,认为说逻辑网络就是物理网卡映射到了SCVMM里,其实根本不是,对于第一次添加主机时,逻辑网络只是默认把你本机的NIC名称抓过来当作逻辑网络名称罢了


接下来demo环境中将要实现的就是图中门户申请背后的所有内容,我们只有将底层搭建好了才可以把“软件定义网络”这样的服务打包给用户;至于门户的选择可以是微软官方的AzurePack,也可以是定制化开发的门户产品

wKiom1MJxImDz5fZAAFDpwYKFm4049.jpg

再正式进行之前再稍微看一下拓扑图,在我的上一篇博客里对CA、PA、VSID、RDID已经做过比较详细的介绍,可以先回顾一下(任意门:http://maomaostyle.blog.51cto.com/2220531/1346900 )

VM彼此之间通信会以CA地址进行,也就是用户自己的VM subnet地址;如果VM是分布在不同主机上,那么这种跨主机的通信会经过NVGRE重封包来解决,发起端经由NVGRE打包并贴上PA地址标记,也就是一个专用的逻辑网络地址池,然后提交给接受主机,接收端同样使用PA地址收取然后拆包拿出CA地址标签转发给最终VM,其实是很简单的原理,NVGRE与cisco等厂商提倡的VXLAN都是差不多的初衷


DEMO中会需要一台独立的物理主机做网关主机,并且要支持虚拟化并在其上创建一台VM网关;VM网关内口接SCVMM的逻辑交换机(下一篇重点),外口直接走外网段;其实也是非常基本的网关拓扑

wKioL1MJxwXjw5mNAAFsgnRIdeY954.jpg

#####################################################################################

刚才上面说了一大嘟噜话其实是怕有的筒子们越往后看越闹心,我也是想尽量把概念类的东西先铺垫一下,现在马上开始正题:演示平台WS2012R2+SC2012R2

下图中的gateway是专门用来做网关物理主机的,它上面还有一台NVGRE网关虚机

wKiom1MJtA6xIlLSAAPAN6MNd2A891.jpg

在主机组Lenovo中,host01主要用来放置管理服务器用,例如一些SC角色;host02主要是专门申请虚机用的,winserver10就是一台测试虚机

wKioL1MJs-yAf0pbAATam9ZuQoQ438.jpg

点击Virtual Switch这个逻辑网络就可以看到启用“网络虚拟化”的选项,不起用的话那么一个逻辑网络就只能创建一个VM network,这个Virtual Switch是流向外网的逻辑网络

wKiom1MJtBWQXHefAAXvBhVOVpg856.jpg

在Virtual Switch逻辑网络上创建了一个站点,叫shangdi,不是上帝而是上地(欢迎志同道合者约饭),站点的作用就是来分配逻辑网络的使用权的,这个逻辑网络下的站点包含了哪些主机资源,那么这些主机的物理网络就可以与这个逻辑网络相绑定,今后通过对逻辑网络加以控制就起到了直接管理物理网络的效果

wKioL1MJs_OgfiKGAAVkUSgqgGk352.jpg在逻辑网络下面创建一个地址池,如果平时我们不需要网络虚拟化的功能,那么这个地址池是可以直接分配给虚机来使用的,此时地址池通常是与物理网络相匹配的;这个test IP pool就是直接可以访问外网的IP,在后面NVGRE网关会通过NAT从这个池里面拿IP来给CA做转换

wKiom1MJtByRJ8TaAAUjqCvMjBE920.jpg

IP地址范围我给了40-50,显然这个IP范围并不是我们实际的公网IP资源,但是没关系,软件定义网络就是这么灵活自如

wKioL1MJs_mCljikAAVmly--NUE520.jpg

之后的网关、DNS等设置都以我办公环境的接入设备为参考

wKiom1MJtCKhc4lIAASsLSAjKZQ830.jpg

wKioL1MJtADjWrZsAATrF-CRGpY530.jpg

在看另外一个逻辑网络Tenant,这个网络是专门给用户申请虚机使用的,并且勾选了启用“网络虚拟化”,特别注明一点:我这个主机也只是接了一根网线,正如我上面提到的,逻辑网络的作用不是1:1的来映射你的物理网卡

wKioL1MJtAPBLB81AAVX38Dt24I505.jpg

这个逻辑网络也同样创建一个站点,并且允许所有主机关联,网络地址为192.168.0.0/24,区别于我的外网地址192.168.10.0/24

wKiom1MJtCzgxMQaAAU1AlnYohg350.jpg

接下来创建一个IP地址池,这些IP就是PA,也就是专门给主机间通信用的;因此无需DNS、网关等配置

wKioL1MJtAqj0-BuAAT1Pi0MxvY948.jpg

wKiom1MJtDPSUnO0AAV6Kxoiuxs617.jpg

接下来再瞅一眼VM network,virtual switch是构建在“virtual switch”这个逻辑网络上的;它也是这个逻辑网络上仅有且唯一的VM network;上面那个tenant VM network将在第三篇提起

wKioL1MJtBHQzqlBAARCippRqAw797.jpg

###################################################################################

接下来要看一个重点内容:端口配置文件

端口配置文件有两种,一个是给虚拟网卡用的,一个是给上行链路用的,分别是什么意思呢?看下面图中默认选择“虚拟网卡端口配置文件”

wKiom1MJtDmSIVdHAAUbIK7eBGg191.jpg

然后下一步可以看到针对虚拟网卡我们可以启用的一些硬件支持功能,比如IPsec卸载和单根虚拟化;记住前提是硬件环境支持,而且有的功能并不是仅仅要求网卡支持,例如SR-IOV

wKioL1MJtBfhgwCpAAWut3eTydE239.jpg

然后针对虚拟网卡可以启用的一些功能,mac欺骗,自定义IP地址等等;大家可能会发现其实这里的设置和hyper-v管理器中的设置是一一对应的

wKiom1MJtECT8ZDJAATLWHkYMqk024.jpg

最后还可以针对该端口配置文件进行QOS设置,带宽大小及权重

wKioL1MJtB7CFN0LAAVSeRfUL-U341.jpg

###################################################################################

刚才是“虚拟网卡端口配置文件”,再来看看“上行端口配置文件”当选择到上行端口配置文件之后,会发现左侧列表少了很多内容

wKiom1MJtEaQPjLmAAS_D7TDpNY264.jpg

上行端口配置文件可以支持NIC Teaming,可以选择负载平衡算法,比如地址哈希或者hyper-v端口方式

wKioL1MJtCPSDoBhAATuh4-1PXo207.jpg

在teaming模式下可以选择是否依赖交换机,例如端口聚合LACP;我直接创建一个“上行端口配置文件”,保持默认选择(反正我的设备只有一个NIC启用)

wKiom1MJtEuB2za5AATsCm51IP4647.jpg

在下一步中可以选择已有的站点及对应的逻辑网络,这里是什么意思呢?我们通过SCVMM创建出这两种端口配置文件(虚拟网卡和上行),然后可以再创建“逻辑交换机(下一篇介绍)”把这些端口配置文件关联在一起;这样只要把物理主机的某一个网卡指向“逻辑交换机”,那么这个网卡(物理网络)就会自动关联到所包含的所有“逻辑网络”,如果你的主机运行windows2012而且想使用网络虚拟化,那么就需要把下面的勾选上,R2可忽略

wKioL1MJtCnTXxURAAUUT4ci3co230.jpg

下面是我依据DEMO环境所创键的几个上行端口配置文件,“uplinke port profile”这个是给host02主机用的,也就是跑用户虚机的那台宿主机用的

wKiom1MJtFLRVzwEAAT9PADTXjE943.jpg

让这台虚机可以使用tenant与virtual switch两个逻辑网络(因为host02既要有PA地址又要上外网)

wKioL1MJtDKxBJ8mAAV2b5F0ZUo376.jpg

inbound这个配置文件是给gateway那台物理网关主机的内口网卡用的,因为它只需要PA地址,所以不给它选virtual switch这个可以访问外网的逻辑网络了(我觉得看到这里大家应该对逻辑网络已经有很深刻的理解了吧?)

wKiom1MJtFvSxxf1AAVSNmpYr7s228.jpg同样outbound顾名思义,是gateway物理主机的外口网卡专用配置文件,无需PA地址所以就不选Tenant

wKioL1MJtDnQRpeGAAVwzRNtYzI897.jpg

接着我再创建一个名为“Tenant”的虚拟网卡配置文件,这个文件专门用来给用户VM的网卡做标记,offload设置保持默认(当然如果你的硬件足够横,那么你可以启用SR-IOV等功能),带宽设置这里给个1,应该是最小值了,这个权重值的意义是当不同业务流量共享同一物理网络时,会根据这个权重来平衡带宽占用优先级;可能有的童鞋会说“我的VM专门绑定一个网卡或者一组teaming,管理网络用另外一个网卡或者一组teaming”是吧?那么通常我们这做的时候还要单独的去规划网段,配置每一个网卡等等,运维工作会比较繁琐;下一篇中会结合逻辑交换机来介绍如何解放运维工作

wKiom1MJtGKzZu34AAWa_VxR9bA863.jpg

在安全设置里,注意要启用“允许来宾定义IP地址”

wKioL1MJtEDBskUjAASYt6fUpBg550.jpg

#######################################################################################

为了给下一篇提前做个预习,咱们先来看看逻辑交换机的设置;下图中我已经提前创建好了几个逻辑交换机,打开“test logical switch”这个属性可以看到下方有“启用SR-IOV”功能

wKiom1MJtGnhq2pmAAUx44haWdA468.jpg

下图是关于SR-IOV功能在hyper-v管理器中配置的地方,虚机网卡中可以设置(对应虚拟网卡端口配置文件设置)

wKioL1MJtEaAGdnYAAY15RArr7A216.jpg

hyper-v虚拟交换机设置中的SR-IOV(对应刚才逻辑交换机中的设置)话说如果条件允许的话,建议使用单根虚拟化功能,即SR-IOV,可以让虚机直接与物理资源交互而无需经过中间的虚拟化层;当然正如下图中标记的“SR-IOV只有在创建之前配置才行,之后无法更改”

wKiom1MJtG7SYsLGAAUYlOHR2OI284.jpg

逻辑交换机的扩展选项2选1,保持默认就行

wKioL1MJtEux6zHWAAT7e4D0iIU613.jpg

上行端口模式是否要用teaming功能,并且选择我们刚才创建的“上行端口配置文件”

wKioL1MJtE_ypuryAAT3CjwUgos362.jpg

点击“添加”可以选择相应的配置文件

wKiom1MJuYLA4x_AAAUzbpIasAQ452.jpg

这样一个逻辑交换机就创建完成了,它包含两种端口配置文件

wKiom1MJuYTCwqflAAQ3rtAiis0478.jpg

在接下来的一篇中,我会展示如何把物理服务器的网卡接入逻辑交换机,以及接入后的效果并且如何简化部署实施工作,为我们最终的网络虚拟化演示做好铺垫



本文转自maomaostyle 51CTO博客,原文链接:http://blog.51cto.com/maomaostyle/1362410,如需转载请自行联系原作者


相关文章
|
1月前
|
运维 物联网 网络虚拟化
网络功能虚拟化(NFV):定义、原理及应用前景
网络功能虚拟化(NFV):定义、原理及应用前景
68 3
|
2月前
|
负载均衡 监控 网络虚拟化
|
2月前
|
存储 运维 虚拟化
虚拟化数据恢复——Hyper-V虚拟化故障导致虚拟机文件丢失的数据恢复案例
在Windows Server上部署的Hyper-V虚拟化环境中,因存储中虚拟机数据文件丢失导致服务瘫痪。北亚企安数据恢复工程师通过物理检测、操作系统及文件系统检测,确定为人为格式化造成,并通过镜像硬盘、重组RAID、分析并恢复文件索引项等步骤,成功恢复数据,最终在新Hyper-V环境中验证并迁移所有虚拟机,确保用户业务恢复正常运行。
|
3月前
|
5G 网络安全 SDN
网络功能虚拟化(NFV)和软件定义网络(SDN):赋能5G网络灵活、智能演进的关键
网络功能虚拟化(NFV)和软件定义网络(SDN):赋能5G网络灵活、智能演进的关键
91 3
|
4月前
|
图形学 缓存 算法
掌握这五大绝招,让您的Unity游戏瞬间加载完毕,从此告别漫长等待,大幅提升玩家首次体验的满意度与留存率!
【8月更文挑战第31天】游戏的加载时间是影响玩家初次体验的关键因素,特别是在移动设备上。本文介绍了几种常见的Unity游戏加载优化方法,包括资源的预加载与异步加载、使用AssetBundles管理动态资源、纹理和模型优化、合理利用缓存系统以及脚本优化。通过具体示例代码展示了如何实现异步加载场景,并提出了针对不同资源的优化策略。综合运用这些技术可以显著缩短加载时间,提升玩家满意度。
295 5
|
5月前
|
网络虚拟化 安全 网络架构
|
4月前
|
安全 网络虚拟化 虚拟化
揭秘网络虚拟化新纪元:从VLAN到VXLAN,跨越物理界限,解锁云时代网络无限可能!
【8月更文挑战第23天】在网络虚拟化领域,VLAN与VXLAN是两种关键技术。VLAN通过标签划分物理局域网为多个独立的逻辑网络,适用于局域网内部虚拟化;而VXLAN作为一种扩展技术,利用VNI极大提升了网络的可扩展性,支持更大规模的虚拟网络,并能跨数据中心和云服务提供商网络实现虚拟机的无缝迁移。两者分别在第二层和第三层实现流量隔离,共同支撑起现代网络架构的灵活性与安全性。
82 2
|
5月前
|
网络虚拟化 数据中心 虚拟化
|
5月前
|
运维 负载均衡 监控
|
5月前
|
存储 安全 虚拟化
虚拟化数据恢复—虚拟机数据丢失导致Hyper-V服务瘫痪数据恢复
虚拟化数据恢复环境: 一台服务器上部署的Hyper-V虚拟化平台,虚拟机的硬盘文件和配置文件放在一台某品牌MD3200存储中。该存储中有一组由4块硬盘组建的raid5磁盘阵列,还有一块大容量硬盘存放虚拟机数据文件的备份。 虚拟化故障: MD3200存储中虚拟机数据文件丢失,导致Hyper-V服务瘫痪,虚拟机无法使用。
虚拟化数据恢复—虚拟机数据丢失导致Hyper-V服务瘫痪数据恢复

热门文章

最新文章

下一篇
DataWorks