基于SDN网络构架的网络动态优化研究
2018-04-13陈国良
陈国良
摘要:针对动态网络优化依赖虚拟机在线迁移技术的问题,利用新型的网络架构SDN很好地实现了对网络设备的灵活管理和配置,达到数据中心虚拟化管理,且使得数据中心在资源优化,差错容忍和负载均衡方面具有很好的灵活性。同时,提出了一种基于QoS流机制的多路径虚拟机迁移策略(QMA),该机制通过对网络动态传输的虚拟机迁移资源划分为不同的QoS流,然后对每一个流选择有效的转发路径进行迁移,从而提高虚拟机整体迁移性能,最终达到对网络资源动态优化管理。
关键词:SDN;网络动态优化;虚拟机迁移;QoS流;QMA机制
中图分类号:TP393
文献标识码:A
0 引言
现今网络动态优化依赖虚拟机动态迁移技术完成虚拟化的核心组成部分,给数据中心的管理与维护带来巨大的便利[1];同时也使得数据中心在资源优化,负载均衡,差错容忍[2]等方面具有很好的灵活性。尽管网络优化依靠虚拟机迁移具有很好的优势,但在迁移过程中仍然存在性能的降低,特别是在跨数据中心的迁移环境下[3]。由于广域网低带宽[4J,高延迟的特点极大的降低了虚拟机在线迁移的性能,从而影响了网络动态优化。
网络跨数据中心动态优化下的虚拟机迁移已经有许多的研究。文献[5]分析了广域网虚拟机动态传输的挑战;文献[6]提出了使用数据块预拷贝算法对内存进行迁移;文献[7]采用重定向和动态DNS对网络进行重配置;文献[8]基于CloudNet云平台利用VPN实现广域网网络传输虚拟机迁移;文献[9]中提出了一个简单的数学模型用来计算网络资源传输内存迁移的停机时间。通过相关的研究能够看出广域网下的网络问题给虚拟机的动态迁移带来很大的挑战,而之前的研究大部分是从网络传输的虚拟机迁移过程方面出发,而没有从网络资源角度考虑。从整个网络角度来讲,网络动态传输时间由大量迁移的数据以及所分配的传输带宽决定。因此,通过虚拟机迁移过程有效的分配网络资源是提高网络传输性能的一个重要的方式。
本文针对网络跨数据中心动态优化下的虚拟机迁移场景引入SDN网络架构,利用SDN网络架构在网络更新中具有灵活性的特点,提出了一种基于QoS流的多路径并行传输策略(QMA),同时采用动态路由算法去处理不同的QoS流,能够为虚拟机迁移提供良好的网络传输资源,从而有效降低虚拟机迁移时间,提升网络动态调整的性能。
1 网络架构和在线迁移模型
1.1 系统网络架构
本文设计了基于SDN的云数据中心网络架构。如图1所示。
图1给出了一个全局的数据中心系统视图,在这样的一个网络架构中,网络控制器控制所有的网络资源,同时一些云管理系統比如OpenStack管理所有网络中的虚拟机计算资源[10],本文的QoS路由机制部署在网络控制器中,网络控制器和云管理系统之间可以进行通信。
特别是,网络中的设备比如交换机或者路由器能够根据他们获得的转发流表实施数据转发[11]SDN控制器使用标准的openflow协议与这些网络设备之间进行通信,获取链路状态信息[12],同时,SDN控制器负责计算所有交换设备的转发流表。另外,云控制器OpenStack负责管理所有数据中心计算资源和存储资源,记录关于网络中虚拟机和物理主机必要的信息,例如虚拟机内存大小,物理主机剩余CPU资源[13]等,同时所有的计算节点会定期的报告各自的更新信息给云管理器,此外,OpenStack也提供了统一的资源管理功能。
本文利用云管理器对网络传输中的虚拟机进行管理,当某台虚拟机需要迁移时,云管理器会向SDN控制器发送网络配合请求,然后SDN控制器根据当前网络状况实施网络控制,将相应的网络转发策略下发给数据转发层的网络设备,云管理器根据转发策略进行虚拟机的迁移。
1.2 网络传输中的虚拟机迁移模型
预拷贝迁移是最常见的一种方式,目前已经在最新的虚拟化工具得到实现,比如V Mware,XEN,KVM,本文也采用这种方式,下面给出具体的细节。如图2所示,虚拟机的在线迁移主要分为三个部分,主要包括镜像拷贝阶段,迭代预拷贝阶段和停机拷贝阶段。在预拷贝迁移中,虚拟机内容f如镜像文件)首先从源物理主机被复制到目的主机,即图中的镜像拷贝阶段。接下来,进入内存的迭代预拷贝阶段,在预拷贝的第一次迭代中会将所有的内存页拷贝到目的虚拟机,因为在传输过程中会产生脏页,所以接下来的迭代会拷贝改变的内存脏页到目标虚拟机,内存脏页不断的被拷贝直到脏页变得相对非常少或者达到某一值时,这时标志着下一阶段的开始,即停机拷贝阶段,在该阶段源虚拟机会暂停工作,然后将剩下的脏页拷贝到目的虚拟机,之后目的主机上的虚拟机接管源虚拟机的工作继续提供服务,同时,源主机虚拟机将会被销毁。
2 基于QoS流多路径传输机制
迁移时间作为网络传输的一个重要性能指标,那么如何提升网络传输性能,减少虚拟机总体迁移时间是一个很重要的研究问题。从整个网络角度考虑,当进行网络传输时,分配的网络资源(比如传输带宽)大小直接决定虚拟机迁移时间,特别是在广域网环境下[14],因此,本文提出了基于QoS流多路径的虚拟机迁移机制(QMA)解决网络动态优化问题。
2.1 设计原理
根据网络传输中的虚拟机在线迁移模型,本文将虚拟机在线迁移划分为三个连续阶段进行:镜像迁移,内存预拷贝,停机拷贝,执行顺序依次进行,由于镜像、内存和CPU对网络带宽和延迟的要求不同,本文采用流的方式[15],将镜像文件、内存预拷贝以及内存停机拷贝设定为不同级别的QoS流,不同级别的迁移流满足不同的QoS需求,即满足不同的网络资源要求,本文设定QoS主要满足网络延迟和迁移带宽需求;此外,在网络动态传输虚拟机迁移过程中同一级别的流允许多路径并行迁移。
在SDN网络架构下,Openflow允许定义不同类型的流,比如QoS级别[16],另外,SDN网络架构对网络配置具有很好的灵活性,网络控制器能够根据不同的QoS流制定符合QoS要求的路由策略,然后将路由策略以流表的形式下发给转发设备,并且能够根据当前的网络状态做到及时地更新,实现动态的路由机制,从而实现高效的数据传输,完成迁移流的传输。
2.2 路由优化模型
针对不同的QoS流建立不同的路由策略,本文建立了动态路由模型。具体描述如下:将网络看做是一个无向图G(N,L),N表示网络节点集合,L表示节点之间的链路集合。将QoS流请求定义为一个四元组(s,d,B,D),s指入口路由,d指出口路由,B指请求的最小带宽,D指延迟上界要求。P表示在所有的QoS请求中入口一出口节点对,R(s,d)表示从入口节点s到出口節点d的所有路由集合(R(D)对于任意的路由r∈R(s,d),QoS路由是要找到尽可能最优的路径。
本文将动态路由看作是一个约束性最短路径问题,对于该问题有两个属性,代价函数和约束条件,这两个属性能够体现网络状况和所满足的QoS需求。本文利用链路带宽计算每条链路权重作为成本度量,将端到端最大延迟作为约束条件,因为对于网络动态传输中的虚拟机迁移,迁移时间是一个很重要的性能评估因素。
代价函数:
即在满足延迟条件的情况下,找到满足条件的路径使代价最小,该路径即为满足QoS约束的最优路径。因为代价函数是剩余带宽的反比函数,因此,代价越少,即可分配的剩余带宽越多。
2.3 算法实现
根据上文描述的设计原理,本文设定五元组(s,d,S disk,S pre -mean,S stop-mem)表示网络动态传输虚拟机由节点s到节点d的迁移请求,根据上文给出的路由优化模型,将网络动态传输虚拟机迁移资源分为三部分,每个部分设定对应的QoS请求,当有网络传输的虚拟机迁移时,云管理器会为每一个虚拟机迁移请求建立QoS流请求优先队列,然后将请求队列信息发送给控制器,控制器根据QoS队列优先级对每一个流进行处理,优先级高的QoS流会优先被处理,相同级别的流会按照设定的迁移次序依次对迁移流进行处理,确定不同的路由转发策略,然后下发流表,最后完成数据传输。
具体的算法步骤如下:
该算法总共七个步骤,前两个步骤为创建QoS流队列过程,后面的步骤主要是对流的处理过程,实际是对动态路由问题的解决,本文采用了改进的拉格朗日松弛算法来获得更加优化的迁移路径,从而提升网络动态传输性能。
3 实验与分析
3.1 实验环境
为了验证本文策略的性能,本文采用ExpandANSNET网络拓扑进行仿真验证。该拓扑由18个节点和30条链路组成。所有的链路都是双向的,该拓扑总共有三个入一出节点对,分别为(1,17),(2,26),(4,15)。每条链路的传播延迟假定在一定范围内都是均匀分布的。仿真参数设定如表l所示。
3.2 结果分析
本文主要对两方面的性能进行比较和分析:总体迁移时间和迁移停机时间。
仿真选用基准算法与本文提出的基于QoS多流传输算法进行性能比较。该基准算法是基于传统网络架构,当有虚拟机迁移请求时,会采用传统的路由选择机制选择源端到目的端的传输路径,然后利用虚拟化迁移工具实现网络动态传输虚拟机的迁移,传统网络架构下不支持多流并行传输。
(1)迁移总体时间对比
选择一个入一出口节点作为网络动态传输虚拟机迁移的源主机和目的主机,在评估迁移总体性能中,设定镜像文件的大小由10GB到20GB变化,内存大小设定为1GB,迁移过程中的脏页速率设定为lOOMBps,剩余脏页大小为100MB。仿真结果如图3所示:
由图3可知,随着镜像文件大小的增加,网络动态传输虚拟机总体迁移时间也会增加;两种算法进行对比看出,本文提出的QMA策略迁移网络动态传输虚拟机需要的时间明显少于基准算法,原因在于QMA策略的实施基于SDN网络架构下,集中控制器能够根据当前的网络状态信息制定QoS动态路由策略,能够为网络动态传输虚拟机迁移提供更好的传输带宽,此外,本文在实现上允许多路径传输,因此,从图中看出,随着镜像文件的增加,QMA能够使总体迁移时间缩短,从而使得网络动态传输性能得到很好地提升。
此外,在镜像文件一定的情况下,本文对内存大小的变化对迁移总体时间的影响进行了仿真。仿真中设定镜像大小为10GB。
由图4可知,当镜像文件大小一定条件下,随着内存文件大小的增加,网络动态传输虚拟机总体迁移时间也会增加。两种算法进行对比,本文提出的QMA策略迁移时间少于基准算法,因为QMA策略能够提供更好的路由选择策略,能够保证迁移的最小传输带宽,在相对好的网络状况下进行网络动态传输虚拟机迁移,因而可以有效的减少迁移时间,提高网络动态传输的性能。
(2)停机时间对比
本文对不同的脏页阂值对网络动态传输虚拟机停机时间的影响进行了性能验证,仿真如图5所示。
如图所示,停机时间受内存剩余脏页阂值的影响,随着剩余脏页量的增多,网络动态传输虚拟机迁移的停机拷贝时间会逐渐增加。由于QMA策略执行中能够做到路径的优化选择,获得更好的迁移时的传输带宽,因而使得执行效果好于基准算法。
4 结论
本文重点讨论了在跨数据中心场景下,通过优化迁移时的网络资源来降低迁移时间,从而提高迁移性能。首先引入了新型的网络架构SDN,SDN网络架构能够使网络配置变得更加灵活而且具有可适应性;在该架构下提出了一种基于QoS流并行传输机制(QMA),对网络动态传输虚拟机迁移资源分成不同的QoS流,并且建立对应的QoS流队列,然后利用SDN网络控制器根据当前网络状况对队列中的每一个QoS流进行动态的路由决策,通过优化路由决策算法为每一个迁移流提供更好的网络资源,从而优化网络动态传输带宽以及传输时延。仿真结果显示,相比传统网络下的虚拟机迁移,本文提出的QMA机制能够使得总体迁移时间和停机时间得到有效地减少,从而使网络动态传输性能得到很好地提升。
参考文献
[1]王银,姚克明,陆宇平.基于神经网络动态优化的再入轨迹设计[J].系统工程与电子技术,2015,37 (10):2347-2351.
[2] 田文洪,赵勇.数据中心资源优化调度:理论与实践[J].计算机安全,2014,(03):56.
[3]王丽娜,杜钢,余荣威,等.IDVE:面向跨数据中心的虛拟域一致性迁移机制[J].四川大学学报:工程科学版,2015,47 (O1): 20-26.
[4]马文韬,胡创,王文杰,等.低带宽广域网环境下的一致性算法研究啪.计算机工程,2016,42 (09):94-99+104.
[5]刘圣卓,姜进磊,杨广文,基于副本的跨数据中心虚拟机快速迁移算法[J].清华大学学报:自然科学版,2015,55 (05): 579-584.
[6]代西超,南建国,黄雷,等,改进的内存预拷贝动态迁移算法[J].计算机工程与应用,2016,52 (23):88-93.
[7]顾大明,刘晓天.基于虚拟专用局域网服务的虚拟私有云网络架构研究[J].计算机光盘软件与应用,2014,17 (18):105- 106.
[8]马路路,赵逢禹.云计算环境下虚拟机在线迁移优化啪.信息技术,2014,(11):128-132.
[9]
DARSENA D,CELLI G,MANZALINI A,et al.Live migrationof virtual machines among edge networks viaWAN links[C].Fu-ture Network and Mobile Summit.IEEE,2013:1-10.
[10]孙磊,沈苏彬.一种基于OpenStack的云管理平台[J].计算机技术与发展,2016,26 (O1):185-189.
[11]张俊帅,杨昊.OpenFlow交换机流表转发设计与实现[J].中国计量学院学报,2015,26 (03):316-323.
[12]薛聪,马存庆,刘宗斌,等.一种安全SDN控制器架构设计[J].信息网络安全,2014,(09):34-38.
[13]王志钢,汪小林,靳辛欣.Mbalancer:虚拟机内存资源动态预测与调配[J].软件学报,2014,25 (10):2206-2219.
[14]刘杉.互联网业务中利用传输设备对传输带宽的提升[J].电子技术与软件工程,2013,(16):55.
[15]代西超,南建国,黄雷,等.改进的内存预拷贝动态迁移算法[J].计算机工程与应用,2016,52 (23):88-93.
[16]高大伟,王林,毕倬.基于终端QoS要求的网络选择优化啪.通信电源技术,2013,30 (06):75-77.