系统文件服务器硬件配置

文件服务器硬件配置  时间:2021-01-13  阅读:()

软件学报ISSN1000-9825,CODENRUXUEWE-mail:jos@iscas.
ac.
cnJournalofSoftware,2014,25(11):27022714[doi:10.
13328/j.
cnki.
jos.
004548]http://www.
jos.
org.
cn中国科学院软件研究所版权所有.
Tel/Fax:+86-10-62562563一种基于隐马尔可夫模型的虚拟机失效恢复方法张建华1,2,3,张文博1,徐继伟1,2,3,魏峻1,2,钟华1,黄涛1,21(中国科学院软件研究所软件工程技术中心,北京100190)2(计算机科学国家重点实验室(中国科学院软件研究所),北京100190)3(中国科学院大学,北京100049)通讯作者:张建华,E-mail:jhzhang@otcaix.
iscas.
ac.
cn摘要:随着虚拟化技术的发展与普及,越来越多的企业将关键业务系统部署到了虚拟化平台上.
虚拟化技术降低了企业的硬件和管理成本,但同时也给系统的可靠性带来了严峻挑战.
传统的方法通过运行时系统状态备份的方法来提高系统的失效恢复能力,但该方法会引入了巨大的系统开销.
提出了一种基于隐马尔可夫模型的系统失效恢复性能优化方法.
通过对系统运行时状态的预测分析,计算系统未来运行状态的概率趋势,并在运行过程中动态调整系统失效恢复功能与正常业务功能之间的资源分配,从而降低了系统的运行时性能开销,提高了业务系统服务能力.

实验分析显示,该方法可以在保障系统可靠性的同时有效地降低系统的性能开销,在系统运行状态稳定的情况下,最高可以降低2/3的系统响应时间.
关键词:虚拟机;失效恢复;隐马尔可夫模型;预测中图法分类号:TP316中文引用格式:张建华,张文博,徐继伟,魏峻,钟华,黄涛.
一种基于隐马尔可夫模型的虚拟机失效恢复方法.
软件学报,2014,25(11):27022714.
http://www.
jos.
org.
cn/1000-9825/4548.
htm英文引用格式:ZhangJH,ZhangWB,XuJW,WeiJ,ZhongH,HuangT.
ApproachofvirtualmachinefailurerecoverybasedonhiddenMarkovmodel.
RuanJianXueBao/JournalofSoftware,2014,25(11):27022714(inChinese).
http://www.
jos.
org.
cn/1000-9825/4548.
htmApproachofVirtualMachineFailureRecoveryBasedonHiddenMarkovModelZHANGJian-Hua1,2,3,ZHANGWen-Bo1,XUJi-Wei1,2,3,WEIJun1,2,ZHONGHua1,HUANGTao1,21(TechnologyCenterofSoftwareEngineering,InstituteofSoftware,TheChineseAcademyofSciences,Beijing100190,China)2(StateKeyLaboratoryofComputerScience(InstituteofSoftware,TheChineseAcademyofSciences),Beijing100190,China)3(UniversityofChineseAcademyofSciences,Beijing100049,China)Correspondingauthor:ZHANGJian-Hua,E-mail:jhzhang@otcaix.
iscas.
ac.
cnAbstract:Withthedevelopmentandpopularizationofvirtualizationtechnology,moreandmoreenterpriseswilldeploytheirbusiness-criticalsystemsonvirtualizationplatform.
Whilereducingthecompany'shardwareandmanagementcosts,virtualizationalsobringsseverechallengesforsystemreliability.
Whiletheruntimesystemstatereplicationbackupmethodcanimprovethefailurerecoverycapabilitiesofsystem,italsointroduceshugeoverhead.
ThispaperpresentsaperformanceoptimizationmethodbasedonhiddenMarkovmodelforsystemfailurerecovery.
Itanalyzesruntimestatesofthesystem,andcalculatestheprobabilityofsystemrunningtendency.
Businesssystemoptimizationisachievedbydynamicallyadjustingresourcesallocationbetweenthefailurerecoveryfunctionandnormalbusinessfunctiontoreducetheruntimeoverhead.
Experimentalresultsshowthatthepresentedapproachcanguaranteereliabilityofthesystemwhileeffectivelyreducingperformanceoverheadbyupto2/3.
基金项目:国家自然科学基金(61173003);国家高技术研究发展计划(863)(2012AA011204);国家科技支撑计划(2012BAH14B02)收稿时间:2013-08-20;定稿时间:2013-12-05张建华等:一种基于隐马尔可夫模型的虚拟机失效恢复方法2703Keywords:virtualmachine;failurerecovery;hiddenMarkovmodel;prediction随着现代企业IT资源的不断增加,大量异构的物理服务器并存,多种业务系统分布于不同的系统平台之上,使得整个IT系统的管理非常复杂,并且资源利用率低下.
为了降低企业的IT运营成本,提高管理效率,以虚拟化技术为基础的云计算[1]平台近年来得到了越来越广泛的应用.
通过虚拟化[2,3]技术,企业可以把原来运行于物理计算机的关键业务系统迁移到虚拟机平台上(如图1所示),使得原来多个利用率低下的业务系统可以集中部署到一台物理计算机上,从而可以大大提高企业整体资源的利用率,降低管理成本.

HardwareVirtualizationOperatingsystemApplicationserverOperatingsystemApplicationserverOperatingsystemApplicationserverHardwareOperatingsystemApplicationserverHardwareOperatingsystemApplicationserverHardwareOperatingsystemApplicationserverFig.
1Centralizeddeploymentofbusinesssystemsonthevirtualizationplatform图1虚拟化平台下的业务系统集中部署虚拟化在给企业带来好处的同时也带来了巨大的挑战.
在传统架构的平台上,1台物理机仅运行1个用户的业务系统,因此,物理机的宕机仅会对其本身所运行的业务系统造成影响.
物理机作为一种天然的隔离和保护屏障,有效地保障了不同业务系统之间不会相互影响.
但是在采用了虚拟化技术的云平台上,一个物理机上可能运行着多个虚拟机,不同用户的业务系统则运行于虚拟机上,在这种新的架构平台上,因某一个业务系统导致的物理机宕机将会导致更加严重的后果.
近几年,许多知名的公有云服务商发生了多次服务失效事件,且导致了严重的损失.
如,Amazon的宕机[4]事件导致了依赖其服务的多家公司停止服务,Google账户的24小时中断服务[5]导致大量用户不能访问自己的云端数据,FlexiSale服务商的18小时宕机事件[6]也导致了大量用户访问不到自己的数据内容.
在虚拟化平台环境下,这种业务系统集中部署和管理的方法,使得虚拟化环境下服务器的失效恢复问题显得尤为重要.
大量的研究工作针对这个问题进行了深入的研究,其中一种方法是基于日志重放的系统备份方法,通过在备份节点重放主节点的每一个操作来实现对主节点系统的备份;另一种方法是基于系统状态复制的备份方法,通过每隔一段时间把当前系统的状态备份到远程节点来实现系统的可靠性保障.
但是,上述工作在保证系统失效恢复的同时却引入了很大的系统开销:在普通处理任务情况下,系统大约有50%的性能开销;在特殊情况下,如网络密集型应用,系统开销则高达75%[7].
这严重影响了业务系统的可用性,导致大量计算资源浪费在预防很少发生的系统失效上.
针对现有工作的不足,本文提出了一种基于隐马尔可夫模型(hiddenMarkovmodel,简称HMM)的虚拟机失效恢复方法.
由于业务系统的运行往往具有一定的规律性和周期性,因此可以通过建立系统运行时状态的隐马尔可夫模型,并对系统的未来运行状态进行预测分析:当系统的预测运行状态处于正常时,系统资源被更多地分配给业务系统执行业务计算,从而保障客户的服务质量;当系统的预测状态偏离正常状态而有可能发生错误时,则调整系统的资源分配,把更多的资源用于系统运行时状态的复制和备份上,从而保证系统能够快速地从可能发生的失效中恢复.
本文的主要贡献包括如下几个方面:1)提出并建立了一种虚拟化环境下的基于隐马尔可夫模型的系统状态变化的预测模型;2)大幅度降低了失效恢复系统的运行时开销,提高了其商业化应用的可能性;3)实现了该方法的原型系统,并验证了其有效性.
2704JournalofSoftware软件学报Vol.
25,No.
11,November2014本文第1节给出本文方法的描述与系统的整体架构.
第2节介绍如何构造虚拟化环境下系统状态的隐马尔可夫模型.
第3节给出系统的自动化失效恢复方法.
第4节给出实验设计和结果分析.
第5节介绍并比较相关研究工作.
第6节对本文工作加以总结.
1方法描述与整体架构虚拟化技术的应用,使企业得以把原来独占物理主机的业务系统集中部署到虚拟化环境下.
这种部署方式在提高资源利用率和降低管理成本的同时,也严重降低了系统的可靠性.
虽然一些工作[7,8]试图通过备份的方式来解决这一问题,但却引入了较大的系统开销.
另外,由于系统的运行状态具有一定的规律性和周期性,因此可以通过对业务系统历史数据的分析来对系统的未来运行状态进行预测.
本文提出的基于隐马尔可夫模型的虚拟机失效恢复方法即是基于以上观察,首先构造系统状态转移预测模型HMM,并对其各项参数进行训练以得到正确反映系统行为特征的模型;然后,通过实时地对系统当前状态的采集,形成一个系统状态变化的时间序列,并通过HMM模型对此时间序列进行计算分析,从而达到预测系统未来运行状态的目标;在得到系统的运行状态趋势之后,则通过动态地调整业务系统与可靠性保障系统之间的资源开销,使得系统运行在趋于稳定的时候把更多的资源用于业务计算,提供系统的对外服务能力;而在系统可能即将发生问题时,则把更多的资源用于系统的可靠性保障,从而可以保证系统能够从可能发生的失效中快速恢复,减少系统的宕机时间.

整个系统架构如图2所示,分成如下几个部分:首先是数据采集模块,负责从虚拟化环境中采集系统状态数据,并对采集的数据进行初步的预处理,以符合后续的模型输入要求;系统预测模块则主要负责根据当前的系统状态时间序列,计算并输出系统未来状态的概率趋势,从而指导动态调整模块对系统的调整;系统的预测模型是通过历史数据的训练得到的,并且在系统的运行过程中,根据最新的数据动态地更新,从而使得模型更加符合系统当前的运行状态.
DatafetcherAdjusterFeedbackDatapreprocessPredictionHistorydataTrainingHMMFig.
2Systemarchitecture图2系统体系架构2虚拟化环境下的系统状态建模根据上一节对本文方法的描述与分析,我们首先需要建立虚拟化环境下的系统隐马尔可夫模型,并对模型参数进行训练和学习,以此来对系统运行时状态进行预测.
本节将详细介绍虚拟化环境下系统状态模型的构造、预测结果的计算方式、模型参数的计算等.
2.
1状态预测模型的选择为了实现对系统未来状态的预测,首先需要建立系统状态的预测模型.
隐马尔可夫模型作为一种有效的模式识别和预测模型,其模型的基本元素和结构与我们所要建立的模型的系统特性基本相吻合.
在虚拟化环境下,系统运行状态的健康状况在系统出现宕机等异常之前往往是不可观测的,只能通过其他一些系统特征参数(如CPU、内存)来猜测和推断当前的系统健康状况.
这正好与隐马尔可夫模型的隐藏状态相一致,一个隐马尔可夫张建华等:一种基于隐马尔可夫模型的虚拟机失效恢复方法2705模型如图3所示,它可以用一个五元组来描述λ=(S,O,A,B,π),其中,S={S1,S2,…,SN}是隐马尔可夫模型的隐含状态,N是指隐马尔可夫模型的隐含状态的总数.
因此,我们可以把系统的健康状况建模成隐马尔可夫模型的隐藏状态.
S1S2S3SNO1O2O3O4OMa13aN3a2Na12a23a21a11b11b12b23b32b3Mb24bNMb34Fig.
3HiddenMarkovmodel图3隐马尔可夫模型另外,为了对系统的隐藏状态进行合理的猜测和推断,只能通过由隐藏状态引发的可观测的系统特征参数的变化规律来分析.
例如,通过一系列的CPU、内存、网络等特征参数的连续变化规律来推断系统的运行状态.
这与隐马尔可夫模型的结构也是相吻合的,这些观测状态则对应于隐马尔可夫模型的参数O={O1,O2,…,OM},表示隐马尔可夫模型中观测状态的集合,其中,M为所有出现的观测状态的总数.
隐马尔可夫模型中的另外两个参数是两个状态转移矩阵,描述了系统各个状态之间的转移概率趋势,其中,A={aij,i,j=1,2,…,N}为隐马尔可夫模型的隐含状态转移矩阵,aij=P(xt+1=Sj|xt=Si)表示t时刻HMM模型由状态Si转移到Sj的概率.
B={bjk,j=1,2,…,N,k=1,2,…,M}为隐马尔可夫模型的输出状态矩阵,即,隐藏状态到输出状态的概率矩阵,bjk=P(xt+1=Vk|xt=Sj)表示t时刻HMM模型在状态Sj时产生观测状态Vk的概率.
隐马尔可夫模型中的参数π={π1,π2,…,πN}T表示初始状态概率分布,即,系统初始状态时处于各个隐藏状态的概率,其中,πi=P(x=Si)表示初始时刻时系统处于某个状态的概率.
2.
2状态空间的构造根据上述隐马尔可夫模型的描述,我们首先需要建模系统的隐藏状态和可观测状态.
对于系统的隐藏状态,这里我们取两个维度的向量数组S={H,L},其中,H表示系统的健康状况,其取值范围为{h1,h2,h3},分别表示系统处于正常、异常和失效状态;L表示系统的负载状况,其取值范围为{l1,l2,l3},分别表示系统负载较低、适中和较大的状态.
因此,我们可以得到系统的9个隐藏状态以及它们之间的概率转移矩阵:111212122212,NNNNNNaaaaaaAaaa=""##%#"其中,N为隐藏状态个数,0≤aij≤1且有11,[1,9].
Nkiiak==∈∑后续我们将给出如何通过参数训练来具体计算这些状态间的转移概率值.
可观测状态是由隐藏状态产生的可以观测的系统的运行状态,其中包含多个维度的系统状态信息,这里我们采用CPU利用率、内存利用率、网络利用率、磁盘读写速度这4个特征向量构成的向量数组V={C′,M′,N′,D′}来表示系统的一个可观测状态,其中每一个特征向量都可以有多个状态.
为了降低状态空间的复杂度,减少计算的难度,我们对每个特征向量进行离散化处理,将其划分成2~3个状态.
以网络连接数为例,将其划分成两个状态{t1,t2},分别表示当前网络连接数明显低于历史平均值和当前网络连接数明显高于历史平均值.
因此,我们可以2706JournalofSoftware软件学报Vol.
25,No.
11,November2014得到构成隐马尔可夫模型的输出状态的概率矩阵:11121312122232123,MMNNNNMbbbbbbbbBbbbb="""其中,N,M分别为隐藏状态和可观测状态的个数,0≤bij≤1且有11,[1,9].
Mkiibk==∈∑后续我们将给出如何通过参数训练来具体计算输出状态概率矩阵的值.
由于隐马尔可夫模型处理的是一维空间的状态序列,因此我们需要把从系统状态中获取的多维状态空间转换到一维状态空间,即,给定一个观测状态1111CMND′′′′计算其在一维空间中的顺序号.
这里,我们假设观测状态中某个状态向量O的状态个数用函数f(O)表示,那么我们可以得到观测状态1111CMND′′′′在一维空间中的顺序号为11111111NCMNDCfMfNfDMfNfDNfDD=+++其中,1111NCMND′′′′表示观测状态转换到一维空间中的顺序号.
2.
3状态预测算法系统状态的预测就是要求给定观测序列Y=(y1,y2,…,yt),计算系统的隐藏状态在下一个时刻Xt+1进入异常状态的概率P(Xt+1=Xi),其中,Xi为异常状态,如图4所示.
我们分两步来计算这个概率的值:首先,我们计算t时刻系统分别处于不同状态的概率向量数组πt;然后,在此基础上做一次状态转换的概率转移,从而得到t+1时刻系统处于不同状态的概率向量数组Xt+1.
最后,对其中的异常状态求和,即为系统在t+1时刻出现异常的概率.
y1y2y3y4x2x3x4x1f(x2|x1)f(x3|x2)f(x4|x3)f(|x4)f(y4|x4)f(y3|x3)f(y2|x2)f(y1|x1)f(x1)Fig.
4Probabilisticpredictionalgorithmprocess图4概率预测算法过程设t时刻系统隐藏状态向量表示为12tttttTiNπππππ=其中,N表示系统隐藏状态的个数,tiπ(1≤i≤N)表示t时刻系统隐藏状态处于状态Si的概率,则πt可以通过下面的公式来计算:12112112,,.
.
.
maxttitttsssPxxxxiyyyπλ==(1)即,找到一个隐藏状态序列x1,x2,…,xt1,使得x1,x2,…,xt1,xt=i产生输出序列y1,y2,…,yt的概率最大.
其中,λ表示隐马尔可夫模型的参数A,B和π.
我们可以依次计算πt的各个向量.
因此,系统在t+1时刻处于各个状态的概率矩阵可表示为1ttAAπ+′=.
对矩阵1tA+′在列向量上求和,即可得到t+1时刻系统处于不同状态的概率向量数组,即1111111(,1),(,2)NNNttttiiiXAiAiAiN++++===′′′=∑∑∑(2)下面我们给出具体的算法伪代码.
张建华等:一种基于隐马尔可夫模型的虚拟机失效恢复方法2707算法1.
系统状态预测算法.
输入:隐马尔可夫模型的参数A,B,π,S,O.
其中,A为N*N的转移矩阵,令Aij表示从状态si转移到sj的概率;B为N*M的输出矩阵,令Bij表示从从状态si转移到oj的概率;初始状态概率分布π,其中,πi表示x1为si的概率;观测状态序列Y={y1,y2,…,yT}表示在时刻t观测到的状态oi的序列.
输出:系统在T+1时刻处于各个隐藏状态Si的概率,即求P(Xt+1=si).
1.
FORCAST(A,B,π,S,O,Y)2.
foreach(siinS)3.
F[i,1]=πi*1iyB4.
endforeach5.
for(i=2,3,.
.
.
,T)6.
foreach(sjinS)7.
[,]max([,1]**)izjjyzFjiFziAB=8.
endforeach9.
endfor10.
for(i=1,2,…,N)11.
for(j=1,2,…,N)12.
1NijiTkjkCFA==∑13.
endfor14.
endfor15.
for(i=1,2,…,N)16.
1NikikPC==∑17.
endfor18.
returnP通过上述计算过程,可以得到t+1时刻系统处于不同状态的概率.
据此,我们可以根据对系统状态的预测结果对系统进行动态的调整.
比如,下一个状态以较高的概率进入异常状态,我们则增加系统的备份频率,从而保证系统失效时可以较快地恢复正常,并尽可能地减少数据的丢失.
上述算法的复杂度为O(N2T),其中,N为系统隐藏状态的个数,T是观测序列的长度.
由于系统隐藏状态的个数和观测序列的长度是固定的,因此上述算法的执行并不会导致过多的系统性能损失.
后续我们将通过实验数据给出验证.
2.
4模型参数训练由于上述算法的计算过程需要事先知道隐马尔可夫模型的3个参数A,B,π,因此本节将给出如何通过已有的历史数据训练得到所需要的隐马尔可夫模型的参数.
这个问题可以归结为:在给定隐藏状态的集合S和观测状态的集合O,通过一个已知的历史观测序列(y1,y2,…,yN)来计算隐马尔可夫模型的3个参数A,B,π.
这是一个迭代计算的过程,包括下面几个步骤:首先,随机初始化隐马尔可夫模型的这3个参数;然后,我们定义向前变量αt(i)表示在时刻t隐藏状态处于Si且满足观测序列(o1,o2,…,ot)的概率:121()1tNtttitkijokiPoooqskABαλα====∑定义向后变量βt(i)表示在时刻t隐藏状态处于Si且满足观测序列(ot+1,ot+2,…oT)的概率:2708JournalofSoftware软件学报Vol.
25,No.
11,November201412()11tNtttTtiikjotkiPoooqsABkβλβ+++====∑因此,我们可以得到t时刻处于隐藏状态i、t+1时刻处于隐藏状态j的概率为11()11()111()()()()tttijjotttitjNNtijjotijiABjijPqsqsOiABjαβξλαβ+++++======∑∑在t时刻隐藏状态处于i的概率为11()()()()NttttitNjttiiiiPqsOijiiαβγλξαβ======∑∑由此,我们可以得到初始时刻隐藏状态i的期望值1(),iiπγ=隐藏状态转移矩阵的期望值1111(,),()TttijTttijAiξγ===∑∑转移状态矩阵的期望值1,1().
()tTttokjkTttjBjγγ====∑∑把上述技术得到的期望值代入αt(i),βt(i)进行迭代计算,直到前、后两次参数的期望值相差不超过1%则结束迭代,即得到从历史数据中训练的隐马尔可夫模型参数.
3系统的失效恢复通过上述对系统状态的建模与分析,我们可以做出对于系统未来运行状态的判断,从而可以自适应地调整系统备份和系统服务计算之间的资源分配.
本节将介绍系统失效恢复的过程以及如何进行动态的资源调整.

3.
1系统的失效恢复过程在虚拟化环境下,一个典型的失效恢复架构如图5所示.
网络中有多台物理主机,每台物理主机上运行着多个虚拟主机,这些虚拟主机通过网络共享磁盘的方式将所有存储存放在一个存储共享网络(SAN)上.
对于需要失效恢复的虚拟机(以下称为主节点),在另外一台物理机上有它的一个运行状态备份(以下称为备份节点),备份节点按照一定的频率备份主节点的运行状态,当主节点失效时,备份节点自动启动以代替主节点来继续进行计算任务.
因为采用共享磁盘的备份方式,因此主要的备份过程就是内存数据的重复复制过程.

PrimarynodeApplicationserverOperatingsystemXenhypervisorNFSshareddiskBackupnodeApplicationserverOperatingsystemXenhypervisorFig.
5Failurerecoveryarchitecture图5失效恢复架构张建华等:一种基于隐马尔可夫模型的虚拟机失效恢复方法2709内存的备份过程是一个在主节点生成检查点、然后将检查点备份到备份节点的过程.
这个过程类似于虚拟机的在线迁移[911],其区别在于:虚拟机的在线迁移在复制完检查点后会停止主节点,并切换到备份节点,从而完成迁移;而本文的备份过程是一个持续的备份过程,在完成一次检查点的备份后,主节点继续运行,备份节点则处于等待下一次的备份过程.
如果主节点在此过程中出现异常停机,则备份节点开始替代主节点执行计算任务.

由于内存数据在两次备份间隔过程中只有部分发生了变化,因此备份过程仅需要复制这些变化的内存数据到备份节点.
Xen虚拟化环境提供了一种影子页表的机制,通过标识页表的保护位,使得虚拟机在进行内存读写的时候引发中断,从而使程序执行流程陷入Xen虚拟化管理层,由虚拟化管理层来标记内存的已更改信息.
然后,在每次备份的过程中复制这些变化的内存数据到备份节点.

3.
2资源的动态调整在虚拟机的失效恢复过程中,对主节点系统状态的备份过程是一个非常消耗系统资源的过程.
大量的对内存状态更改的记录、备份和网络传输过程占用了正常业务系统所需的计算资源.
因此,这里对资源的动态调整是通过调节失效恢复过程中的备份频率来完成的.
首先,通过上一节中给出的系统的隐马尔可夫模型,基于系统当前的运行状态,做出对系统未来运行状态的概率预测结果:如果预测结果显示系统进入异常状态的概率小于阈值,则降低系统状态的备份频率,从而降低系统状态备份过程中的资源占用,提高正常业务系统的服务能力;如果预测结果显示系统进入异常状态的概率高于阈值,即系统有很大的可能即将发生错误导致失效,则提高系统状态的备份频率,使得系统的运行状态能够尽可能快地备份到备份节点,从而在系统失效时能够较快地恢复系统状态,降低系统失效时的数据损失.

4实验本文所述方法已在基于Xen[12]的虚拟化环境下进行了原型实现.
本节我们将通过实验来验证分析本文所提出的方法(下称Hefery)的有效性以及其引入的系统运行时性能开销.
4.
1实验部署环境实验的硬件部署环境如图6所示.
Primaryserver(A)Xenhypervisor4.
2.
2Xendom0kernel3.
9.
4XendomUfedora18Tomcat7.
0.
41Backupserver(B)Xenhypervisor4.
2.
2Xendom0kernel3.
9.
4XendomUfedora18Tomcat7.
0.
41NFSsharedserver(F)Fedora18NFSserver1.
2.
6Loadgenerator(C)Jmeter2.
9Fig.
6Experimentalsystem图6实验系统在图6中,服务器A作为主节点运行Xen服务程序,其配置了IntelCorei7CPU3.
40Ghz,4G内存以及千兆网卡,服务器B作为备份节点用于接收和保存服务器A发送过来的备份信息.
服务器B同样配置了IntelCorei72710JournalofSoftware软件学报Vol.
25,No.
11,November2014CPU3.
40Ghz,4G内存以及千兆网卡.
服务器F作为NFS文件服务器,用于存储虚拟机的镜像文件,并同时共享给服务器A和服务器B,其硬件配置为IntelCore2CPU2.
83GHz,4G内存以及千兆网卡.
另外有一台负载生成的客户端节点C,用于产生对系统的压力负载.
所有的服务器节点都通过一个千兆的交换机连接在同一个局域网中.
软件环境的部署如下:服务器A和服务器B部署了同样的Xen4.
2.
2虚拟化运行环境,并采用了Linuxkernel3.
9.
4的dom0作为Xen的监控服务程序;服务器D则部署了Fedora18Linux操作系统,并安装了NFS网络文件服务系统用于提供共享文件服务;在主节点运行的domU则安装了Fedora18Linux操作系统,并在其上安装了Tomcat7.
0.
41应用服务程序.
客户端节点C部署了Windows操作系统,并运行JMeter压力生成程序来产生对服务器A的压力负载.
4.
2结果分析4.
2.
1系统开销Herefy方法在动态分析系统状态、调整系统的资源分配、提高系统的服务能力的同时,也会引入一定的开销.
主要是因为Herefy方法需要实时地获取系统状态,并根据当前获取的状态信息来计算未来的系统状态的概率趋势.
下面将通过实验量化分析Herefy方法的开销大小.
实验设置系统的备份间隔为25ms,并分两种情况进行分析:服务器A节点空载和服务器A节点满载.
在系统空载时,即系统不运行任何对外服务程序,仅测试Herefy本身所引入的系统开销.
测试结果如图7(a)所示,服务器A节点在不使用Herefy的情况下,CPU利用率均值为20%,而在使用了Herefy的情况下,CPU的利用率均值为23%.
Herefy引入的CPU开销基本保持在3%以内,因此,其引入的资源开销并不会对系统的运行造成较大的影响.
另外,在满载的情况下,我们在虚拟机内运行一个Tomcat应用服务器,并通过Jmeter产生负载使得服务器CPU处于100%的忙碌状态,然后测试Herefy对Web请求的响应时间的影响.
实验结果如图7(b)所示:在不使用Herefy的情况下,服务器的请求响应时间平均为17.
02s;在使用了Herefy的情况下,服务器响应时间平均为18.
29s.
因此在系统满载的情况下,Herefy方法对Web应用的请求响应时间的影响在7%左右.
Fig.
7Systemoverhead图7系统开销4.
2.
2隐马尔可模型预测效果本实验的测试目的是验证系统的隐马尔可夫模型对系统运行状态趋势的预测能力.
实验通过隐马尔可夫模型实时地对系统当前状态进行预测分析,输出系统运行状态的预测结果.
图8给出了隐马尔可夫模型对系统状态的预测概率输出.
从图中可以看出:在时间点160左右,当业务系统将要出现异常状态时,隐马尔可夫模型的预测概率输出明显变高,可以较好地给出业务系统未来的运行趋势.
另外,在时间点20左右,隐马尔可夫模型的输出概率也出现了小幅的升高.
由于隐马尔可夫模型是通过分析计算系统的运行状态的时间序列来预测未来的状态的,所以,当业务系统运行的状态出现了类似于业务系统TimeHerefyRemus5040302010050403020100ResponsetimeTime605040302010050403020100CPU利用率均值(%)HerefyRemus(a)Noload(b)Highload张建华等:一种基于隐马尔可夫模型的虚拟机失效恢复方法2711异常状态下的行为特征序列时,模型的预测结果也会出现小幅的升高.
对于这种问题,首先,因为业务系统在异常状态下是具有特定的状态序列的,正常状态下的业务系统的状态序列很难与异常状态下的业务系统状态序列吻合,因此,隐马尔可夫模型的预测输出结果的增幅会有较大的区别,我们可以通过设置一个阈值的方式来区分这两种不同的状态;其次,在正常的业务状态被判定为可能出现异常的情况下,会导致系统分配更多的资源来保证系统的可靠性,除了损失部分系统性能以外,不会产生不良影响.
因此,这里我们倾向于把这个阈值设置为一个较低的值,从而可以捕获更多的业务系统异常状态而不会对系统产生不良影响.

Fig.
8HMMoutputofforecast图8隐马尔可模型预测输出4.
2.
3方法的有效性本实验的目的是,通过使用和不使用Hefery方法来验证Hefery方法对系统运行时服务能力的改进的有效性.
测试过程中,服务器A上运行Xen虚拟化环境,并启动了一个部署了Tomcat的虚拟机对外提供Web服务.
在服务器A运行的过程中,其系统状态通过Remus方法备份到服务器B节点上.
负载生成客户端产生足够的压力负载,使得部署Tomcat的虚拟机可以满负荷运行.
实验结果如图9所示.
在不使用Hefery方法的情况下,由于Remus备份机制导致系统大量的资源消耗,使得系统的平均响应时间大约在15s左右;而在使用了Hefery方法的情况下,系统在健康状态正常时,动态地降低了Remus的备份频率及其资源消耗,使得系统的响应时间降低了2/3,保持在5s以内,从而提高了系统的服务能力.
在Herefy检测到系统的异常状态时,为了达到较高的系统可靠性和快速恢复能力,其动态调整Remus的备份频率及其资源消耗,使得更多的系统资源用于系统的保护,此时,系统的响应时间与不使用Herefy方法的情况下基本持平.
Fig.
9Systemresponsetimecomparison图9系统响应时间对比4.
3讨论上述实验验证了本文所提出的方法能够有效地对业务系统的异常状态进行预测,并根据预测结果对系统Time100200400Log-ProbabilityLog-Probability15020016080120Time5040302010050403020100Responsetime(s)HerefyRemus2712JournalofSoftware软件学报Vol.
25,No.
11,November2014的资源进行动态的调整和分配,使得业务系统的服务能力得到优化和提升.
同时,实验结果表明:本文提出的方法所引入的开销较小,可以较好地保障业务系统的对外服务能力.
本文工作仍存在不足之处,虽然通过对系统运行状态的预测和动态调整系统的资源分配提高了系统的服务能力,但在系统发生异常并进行恢复的过程中会产生数据丢失的问题,即,在系统的两次备份间隔中还没有来得及完成备份的数据会丢失,从而会导致系统的异常恢复对用户是可察觉的.
对于未来的下一步工作,我们希望通过缓存这部分数据来做到异常恢复过程对用户的透明性.
主要包括两个方面:首先,在系统备份同步的间隔中,前端路由节点记录当前系统的所有外部用户的请求信息;然后在系统失效恢复后,通过在备份节点重放的方法来尽可能地恢复系统备份间隔中丢失的数据.
5相关工作近年来,云计算得到越来越广泛的应用,如Amazon的弹性云计算平台EC2[13]、Google的AppEngine[14]等.
与此同时,云计算平台频繁的宕机事件[46]也使得虚拟化环境下的快速失效恢复问题成为工业界和学术界关注的焦点.
为了解决虚拟化环境下的服务器失效恢复问题,已经有大量的相关工作进行了深入的研究.
它们大致可以分为两类:一类是通过执行过程重放的方法来解决.
如Scales等人[8]通过日志重放的方法实现了虚拟机的远程快速恢复,其在主节点虚拟机运行的同时,记录虚拟机的执行日志信息,并通过网络发送到备份节点,备份节点接收虚拟机的执行信息后,在本地通过重放还原主节点虚拟机的系统状态,从而使得主节点失效时可以快速切换到备份节点.
另一类是通过状态复制的方法解决.
如Cully等人[7]实现了一种基于系统状态复制的运行时系统失效恢复方法,它通过实时地把系统CPU和内存状态备份到另一台服务器上来实现服务器的失效恢复能力.
由于其每隔25ms做一次系统状态的备份,有大量数据需要复制到备份节点上,因此性能开销较大,最高开销可达75%.
由于上述方法的性能开销都比较大,因此另外一些工作对虚拟机的失效恢复的性能开销问题进行了优化研究.
比如:Zhu等人[15]通过减少检查点复制时的读失效和提高写失效的预测来提高系统状态备份的效率;Gerofi等人[16]通过比较需要传输的内存的相似性,提取出其中的更新内容进行压缩后传输,从而达到提高备份传输效率的目的;Lu等人[17]则提出了一种投机的内存传输策略,即,在基于时代的复制策略中提前传输部分内存到备份节点,从而提高传输效率.
这些方法都是针对虚拟机备份过程中的传输数据的优化,优化效果有限,虚拟机的失效恢复开销仍然较大.

Digital-VM:服务器,$80/月;挪威/丹麦英国/Digital-VM:日本/新加坡/digital-vm:日本VPS仅$2.4/月

digital-vm怎么样?digital-vm在今年1月份就新增了日本、新加坡独立服务器业务,但是不知为何,期间终止了销售日本服务器和新加坡服务器,今天无意中在webhostingtalk论坛看到Digital-VM在发日本和新加坡独立服务器销售信息。服务器硬件是 Supermicro、采用最新一代 Intel CPU、DDR4 RAM 和 Enterprise Samsung SSD内存,默认...

提速啦(24元/月)河南BGP云服务器活动 买一年送一年4核 4G 5M

提速啦的来历提速啦是 网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑 由赣州王成璟网络科技有限公司旗下赣州提速啦网络科技有限公司运营 投资1000万人民币 在美国Cera 香港CTG 香港Cera 国内 杭州 宿迁 浙江 赣州 南昌 大连 辽宁 扬州 等地区建立数据中心 正规持有IDC ISP CDN 云牌照 公司。公司购买产品支持3天内退款 超过3天步退款政策。提速啦的市场定位提速啦主...

Hostodo独立日提供四款特价年付VPS套餐 最低年付$13.99

前天,还有在"Hostodo商家提供两款大流量美国VPS主机 可选拉斯维加斯和迈阿密"文章中提到有提供两款流量较大的套餐,这里今天看到有发布四款庆祝独立日的七月份的活动,最低年付VPS主机13.99美元,如果有需要年付便宜VPS主机的可以选择商家。目前,Hostodo机房可选拉斯维加斯和迈阿密两个数据中心,且都是基于KVM虚拟+NVMe整列,年付送DirectAdmin授权,需要发工单申请。(如何...

文件服务器硬件配置为你推荐
已备案域名查询如何查询已备案域名是不是万网/阿里云接入的备案免费国内空间跪求国内最好的免费空间!个人虚拟主机个人网站该购买什么类型虚拟主机?美国vps租用VPS服务器租用哪里的好?美国vps租用如何租用到最快的美国服务器美国服务器托管美国网站服务器去哪里租?www二级域名请问 www.aaa.bbb.com 是一级域名还是二级域名啊?能否备案?怎么备案?域名是什么域名是什么?org域名org域名做网站好不好老域名老域名的利弊有哪些?
云南虚拟主机 深圳主机租用 万网域名代理 国内免备案主机 香港机房 inmotionhosting mediafire php主机 国外bt ev证书 云鼎网络 嘟牛 域名与空间 中国域名 广东主机托管 江苏徐州移动 云销售系统 hosting24 phpinfo 服务器操作系统 更多