论文部分内容阅读
[摘 要]在虚拟化环境中,电网系统负载大小和用户对电力资源的需求存在正相关关系,考虑到虚拟机在运行中存在一定范围的阈值,如果电网系统运行负载超过虚拟机的阈值,则会导致虚拟机出现宕机,轻则出现部分程序或控制指令无法执行,严重情况下还会影响电网运行的稳定性。基于虚拟化环境的多目标负载均衡,可以更好的保障服务器、CPU的平稳运行以及内存资源的最优化配置,为实际的电网规划管理工作提供了借鉴与参考。
[关键词]虚拟化环境;负载均衡;虚拟机;迁移开销
中图分类号:TU639 文献标识码:A 文章编号:1009-914X(2018)12-0072-01
引言:虚拟化技术可以提高硬件利用率、提高故障隔离以及实现资源共享,因此在电力、通讯等领域得到了广泛应用。早期的虚拟化技术由于受计算机性能等因素的限制,只能模拟单目标负载的运行情况。近年来随着云计算、大数据等技术的使用,为虚拟化技术进行多目标负载均衡提供了必要的支持。文章首先对虚拟机的概念、特点进行了概述,随后分析了多目标均衡负载的具体操作方法。
一、虚拟机的概念
虚拟机是指利用计算机上的虚拟软件,构建一个完全独立、且具有计算机全部功能的虚拟计算机系统,并且在这一虚拟环境中完成操作的平台。对于Windows系统来说,常用的虚拟软件是ShadowWin,可以用来完成虚拟环境共享、虚拟环境切换等操作。
虚拟机的特点主要体现在四个方面:其一是指令虚拟化(ISA),借助于计算机上自带的软件模拟出控制指令,并且用于控制真实的硬件设备。这种操作的优点在于减少了控制指令占用的系统存储空间,在一些复杂电网中可以提高控制反应速度;其二是硬件虚拟化,同一台物理机的硬件资源可以同时被多个虚拟机共享。为了避免出现两台或多台虚拟机抢夺资源的情况,还可以在虚拟机中安装VMM(虚拟机监视器),实现对虚拟机内部数据资源的管理和分配。其三是编程语言虚拟化,实际的计算机编程语言有Java、C++等,但是在虚拟机环境下必须使用Java虚拟机,实现编程语言的虚拟化替换;其四是程序库虚拟化,程序库的功能是用来存放编辑好的执行语句,虚拟化的程序库可以为虚拟环境下的系统运行提供运行和控制指令,实现了源代码的跨平台移植。
二、虚拟化环境中多目标负载均衡的实现
1、预测超载物理机
对于任何一台物理机来说,无论其性能高低,CPU、内存的利用率都是有限的,这也就在一定程度上限制了物理机的运行负载。尤其是在一些电力用户分布密集的城市、厂区等区域,物理机的运行负载直接决定了电网运行效率的高低和电力资源配置的有效程度。而在虚拟化环境中,要想实现多目标负载均衡,首先就需要对物理机的最大负载进行预测,然后根据预测所得结果,设置虚拟机的相关参数,实现CPU、内存等部件利用率的最大化。
具体的预测方法为:启动虚拟机,使其运行一段时间并保持工作状态稳定后,在虚拟机的主界面上直接调用两次VirD函数,然后计算出前后两次函数之间的运行间隔时间,所得差值即为虚拟环境下CPU的单次响应时间(cpu-diff)。然后利用Sleep函数获取物理机的CPU运行时间(real-diff),然后用前后两个时间值作除法,所得结果结果即为CPU的利用率(P)。具体的计算公式为:
P=cpu-diff Time/real÷diff Time×100%
运用类似的方法,也可以求出虚拟机的内存利用率。在计算出物理机和虚拟机的这些关键参数后,就可以通过数据的对比,大体预测出物理机的最大运行负载,然后将其移植到虚拟平台中,为下一步在虚拟化环境下完成多目标负载均衡操作提供了必要的参数支持。
2、选择待迁虚拟机
在虚拟化环境中,CPU和内存利用率过高或过低,都会导致主机资源分配不均衡。如上文所属,在虚拟化环境下CPU和内存的利用率也存在一定的阈值区间,如果利用率低于阈值的最小值,就会导致虚拟机迁移激进;反之虚拟机则会出现迁移停滞。这两种情境都会影响到整个虚拟化系统中各类程序的执行性能。为了避免此类问题的出现,就需要科学选择待迁虚拟机。影响迁移开销的主要因素有以下几种:
(1)在集群环境下,虚拟机的迁移开销可以通过迁移数据流量来获得。通常来说,传输流量(l)和总的迁移时间(t)之间为非线性的正比例关系。这里的迁移时间涵盖了虚拟机从准备阶段、停机阶段到重启阶段的所有时间。迁移时间越长,虚拟机系统流量越多,系统资源被占用率越高,越容易出现迁移开销。
(2)另外,根據实时迁移技术可知,在物理机和虚拟机之间可以用来进行迁移的数据包括多种,像内存、CPU状态和磁盘文件等。其中内存作为整个物理机程序、指令存储的主要单元,在迁移中需要最大的数据量,因此占用的时间较长,而CPU和磁盘的迁移总量相对较少。从这一点来看,虚拟机需要设计更大的内存,以满足数据迁移需要。
(3)对于超在物理机来说,要想接触本身的超载,需要利用多个虚拟机实现负载分担。其中待迁虚拟机在不考虑内存、CPU利用率等因素的条件下,其负载大小直接决定了待迁虚拟机的个数。也就是说,待迁虚拟机本身负载大小也是影响虚拟机迁移开销的重要因素。
3、选择目标物理机
确定y个待迁虚拟机E1,E2,...,Ey后,需要为这y个虚拟机分别选择合适的目标物理机。本文利用降序最佳适应算法为虚拟机Ej(1≤b≤y)选择目标物理机。降序最佳适应算法描述如下:
(1)计算待迁虚拟机E1,E2,...,Ey的负载,并按照负载降序排序。排序后的待迁虚拟机集合记为A={A1,A2,...,Ay};
(2)令b=1,b表示集合A中虚拟机的序号,且1≤b≤y;
(3)当b>y时,转(8);
(4)计算物理机C1,C2,...,Cm的负载,并按照负载值从大到小降序排序C1,C2,...,Cm,排序后物理机集合记为Z={Z1,Z2,...,Zm},其中物理机的负载和虚拟机的负载计算方法相同;
(5)计算Z1,Z2,...,Zm的可用CPU用率、可用内存利用率和可用负载。其中,可用CPU用率等于其阈值减去其利用率的差值,可用内存利用率同理 可得。
(6)按照Z1,Z2,...,Zm的顺序查找一台满足以下条件的物理机Zx(1≤x≤m):若Zx存在,记下Ab与Zx的对应关系;否则,开启新的物理机C0,记下Ab与C0的对应关系,把C0添加到物理机集合C中;
(7)b=b+1,返回(3);
(8)结束。
4、触发迁移
检测待迁虚拟机和,目标物理机之间的数据匹配关系,到两者之间的数据完全匹配后,调用Xen开始数据迁移。
结语:在利用信息化系统进行电网管理时,由于物理机需要处理的数据流量过多,加上电网运行负荷较大,容易引起物理机资源超载、集群性能下降。在虚拟化环境中探究多目标负载均衡办法,可以在相对独立的虚拟系统中完善虚拟机CPU、内存等部位运行效率的计算,并通过迁移将其反馈到物理机中,从而为下一步电网的规划和资源的合理利用提供了一些借鉴,对于电网管理工作实现环保节能、绿色可持续的发展起到了促进作用。
参考文献:
[1] 陈佳超,吴享远,郭款阳,等.混合电能交易市场中考虑电网负载均衡的最优化电能调度研究[J].2016(07):131-133.
[2] 钟闰禄,成良玉,张小波.工件多目标设计中的一种动态负载均衡算法[J].计算机工程与设计,2015,26(12):3233-3235.
[3] 刘必果,束永安,付应辉.基于多目标优化的软件定义网络负载均衡方案[J].计算机应用,2017,37(6):1555-1559.
[关键词]虚拟化环境;负载均衡;虚拟机;迁移开销
中图分类号:TU639 文献标识码:A 文章编号:1009-914X(2018)12-0072-01
引言:虚拟化技术可以提高硬件利用率、提高故障隔离以及实现资源共享,因此在电力、通讯等领域得到了广泛应用。早期的虚拟化技术由于受计算机性能等因素的限制,只能模拟单目标负载的运行情况。近年来随着云计算、大数据等技术的使用,为虚拟化技术进行多目标负载均衡提供了必要的支持。文章首先对虚拟机的概念、特点进行了概述,随后分析了多目标均衡负载的具体操作方法。
一、虚拟机的概念
虚拟机是指利用计算机上的虚拟软件,构建一个完全独立、且具有计算机全部功能的虚拟计算机系统,并且在这一虚拟环境中完成操作的平台。对于Windows系统来说,常用的虚拟软件是ShadowWin,可以用来完成虚拟环境共享、虚拟环境切换等操作。
虚拟机的特点主要体现在四个方面:其一是指令虚拟化(ISA),借助于计算机上自带的软件模拟出控制指令,并且用于控制真实的硬件设备。这种操作的优点在于减少了控制指令占用的系统存储空间,在一些复杂电网中可以提高控制反应速度;其二是硬件虚拟化,同一台物理机的硬件资源可以同时被多个虚拟机共享。为了避免出现两台或多台虚拟机抢夺资源的情况,还可以在虚拟机中安装VMM(虚拟机监视器),实现对虚拟机内部数据资源的管理和分配。其三是编程语言虚拟化,实际的计算机编程语言有Java、C++等,但是在虚拟机环境下必须使用Java虚拟机,实现编程语言的虚拟化替换;其四是程序库虚拟化,程序库的功能是用来存放编辑好的执行语句,虚拟化的程序库可以为虚拟环境下的系统运行提供运行和控制指令,实现了源代码的跨平台移植。
二、虚拟化环境中多目标负载均衡的实现
1、预测超载物理机
对于任何一台物理机来说,无论其性能高低,CPU、内存的利用率都是有限的,这也就在一定程度上限制了物理机的运行负载。尤其是在一些电力用户分布密集的城市、厂区等区域,物理机的运行负载直接决定了电网运行效率的高低和电力资源配置的有效程度。而在虚拟化环境中,要想实现多目标负载均衡,首先就需要对物理机的最大负载进行预测,然后根据预测所得结果,设置虚拟机的相关参数,实现CPU、内存等部件利用率的最大化。
具体的预测方法为:启动虚拟机,使其运行一段时间并保持工作状态稳定后,在虚拟机的主界面上直接调用两次VirD函数,然后计算出前后两次函数之间的运行间隔时间,所得差值即为虚拟环境下CPU的单次响应时间(cpu-diff)。然后利用Sleep函数获取物理机的CPU运行时间(real-diff),然后用前后两个时间值作除法,所得结果结果即为CPU的利用率(P)。具体的计算公式为:
P=cpu-diff Time/real÷diff Time×100%
运用类似的方法,也可以求出虚拟机的内存利用率。在计算出物理机和虚拟机的这些关键参数后,就可以通过数据的对比,大体预测出物理机的最大运行负载,然后将其移植到虚拟平台中,为下一步在虚拟化环境下完成多目标负载均衡操作提供了必要的参数支持。
2、选择待迁虚拟机
在虚拟化环境中,CPU和内存利用率过高或过低,都会导致主机资源分配不均衡。如上文所属,在虚拟化环境下CPU和内存的利用率也存在一定的阈值区间,如果利用率低于阈值的最小值,就会导致虚拟机迁移激进;反之虚拟机则会出现迁移停滞。这两种情境都会影响到整个虚拟化系统中各类程序的执行性能。为了避免此类问题的出现,就需要科学选择待迁虚拟机。影响迁移开销的主要因素有以下几种:
(1)在集群环境下,虚拟机的迁移开销可以通过迁移数据流量来获得。通常来说,传输流量(l)和总的迁移时间(t)之间为非线性的正比例关系。这里的迁移时间涵盖了虚拟机从准备阶段、停机阶段到重启阶段的所有时间。迁移时间越长,虚拟机系统流量越多,系统资源被占用率越高,越容易出现迁移开销。
(2)另外,根據实时迁移技术可知,在物理机和虚拟机之间可以用来进行迁移的数据包括多种,像内存、CPU状态和磁盘文件等。其中内存作为整个物理机程序、指令存储的主要单元,在迁移中需要最大的数据量,因此占用的时间较长,而CPU和磁盘的迁移总量相对较少。从这一点来看,虚拟机需要设计更大的内存,以满足数据迁移需要。
(3)对于超在物理机来说,要想接触本身的超载,需要利用多个虚拟机实现负载分担。其中待迁虚拟机在不考虑内存、CPU利用率等因素的条件下,其负载大小直接决定了待迁虚拟机的个数。也就是说,待迁虚拟机本身负载大小也是影响虚拟机迁移开销的重要因素。
3、选择目标物理机
确定y个待迁虚拟机E1,E2,...,Ey后,需要为这y个虚拟机分别选择合适的目标物理机。本文利用降序最佳适应算法为虚拟机Ej(1≤b≤y)选择目标物理机。降序最佳适应算法描述如下:
(1)计算待迁虚拟机E1,E2,...,Ey的负载,并按照负载降序排序。排序后的待迁虚拟机集合记为A={A1,A2,...,Ay};
(2)令b=1,b表示集合A中虚拟机的序号,且1≤b≤y;
(3)当b>y时,转(8);
(4)计算物理机C1,C2,...,Cm的负载,并按照负载值从大到小降序排序C1,C2,...,Cm,排序后物理机集合记为Z={Z1,Z2,...,Zm},其中物理机的负载和虚拟机的负载计算方法相同;
(5)计算Z1,Z2,...,Zm的可用CPU用率、可用内存利用率和可用负载。其中,可用CPU用率等于其阈值减去其利用率的差值,可用内存利用率同理 可得。
(6)按照Z1,Z2,...,Zm的顺序查找一台满足以下条件的物理机Zx(1≤x≤m):若Zx存在,记下Ab与Zx的对应关系;否则,开启新的物理机C0,记下Ab与C0的对应关系,把C0添加到物理机集合C中;
(7)b=b+1,返回(3);
(8)结束。
4、触发迁移
检测待迁虚拟机和,目标物理机之间的数据匹配关系,到两者之间的数据完全匹配后,调用Xen开始数据迁移。
结语:在利用信息化系统进行电网管理时,由于物理机需要处理的数据流量过多,加上电网运行负荷较大,容易引起物理机资源超载、集群性能下降。在虚拟化环境中探究多目标负载均衡办法,可以在相对独立的虚拟系统中完善虚拟机CPU、内存等部位运行效率的计算,并通过迁移将其反馈到物理机中,从而为下一步电网的规划和资源的合理利用提供了一些借鉴,对于电网管理工作实现环保节能、绿色可持续的发展起到了促进作用。
参考文献:
[1] 陈佳超,吴享远,郭款阳,等.混合电能交易市场中考虑电网负载均衡的最优化电能调度研究[J].2016(07):131-133.
[2] 钟闰禄,成良玉,张小波.工件多目标设计中的一种动态负载均衡算法[J].计算机工程与设计,2015,26(12):3233-3235.
[3] 刘必果,束永安,付应辉.基于多目标优化的软件定义网络负载均衡方案[J].计算机应用,2017,37(6):1555-1559.