云计算中的信息系统生存性量化分析研究

2013-10-28 02:28赵淦森王维栋周尚勤
关键词:生存性分布式组件

赵淦森, 汤 庸, 王维栋, 虞 海, 周尚勤

(1.华南师范大学计算机学院,广东广州 510631;2.广东省服务计算工程技术研究开发中心,广东广州 510631;3.广州市云计算安全与测评技术重点实验室,广东广州 510631;4.网易公司,广东广州 510665)

云计算中的信息系统生存性量化分析研究

赵淦森1,2,3*, 汤 庸1,2,3*, 王维栋4, 虞 海4, 周尚勤3

(1.华南师范大学计算机学院,广东广州 510631;2.广东省服务计算工程技术研究开发中心,广东广州 510631;3.广州市云计算安全与测评技术重点实验室,广东广州 510631;4.网易公司,广东广州 510665)

关注于分布式信息系统的生存性的评估和优化,提出了一种部署于IaaS云环境的分布式信息系统的生存性量化分析框架:提出了一种量化评估部署于IaaS云环境的分布式信息系统的生存性的框架;在该框架下,提供了分析计算近似最优生存性的部署方案的方法;应用多种算法进行了实验,验证了生存性量化分析框架的有效性和应用到实际场景中的效果.

生存性; 分布式信息系统; IaaS云环境; 量化分析; 部署方案

云计算是一种新型的计算模式,提供对计算力、网络、存储、应用和服务等计算资源的统一弹性的调度管理和方便快捷的按需访问;这些资源可以通过极小的管理或交互代价被迅速地提供和释放[1].概括地说,云既包括通过网络发布的各种应用和服务,也包括这些应用和服务所依托的基础设施[2].本文主要关注服务模式为基础设施即服务(Infrastructure as a Service,IaaS)的云,以下简称IaaS云[3].

生存性是信息系统的一个属性,传统环境中的生存性研究已经取得了很多成果并在实际场景中发挥作用[4-5],生存性是指系统在遭受攻击、出现故障或意外事故后,即使部分组件或服务失效、系统不再完整,仍然能够及时完成其任务或提供关键服务的能力[6].这种能力意味着系统可以在出现异常、遭受入侵并部分受损的情况下,保证所执行的关键任务或服务顺利完成.这种情况下,虽然系统的安全策略失败了,但是其生存策略却是成功的[7].因此,生存性是一个实际应用中非常重要的系统性能参数,可以作为系统在具有发生异常或被攻击的风险的环境中运行并完成关键任务的评估标准,也可作为在遭受攻击或出现软硬件故障等意外事故后对系统运行稳定性能的优劣进行评价和判定的重要指标[8].传统的研究思路是,系统设计者依据系统生存能力的评判给出针对该系统的改进建议,使之能够在有限的资源下尽可能提升系统的生存性,顺利完成用户的关键任务[9].

目前国内外已有关于生存性的研究成果,对生存性的研究思路较多.

文献[10]针对信息安全和生存性的攻击进行了建模.该文献通过识别和记录攻击,建立了一种ACME攻击树[11],然后围绕该攻击树进行了攻击模式化和模式重用、攻击树的提升与筛选等研究.这些研究成果对于攻击识别很有意义,但未涉及其他的生存性策略.

文献[12]提出了一种预测模型,对集群在监控在健康状态、失效状态和恢复状态的转换进行了预测和控制,研究了一种基于冷备份的生存性模型.应用Markov和Semi-Markov方法[13]进行节点稳定状态分析的思路值得借鉴.该文献只考虑了物理节点的稳定状态,未对集群的逻辑组件对整个集群的影响进行分析和研究.

文献[14]专注于建立关键服务的恢复模型来提升系统生存性.该模型保护系统并通过重新设置受损资源到可用资源的方式来从损坏状态中恢复关键服务.这一思路在云环境中将比在常规环境中更易实现且更加高效.

文献[15]使用逻辑计算机结构语言(CSL)描述了生存性,系统的所有操作都用带标记的连续时间Markov链(CTMC)[16]进行了建模.文献研究的生存性仍然是以灾难后的恢复性能为主,是一种被动的提升生存性的方案.

文献[17]的研究重点在于保证异常事件发生后,在系统恢复到稳定状态之前的时间内,能够保证系统运行在一个可接受的性能级别上,以提供关键的服务.

文献[18]提出了一种能够广泛应用于系统架构、软件、失效和恢复行为等的生存性度量方法.主要关注点在于生存性措施,分别对生存性进行了定性和定量的定义.该文献也使用了Markov模型来进行性能评估,对系统出现故障前后的性能进行了分析.

文献[19]在大规模多网络系统中进行了保障关键服务在遭受攻击时能够以最小的网络传输代价得到最佳的网络资源应用效果的研究.文中在部分链接受攻击而损坏的情况下利用剩下的链接尽可能得到最佳网络资源应用效果的思路对信息系统的生存性的研究也很有意义.

文献[20]描述了一种紧急事件算法.该算法要求系统的每个组件都只能跟自己的直接邻居交互,并严格地保证各个组件间没有依赖关系.事实上,这样的构想只能在有限的一类系统中使用.

文献[21]提出了一种管理网络信息系统生存性的仿真模型.通过对事件过程、系统和系统生存性的逐层建模,逐步得到了能够描述和优化网络信息系统生存性的仿真模型.对事件过程的建模将该过程视为一个被标记的,有一定随机性的点过程,方便进一步的预测.对系统的建模则考虑了在系统架构中加入防御策略,并制定了可能发生的系统状态集合.对系统生存性的建模则提出了一个具有参考意义的生存性衡量标准:事件发生后的生存性=新状态的性能级别/正常状态的性能级别.该论文有着典型的研究生存性的主流思路:改进系统架构,加入对风险进行预测、识别、防御的机制来提升系统的生存性.

总体来说,传统的信息系统研究主要关注于对可能危害信息系统的威胁的预测、识别、防御以及对受损组件的恢复上,这些策略效果很好,但也会产生额外的开销,尤其是在应用这些策略优化生存性时通常需要修改信息系统的架构,这会使得信息系统的架构复杂化、增加开销和维护难度,并在一定程度上影响性能.

一些基于Markov链的生存性研究对本文的研究工作也有一定的启发,Markov链中每种状态值都取决于之前的有限个状态的思路可以作为以过往经验和统计方法进行生存性分析的参考.

文献[22]中对生存性的描述:“事件发生后的生存性=新状态的性能级别/正常状态的性能级别”具有一定的参考价值,但该文献的主要关注点是各个状态间的转移和转移过程的事件分析,没有在这一思路上做进一步的工作.

在越来越多的信息系统被迁移到IaaS云平台上的背景下,针对这些系统的生存性研究需要考虑到IaaS云平台有别于迁移前的环境的特性.本文旨在对部署于IaaS云平台上的信息系统的生存性进行量化分析,量化分析的结果能够更直观、准确地展示该信息系统在IaaS云环境下的生存性指标,方便之后的进一步分析统计和进行生存性改善.完成上述的生存性量化分析的理论研究后,本文提出了将理论应用于实际应用场景的方法.通过实现一个运维模块优化部署于实际IaaS云环境中的信息系统的生存性.该模块会周期性地或应激性地对用户指定的信息系统的部署环境进行生存性量化分析,生成生存性最优的部署方案,并予以实施,以此在可能的范围内提升该信息系统的生存性.

本文的研究工作建立在背景项目——桌面云智能自动优化管理实践科技项目的基础上,满足生存性需求,切合实地场景,应对实际问题.主要工作包括以下几点:(1)分析迁移到IaaS云后的信息系统的生存性的变化,识别背景项目中的实际的生存性需求;(2)建立生存性量化分析框架,分析部署在IaaS云平台上的应用的生存性;(3)依据生存性量化分析框架计算已知环境中可能达到的近似最优生存性,并生成达到该生存性的部署方案.

1 生存性量化分析框架

1.1 应用场景

本文提出的量化分析框架应用于一个有限的环境内,这个环境包括了分布式信息系统的组件、组件间的关系、组件的优先级别、组件与虚拟机的关系、部署信息系统的物理设备、虚拟机与物理设备的映射关系等.

在IaaS云中,一个有限的环境包括了组成一个分布式信息系统的所有虚拟机和部署这些虚拟机的所有物理机.由于各个组件所部属的虚拟机以及虚拟机实际所处的物理机的不同,不同组件面临的风险也不尽相同,这些风险大致包括:物理硬件损坏、虚拟化平台故障、系统服务失效、网络不连通和恶意入侵等.

分布式信息系统通常都存在一些关键的组件,它们对其他组件的运行提供支持,可能是调度或存储中心,或组件本身提供较为重要的服务或业务.这些组件的失效可能导致系统的核心业务无法完成,即系统不能存活.相对于其他即使失效了也对系统影响较小的组件,这些关键组件能否稳定运行的需求显然更高.若相对关键的组件所处的环境具有相对较小的风险,则整个分布式信息系统的生存性就较高.

本文所使用的符号如表1所示.

表1 符号表Table 1 Symbol table

1.2 框架概述

本文提出的基于IaaS云的信息系统的生存性量化分析框架的主要关注点是在有限的范围内对部署于IaaS云上的分布式信息系统的生存性进行计算和优化.基于IaaS云的信息系统的生存性量化分析框架的组成示意图见图1.

图1 分析框架架构图

分布式信息系统V的理论性能表述为

(1)

分布式信息系统V在风险下的性能,也就是实际性能表述为

(2)

定义分布式信息系统V的生存性为

(3)

2 生存性量化分析模型

2.1 虚拟机的关联

2.1.2 依赖关系衰退函数 依赖关系的定义中提到,依赖关系具有传递性,即当r(vx,vy)和r(vy,vz)同时存在时,r(vx,vz)存在.这种传递性在现实场景中体现在:当组件vx依赖组件vy时,若vy失效,则vx无法提供服务或无法提供部分服务,vy依赖于vz.同理,当vz失效时,vy失效或部分失效,必然会影响到vx的正常工作.因此,可以认为r(vx,vy)拥有衰减

图2 虚拟机依赖关系图

因子,其值随着依赖关系的传递而不断衰减.

节点的直接依赖关系表示为

(4)

以dxy表示vx到vy的距离,φ(dxy)是vx和vy的依赖关系的衰退函数,则有:

(5)

令φ(dxy)=ωdxy,代入式(5)得到

(6)

2.1.3 贡献值 虚拟机的贡献值描述了在分布式系统中虚拟机的性能产出,其中为系统内的其他组件提供服务和支持的部分是不对外的,只存在于系统内部.但是这些产出维持了分布式系统内部的运作,使系统本身能够顺利地提供对外业务.

(7)

2.2 信息系统生存性量化计算

2.2.1 虚拟机与物理机的映射关系 在有限范围A内,虚拟机与物理机的映射关系满足以下约束:

1)多台虚拟机可以运行在同一台物理机上,有∑Rvi(vionpj)≤Rpj;

2)在当前环境里,不允许一台虚拟机存在于多个物理机上;

3)某物理机pj在逻辑范围A内的总资源量不一定等于该物理机所能提供的最大资源量.

αp=∑ωXY*rsmf(vpXY,cXY,[aXYbXY]),

(8)

其中,rsmf()为评分函数,对各个因素指标进行统一的量化评分.

显然,分布式信息系统V的理论性能表示为

(9)

分布式信息系统V在风险下的性能,也就是实际性能可以表示为

(10)

定义分布式信息系统V的生存性为

(11)

(12)

D*是能够使SURVV(D*)取得最大值的xvipj的集合,也就是式(12)的最优解.式(12)满足以下约束条件:

(13)

(14)

xvipj=1 or 0.

(15)

约束条件解释如下:

1)表示任何物理机上的虚拟机的资源用量之和不能超过该物理机的资源总量;

2)表示对于vi有且仅有一个pj满足xvipj=1,即任何一台虚拟机都应部署在某台物理机上,1台虚拟机不可以被同时部署在2台物理机上;

3)xvipj=1表示vi在pj上,xvipj=0表示vi不在pj上,不存在第3种情况.

3 实验

依据本文的理论研究,在背景项目中实现了生存性调度模块,通过接受监控模块的接口提供的数据和用户的配置,生存性调度模块可以计算用户指定的分布式信息系统在IaaS云的有限环境内可能达到的最高生存性,生成对应的部署方案并应用.以下数据均由该生存性调度模块生成.

实验为一分布式计算集群V需要部署在某IaaS云上,V包括15台虚拟机,类型、配置及其价值如表2所示.

表2 分布式计算集群虚拟机列表Table 2 Virtual machines of distributed computing cluster

依赖关系描述如下:所有计算节点依赖于调度主机;所有计算节点依赖于2台数据同步机;所有调度主机、数据同步机及计算节点依赖于监控主机;数据同步机互相依赖.

实际环境中的部署方案如图3所示.

图3 实际环境中的部署方案

计算可得,在实际环境中的部署方案下,生存性为SURVactual=0.847 188 976 285.

应用最优的部署方案(图4)后,可以得到本例中最优的生存性为SURVmaximize=0.885 047 898 397.最优的生存性较原部署方案下的生存性提升了δ=(SURVmaximize-SURVactual)/SURVactual=4.468 8%.

图4 最优的部署方案

本文同时利用计算机仿真的方式,对提出的相关理论进行了验证性的实验.随机数据实验中,制定以下规则:

1)资源主要以CPU核数和内存容量来表现.网络带宽因环境而异、标准不一,故不作考虑.现在的IaaS云常常使用集中存储或其他存储方式,物理机本机存储的使用量不具有参考价值,也不作考虑;

2)随机数据时,虚拟机CPU核数从集合{1,2,3,4}中选取,内存容量(单位:MB)从集合{0.25,0.5,1,2,4}中选取;物理机VCPU核数从集合{8,16,32}中选取,内存容量(单位:GB)从集合{10,16,24,32}中选取,此处的物理机的VCPU核数并非真实的物理机CPU核数,而是物理机能提供的虚拟核数;

3)虚拟机价值分级中,s=1,e=20,a=1,即L={1,2,3,…,20};

4)物理机稳定性评估中,为尽量切合实际情况,在进行各个因素指标评分时,以85%的概率在取值范围的后15%即[a+(b-a)*0.85,b]取值,以15%的概率在取值范围的前85%即[a,b-(b-a)*0.85]内取值.实际生产环境中存在的各种稳定性因素指标在85%~100%取值的物理机占大多数.该规则会显著影响实验结果;

5)设定虚拟机依赖关系图中,边与定点的比值edge_times=1.25,衰退因子ω为0.5,最小依赖关系rmin为0.001,即认为低于该阈值的依赖关系对评估结果影响较小,可忽略.

图5 PM400VM2000算法效果比较

由图5可知,在400台物理及其2 000台虚拟机器的模拟环境中,实验过程中使用的4个不同的算法均能够保持系统的存活率高于88%.其中有2个算法能够稳定地把系统的存活率维持在95%的水平.

图6 算法时间的横向比较

图6展示了数据集PM2VM5~PM400VM2000中,各个算法的运行时长比较.各算法均随着系统规模的增长而运行时间有所提升.可以看出,随机匹配算法的变化趋势不明显,而首次匹配、K1和K2的运行时长随着数据规模的扩大有较明显的增长.实验过程中,直到400台物理及其2 000台虚拟机器的规模,所有算法的运行时长都小于0.1 s,现实实验过程中所实验的算法在实际应用中完全可行.

实验验证了本文中提出的生存性量化评估框架的可行性和比较了各种算法的表现.通过数据分析,得出了一些规律和结论.然后实施实际数据实验,引入了实际环境中的需求和数据,验证了生存性量化评估框架在实际场景中的效果.

4 小结

研究了部署于IaaS云环境的分布式信息系统的生存性问题,提出了该场景下的生存性量化分析框架.该框架包括4个主要部分:物理机稳定性评估、虚拟机性能计算、系统生存性计算、近似最优生存性计算.该框架可以依据配置、用户输入和实际运行数据,分析得到平台内虚拟机的性能和部署环境中物理机的稳定性,然后通过对部署方案的分解和调优,分析和优化部署于IaaS云平台的分布式信息系统的生存性.

文中提供了能够根据生存性量化分析框架得出的数据计算限定环境下分布式信息系统能够达到的最优生存性的方法,并给出了该生存性对应的部署方案.在实际的IaaS云环境中,应用该部署方案即可在有限的环境内优化部署在云环境中的分布式信息系统的生存性,使得分布式信息系统能够更好地应对异常、攻击等风险,在有风险的环境内拥有最大可能性来完成关键业务.

本文的研究仍有一些不足之处.最优生存性的求解是NP问题,搜索算法复杂度太高,文中应用的近似算法效果虽然较好,但仍有很大的优化空间,以进一步趋近最优解,并应对一些非常规的情况.所做研究主要针对分布式信息系统的部署方案对生存性的影响进行,故研究成果可以和传统的对风险的识别、抵御和受损组件恢复的生存性策略结合,具体的细节和契合点仍需研究.

[1] MELL P, GRANCE T.The NIST definition of cloud computing[J/OL]. National Institute of Standards and Technology. (2010-07-09) [2013-09-08].http:∥csrc.nist.gov/groups/SNS/cloud-computing/.

[2] ARMBRUST M, FOX A, GRIFFITH R, et al. A view of cloud computing[J]. Commun ACM, 2010, 53(4): 50-57.

[3] BHARDWAJ S, JAIN L, JAIN S.Cloud computing: A study of infrastructure as a service (IAAS)[J]. IJEIT, 2010,2(1):60-63.

[4] WESTMARK V R. A definition for information system survivability[C]∥Proceedings of the 37th IEEE annual Hawaii international conference on system sciences. Hawaii, USA, 2004.

[5] PARK J S, AUNG K M M. Transient time analysis of network security survivability using DEVS[M]∥KIM T G. Artificial intelligence and simulation. Lecture notes in computer science. Berlin, Germany: Springer-Verlag, 2005, 3397:607-616.

[6] NEUMANN P G, HOLLWAY A, BARNES A. Survivable computer-communication systems: The problem and working group recommendations[R]. Technical report VAL-CE-TR-92-22. New Mexico:Army Research Laboratory, 1993.

[7] ELLISON R J, FISHER D A, LINGER R C, et al.Survivable network system: An emerging discipline[R]. Report CMU/SEI-97-TR-013. Pittsburgh: Carnegie Mellon University, 1997.

[8] JHA S, WING J. Survivability analysis of networked systems[C]∥Proceedings of the 23rd IEEE international conference on software engineering. Washington, DC, 2001:872-874.

[9] 鲍鸣,戴跃伟,孔建寿,等.冗余系统的生存能力分析与评估[J].控制与决策,2009,24(12):1873-1876.

[10] MOORE A P, ELLISON R J, LINGER R C, et al. Attack modeling for information security and survivability[R]. Technical report CMU/SEI-2001-TN-001. Pittsburgh: Carnegie Mellon University,2001.

[11] GARLAN D, MONROE R, WILE D. Acme: An architecture description interchange language[C]∥Proceedings of 10th international conference of advanced studies research. Riverton, JN, 2010: 159-173.

[12] AUNG K M M, PARK K, PARK J S. A survivability model for cluster system[M]∥HOBBS M, GOSCINSKI A, ZHOU W. Distributed and parallel computing. Lecture note in computer science. Berlin, Germany: Springer-Verlag, 2005, 3719: 73-82.

[13] GILKS W R, RICHARDSON S, SPIEGELHALTER D J. Markov chain Monte Carlo in practice[M]. London: Chapman & Hall/CRC, 1996.

[14] IRVING P, AZWEEN A. Survivable system by critical service recovery model: Single service analysis[J]. International Arab Journal of Information Technology, 2009, 6(4): 412-417.

[15] CLOTH L, HAVERKORT B R. Model checking for survivability![C]∥Proceeding of 2nd IEEE international conference on quantitative evaluation of systems. Torino, Italy, 2005: 145-154.

[16] KATOEN J P, KWIATKOWSKA M, NORMAN G, et al. Faster and symbolic CTMC model checking[C]∥Proceedings of the Joint international workshop on process algebra and probabilistic methods, performance modeling and verification. London: Springer-Verlag, 2001.

[17] HEEGAARD P E, TRIVEDI K S. Network survivability modeling[J]. Computer Networks, 2009, 53(8): 1215-1234.

[18] LIU Y, TRIVEDI K S. Survivability quantification: The analytical modeling approach[J]. International Journal of Performability Engineering, 2006, 2(1): 29.

[19] MEDHI D, TIPPER D. Multi-layered network survivability-models, analysis, architecture, framework and implementation: An overview[C]∥Proceeding of DARPA information survivability conference and exposition. South Carolina, USA, 2000: 173-186.

[20] FISHER D A, LIPSON H F. Emergent algorithms:A new method for enhancing survivability in unbounded systems[C]∥Proceedings of the 32nd IEEE annual Hawaii international conference on system sciences. Maui, HI, USA, 1999.

[21] MOITRA S D, KONDA S L. A simulation model for managing survivability of networked information systems[R]. Technical Report CMU/SEI-2000-TR-021. Pittsburgh: Carnegie Mellon University, 2000.

[22] KHAJEH-HOSSEINI A, GREENWOOD D, SOMMERVILLE I. Cloud migration: A case study of migrating an enterprise IT system to IaaS[C]∥IEEE 3rd international conference on cloud computing. Miami, FL, USA, 2010:450-457.

Keywords: survivability; distributed information systems; IaaS cloud environment; quantitative analysis; deployment plan

QuantitativeAnalysisResearchonSurvivabilityofInformationSystemsinCloud

ZHAO Gansen1,2,3*, TANG Yong1,2,3*, WANG Weidong4, YU Hai4, ZHOU Shangqin3

(1.School of Computer Science, South China Normal University, Guangzhou 510631,China;2. Guangdong Engineering & Technology Research Center for Services Computing, Guangzhou 510631, China;3.Key Laboratory of Cloud Computing Security and Evaluation Technology, Guangzhou 510631, China;4.Netease Company, Guangzhou 510665, China)

Survivability is one of important indicators of an information system, which describes the ability that a system can complete its task timely even after attacks, failures or accidents occurred. A quantitative analysis framework on survivability of distributed information systems which are deployed in IaaS cloud environment is proposed. The major research direction is to evaluate the robustness of physical devices, calculate the priority of different components, and then analyze the survivability of a distributed information system in a limited scope of several physical devices and virtual machines with a deployment plan. Afterwards, the framework can draw a better deployment plan for the distributed information system to archive quasi-optimal survivability in limited environment. Finally, the deployment plan will be converted to maintenance commands and executed by IaaS cloud platform.The main contributions of the paper include: a quantitative analysis framework on survivability of distributed information systems deployed in IaaS cloud environment, method to calculate a better deployment plan to archive quasi-optimal survivability for a distributed information system in limited environment, apply several algorithms to experiment the availability of the framework, and test the effect of the frame in actual scene.

2013-09-01

国家科技支撑计划项目(2012BAH27F05);教育部-中国移动科研基金项目(MCM20121051);广东省自然科学基金项目(S2012030006242);广东省省院合作产学研重大专项项目(2011A090100003);广东省战略新兴产业核心技术攻关项目(2011A010801007);广州市科研条件建设项目(2012224-12);广州珠江科技新星项目(2011J2200089)

*通讯作者:赵淦森,教授,Email: zhaogansen@gmail.com; 汤庸,教授,Email: ytang4@qq.com.

1000-5463(2013)06-0034-08

TP393

A

10.6054/j.jscnun.2013.09.005

【中文责编:庄晓琼 英文责编:肖菁】

猜你喜欢
生存性分布式组件
无人机智能巡检在光伏电站组件诊断中的应用
新型碎边剪刀盘组件
U盾外壳组件注塑模具设计
网络可生存性研究
分布式光伏热钱汹涌
云计算系统认知生存模型及量化分析
分布式光伏:爆发还是徘徊
基于复杂网络的软件可生存性研究综述
基于DDS的分布式三维协同仿真研究
风起新一代光伏组件膜层:SSG纳米自清洁膜层