Xen虚拟机(精选5篇)
Xen虚拟机 篇1
随着网络的日益发展和信息化建设水平的不断提高, 企业的业务增长总是要求l T基础设施不断扩展, 政府和企业经常需要增加服务器以支持新应用, 而这必然导致许多服务器无法得到充分利用, 致使网络管理成本大幅度增加, 灵活性和可靠性降低。同时网络的要点就是资源共享, 在服务器分工明确的前提下, 是否能够做到稳定和均衡的资源利用呢?采用服务器集群和虚拟服务器软件就可以实现。
集群系统是一种并行分布式处理系统, 由很多连接在一起的独立计算机组成, 像一个单独集成的计算资源一样协同工作。集群系统的主要目标是通过网络互联实现全系统范围内的资源共享, 同时通过高效的资源管理和任务调度技术实现资源的有效共享, 进而提高资源的利用率, 获得高性能。网络是继传统互联网实现了WEB之后的第三个浪潮, 可以称之为第三代互联网, 传统互联网实现了计算机系统的连通, WEB实现了网页的连通。
集群技术发展迅速。集群系统的方向包括全球集群, 在这种系统中, 机器可以遍布全世界 (或者是WAN所能到达的任何地方) 。这样的工程依然是研究和开发的主题。研究集群系统主要是研究系统的高可用性。高可用性系统 (high availabilitysystem) 是由集群软件监控, 具有多台服务器互相冗余的系统。
1 Xen体系结构分析
由于目前的虚拟机有很多种, xen是贝尔实验室研究的一个开放源代码软件, 之所以选择xen作为我们迁移设计的平台, 是因为xen的开放性, 可以保证迁移的未来工作的完整性和前进性。
Xe n成功的对一台计算机进行划分, 使得能够支持多个操作系统的并发运行, 并且每个操作系统是相互独立、隔离的。每台虚拟机的执行不会影响另一台虚拟机的性能, 这一点在操作各个虚拟机的用户相互间并不信任的情况下显得特别重要。其次, xen支持多种多样的不同操作系统以提供给各种异构的流行应用的支持 (这里的异构指的是应用开发依托的操作系统不同) , 因此在实现上也就有很大差异, 使得应用并不能够跨平台移植, 因为Xen不需要对应用程序进行修改, 那么它支持各种常用的操作系统。第三, 由虚拟化技术xen引入的性能开销很小。Xen操控的是常用的操作系统, 但是需要对操作系统中的某些相关部分进行一些修改。Xen使得用户能够动态地实例化一个操作系统, 以执行他们需要的应用。
Xe n就是以整个操作系统的粒度复用物理资源, 它能够提供在操作系统间的性能隔离。相对于进程级的资源复用, Xen要允许一定范围内的guest OS“和平”共存, 而并非去指定一个特殊的应用二进制接口。
2 Xen体系关键技术
2.1 高可用的迁移机制
进程迁移机制的实现目标有多种:有的是为了达到负载平衡, 有的是为了提高灾难恢复程度, 有的是为了加强用户级的使用。在虚拟机软件xen中, 迁移机制的实现目的也是不同的。
在xen的迁移机制按照迁移的发起者分成两种:自我迁移和场景迁移 (live migration) 。自我的迁移是由要迁移域引起的, 这个迁移需要对原域进行一个短小的停顿时间, 然后把封装好的系统的信息状态集进行迁移。基于场景的迁移主要是由管理程序发起的迁移。
在自我迁移中, 原域首先是自己寻找要迁移的目标域, 如果在现有的环境中, 有合适的目标域, 就返回成功信息, 否则返回失败信息, 在系统中进行日志记录。同时在成功的前提下, 得到目标域的一些信息, 例如:目标域的ID地址、IP地址、内存使用情况、CPU的使用情况等。在获得这些信息之后, 进行虚拟设备的迁移。在xen中, 设备对于后端客户来说, 都是虚拟的, 只有前端的domain0才可以真正的接触到这些真实设备, 并且具有真实设备的驱动。
2.2 气球驱动分析
在xen中首先比较重要的是气球驱动的引入, 使xen的控制面板可以很好动态控制客户域的内存使用情况, 并且可以动态调整客户域的内存。
主要的实现函数:
*balloon_init () 初始化函数
*incre as e_re s e rvation增加驱动内存的函数
*de cre as e_re s e rvation () 减少气球驱动的函数
*balloon_proce s s () 气球驱动的运行过程
*balloon_appe nd () 向气球驱动添加内存页
*s tatic s truct page*balloon_re trie ve (void) 从气球驱动减少内存页
*fre e_e m pty_page s_and_page ve c (s truct page**page ve c, int nr_page s) 释放一定数量的空闲页
*s tatic s truct page*balloon_re trie ve () 该函数主要是向气球驱动索要一定数量的内存页
整个的气球驱动的实现如上图所示:虚拟监控器向位于domain0内的气球驱动发送调用命令, domian0内的气球驱动调用客户域的内存管理单元MMU, 请求分配一定的内存, 内存管理单元释放掉相应数量的内存, 同时向虚拟监控器返回调用分配成功句柄。
3 未来工作展望
自从微软公布了其云计算操作系统。计算机领域可谓“云满天”, 在这个新的技术名词或者是技术领域内, 虚拟化技术起着关键的作用, Xe n VMM (virtualm achine m onitor) 是由剑桥大学计算机实验室开发的一个开源项目, 它能够让我们创建更多的虚拟机, 每一个虚拟机都是运行在同一个操作系统上的实例。
Xe n项目是一个很有趣同时充满了希望的项目。它的代码很复杂, 特别是虚拟内存管理、活动域合并工具和授权表机制。
摘要:集群技术的发展, 必然带动虚拟化技术, 虚拟化技术为集群系统提供了高可用性和高安全性, Vmware虚拟机已经成功地运用于用户桌面, 并且体现出了所独有的优势。Xen虚拟机也在逐步的发展, 并且xen的代码是开源的, 增加了开发的方便性。
关键词:虚拟化,xen,集群技术
Xen虚拟机 篇2
在虚拟化环境中, 动态迁移的虚拟机[1]是一个强大的管理工具,它促进系统维护、负载平衡、容错及电源管理。 由于动态工作负载使得有些节点利用率低下而有些节点却不堪重负,为了解决虚拟机物理节点之间的负载平衡问题,提出虚拟机迁移策略。
预复制技术[2,3]在高带宽低负载的环境中性能优越, 但处于低带宽高负载的情况时性能却表现较弱,导致停机切换时间和总迁移时间较长,影响了虚拟机的正常服务。 而本文将传统预复制技术与相关预测算法、趋势判断算法结合,并利用自适应停机阈值机制取代预复制技术固定阈值机制,从而有效减少了迁移过程中的总时间及停机时间。
1相关工作
最近几年,国内外很多学者针对预复制技术在低带宽高负载环境下的运行效率问题提出了很多完善和优化方法。 例如Chen Yang[4]等人在2011年提出一个基于内存混合复制方式的动态迁移机制Hyb MEC, 结合按需和内存推送两种复制方式来提高实时迁移性能;Hai Jin , Li Deng[5]等学者在2014年提出一个适应性压缩方法模型MECOM, 针对不同内存页面的特征使用相应的压缩算法来降低页面传输大小。 不同于以上各类优化方法,本文从预复制技术如何在低带宽高负载的环境下有效判断最优停机时机的角度对虚拟机实时迁移性能进行研究,旨在达到更好的迁移水平。
2传统预复制技术介绍及其优劣性分析
随着虚拟化技术不断发展,Clark 、Nelson等人[2,3]相继提出了预复制动态迁移技术,预复制的迁移过程如图1所示( 主机A为源主机, 主机B为目的主机) 。
虽然预拷贝技术在对应用及用户影响较小的情况下极大减少了停机时间, 适合迁移写操作不频繁的负载,但该技术仍存在以下问题:例如迭代过程中,进行多次迭代会增加迁移总时间,迭代不足又会增加不必要的停机时间,所以迭代次数的确定受到网络传输带宽及负载类型的影响; 当脏页率大于或等于页面传输速率时, 迭代过程可能进入不收敛状态等情况。
3基于Xen虚拟机改进后的迁移机制
在Xen[6]整个迁移过程中,最复杂的部分当属内存迁移。 本文在研究传统Xen内存迁移机制的基础上对传统迁移方案进行了优化。 传统Xen内存迁移机制如图2所示。
由图2可知,迁移执行模块实际负责了整个迁移过程的大部分工作, 因而该模块尤为重要, 但在其实现过程中仍有不足之处:(1) 在脏页率较高的情况下, 增加了脏页重复传输的概率。 (2)在第1轮迭代过程中,不需要传输所有的内存页,因为许多页在以后的迭代过程中被再次修改,需要再次迭代传输。
针对以上不足, 本文提出一种改进机制, 如图3所示。 除了对内存页进行信息监控,还通过先使用预测模型对后轮脏页率进行预测,在此基础上对脏页率的变化趋势进行分析, 使之与数据传输率进行比较, 结合自适应停机阈值机制使虚拟机在低带宽高负载的环境下也能有很好的表现。
4改进后Xen迁移算法的实现
4 . 1马尔科夫脏页预测
预测概率算法使用马尔科夫模型[7]。 本文设定状态E1表示内存页没有被读、写,设定状态E2表示内存页只读,设定状态E3表示内存页被修改,默认迁移开始前的状态为E1。 相关概念和计算公式如下:
( 1 ) 状态转移概率矩阵: 假定内存页有n个可能的状态, 即E1, E2, E3… En, 本文使用pij表示内存页的状态从Ei变成Ej的状态转移概率,状态转移概率矩阵为:
(2) 状态概率: 状态概率表示内存页的初始状态已知, 内存页的状态转移k次后变成状态Ej的概率,且:
由马尔科夫假设和贝叶斯条件概率公式得:
设定行向量 π(k)=[π1( k ) , π2( k ) , … πn( k ) ] , 由公式得到状态概率的递推公式:
由于只需要预测脏页的状态概率, 本文设置初始状态行向 π(0)=[0,0,1]。
4 . 2 Mann — Kendall趋势变化检验
当预测出后轮的脏页率高于网络传输带宽时, 改进后的迁移机制利用Mann—Kendall检验模型[8]对脏页率时间序列进行趋势分析,以确定停机时间。 该模型是一种非参数检验类型的时间序列趋势分析方法,其优点是不要求时间序列符合一定的分布, 受异常值的影响较小,而且计算简便。 采用Mann—Kendall模型检验脏页率变化趋势的过程如下:
( 1 ) 假设脏页率时间序列D = { d1, … , dn} 无趋势;
( 2 ) 如下计算 统计量S :
其中:
S为正态分 布 , 其均值为0 , 方差为 :
( 3 ) 取n > 10 , 计算一个标准正态分布统计量如下:
( 4 ) 在双边的趋势检验中, 取显著性水平 α = 0 . 05 , 若|Z|≥Z1 - α / 2( ± Z1 - α / 2为标准正态分布的1-α/2分位数), 则原假设不可接受,说明时间序列D有明显趋势。
( 5 ) 计算倾斜度 β 如式( 9 ) , 并进行趋势判断。
其中Median为取中值函数, 当 β>0时说明有上升的趋势,当 β<0则表示下降的趋势。
4 . 3自适应阈值机制的引入
根据上述脏页率的预测及趋势分析方法, 本文在预拷贝算法固定阈值的基础上引入了自适应停机阈值机制[8],具体实现如下所述:迭代拷贝过程中, 统计每个迭代轮中的脏页率以构成一个时间序列,在每轮结束时首先对后轮的脏页率进行预测。 若预测出脏页率大于等于数据传输率, 则进一步对脏页率时间序列进行趋势判断, 若判断结果为上升或平稳趋势, 则判定后面的迭代轮会进入到 “无法收敛”状态,那么就立即进入停机拷贝阶段; 否则, 说明脏页率的变化不会导致 “ 无法收敛” 状态, 则按原算法继续进行。 通过加入该机制, 迁移过程中可以实时监测脏页率的变化情况, 一旦发现有进入 “ 无法收敛” 的趋势就能在达到固定迭代次数阈值之前进行停机拷贝, 有效避免拖延总迁移时间, 及时控制停机时间。
5实验及分析
为了保证实验环境的稳定性, 测试出更精确的实验结果, 测试中构建了一个小的私有云平台, 基本可以满足Xen虚拟机动态迁移的实验要求。 其中使用两台普通PC分别做为源主机Host A和目的主机Host B , 另一台PC作为连接源主机和目的主机的NFS服务器, 为动态迁移提供NFS文件共享服务,并且使用了一台100 M交换机连接这几台PC。 该实验环境为3台PC配置相同的物理主机,CPU是Intel Core i5-3210 M , 其工作频率是2 . 50 GHz , 内存是2 048 M , 硬盘是320 G , 虚拟平台为Xen 4 . 3 . 1 。
本实验采用开源系统测试软件Lmbench为虚拟机测试写操作任务,使用其bw_mem命令对CPU性能进行测试,同时,修改bw_mem.c的wr函数,通过库函数usleep对内存写速度进行调整,借此测试程序为实时迁移中的虚拟机提供如下三种负载:(1)脏页率上升的写操作;(2) 脏页率下降的写操作;(3)脏页率平稳的写操作。 实验分为两种情况:
实验1:在原配置上启动虚拟机,其分别运行上述三种负载,从停机时间和总迁移时间两方面对比传统算法与改进算法的优劣,如图4、图5所示。
实验2 : 启动虚拟机( 其运行脏页率上升负载) , 利用Linux流量控制工具TC限制网络带宽分别为20 M、 30 M 、 40 M … 70 M , 在此配置下进行迁移算法对比实验, 结果如图6、图7所示。
6总结
本文在对后轮脏页率利用马尔科夫模型进行预测的基础上,结合Mann-Kendall验模型对迁移中脏页率的变化趋势进行判断,最后根据判断结果采用自适应阈值机制确定最优停机时间,更好地解决虚拟机中网络传输带宽的大小和运行负载的高低对传统预拷贝技术的影响。 同时实验结果表明,本文提出的优化机制能有效提高虚拟机基于预拷贝算法实时迁移的性能。
参考文献
[1]江雪,李小勇.虚拟机动态迁移的研究[J].计算机应用,2008(9):2375-2377.
[2]CLARK C,FRASER K,HAND S,et al.Live migration of virtual machines[C].Proceedings of the 2nd Symposium on Networked Systems Design and Implementation,2005:273-286.
[3]NELSON M,LIM B,HUTCHINES G.Fast transparent migration for virtual machines[C].Proceedings of the USENIX Annual Technical Conference,2005:391-394.
[4]Chen Yang,Huai Jinpeng,Hu Chunming.Live migration of virtual machines based on hybrid memory copy approach[J].Chinese Journal of Computers,2011,34(12):2278-2291.
[5]Hai Jin,Li Deng,Song Wu,et al.MECOM:Live migration of virtual machines by adaptively compressing memory pages[J].Future Generation Computer Systems,2014:23-35.
[6]石磊,邹德清,金海.Xen虚拟化技术[M].武汉:华中科技大学出版社,2009.
[7]孙国飞,谷建华.基于预拷贝的虚拟机动态内存迁移机制改进[J].计算机工程,2011,13(37):36-39.
Xen虚拟机 篇3
随着信息技术的快速发展, 中小型商用企业的业务电子化程度将不断提高, 与Internet的联系将更加紧密, 需要信息基础平台去支撑业务高速发展。相对于大型应用群体而言, 中小型企业的信息化建设工程通常具有规模较小、结构简单的特点, 综合资金投入、人力资源以及未来发展等因素, 网络的实用性、安全性与拓展性是中小企业实现信息化建设的主要要求。因此, 如何利用企业已有的资源创建高可靠性及易管理的网络架构是目前中小型企业网络所面临的一个重要问题。
中小企业在信息化的过程中, 随着数据增长速度的不断加快, 数据的可用性及安全性尤为重要。中小企业采用的传统本地直接存储 (DAS) 方式, 由于存储设备附属于某个服务器, 数据被局限在某个主机的控制之下, 这种方式已远远不能满足企业数据高可用性、可扩展性、集中统一便于管理的需要, 由此而发展出了网络存储技术[1]。目前, 构建基于iSCSI具有带外存储虚拟化结构的存储区域网 (Storage Area Network, SAN) 是网络存储的新兴技术, 具有广泛的应用前景。然而数据的剧增和对各种应用服务的需求会导致物理服务器的数量增长到难以管理的程度, 因此企业需要虚拟化技术来解决迅猛增长的服务器造成的低效率问题。本文针对传统中小型企业网络布局的不足, 分析了基于iSCSI协议的IP SAN技术, 利用xen虚拟机技术创建一种高可靠性易管理网络架构以确保企业数据的安全性和可用性, 并分析了该架构的优势及技术实现。
1 传统中小型企业网络布局
传统中小型企业由于资金、技术等方面的原因, 一般采用的网络布局如图1所示。
这种布局的缺点是:①布局机器多, 布线较为复杂;②管理复杂, 成本高, 需要有单独的机器担当文件服务器、邮件服务器、www服务器等;③安全性差, 数据备份困难, 数据单独存放在每台机器上难以保证安全;④缺少可靠性, 交换机一旦出现问题将导致整个系统无法使用, 其它服务器出现故障也将导致相当的服务无法工作。
2 基于iSCSI的IP SAN技术
SAN是一种利用FC (Fiber Channerl) 等互连协议连接起来的、可以在服务器与存储设备之间以及存储设备与存储设备之间直接传送数据的网络[2]。它利用可扩展的网络拓扑结构, 为各种应用提供数据存储及备份管理等服务, 具有高性能、高可用性、便于管理等特性。
iSCSI是IETF制定的一种基于互联网TCP/IP的网络存储协议。该协议定义的是SCSI到TCP/IP的映射, 即将主机的SCSI命令封装成IP数据包, 在IP网络上传输, 到达目的地后, 再通过解封装恢复成封装前的SCSI命令, 从而实现SCSI命令在IP网络上的直接透明传输[3]。既然iSCSI是一种基于IP网络的存储技术, 因此不需要改变现有的网络结构, 在中小型企业中只需要投入少量资金购买比较高速的以太网网卡和交换机, 就可以轻松实现iSCSI存储, 通过IP网络将现有的服务器和存储设备连接起来形成基于IP的SAN, 让远程用户也可共享iSCSI存储系统中的数据和存储空间。采用IP网络架构的iSCSI, 使用的网络设备成本低廉且技术成熟, 维护和管理方便, 并且没有传输距离上的限制, 构建基于iSCSI的IP SAN非常适合中小企业的发展与应用。
典型的IP SAN存储网络系统结构如图2所示。
图2中使用以太网交换机搭建网络环境, 由iSCSI Initiators和iSCSI Targets组成。其中Initiator是指一个软件驱动程序或是一个硬件设备, 位于服务器端, 执行SCSI命令并将数据发送至iSCSI层, 发出读、写数据请求, 如文件服务器、邮件服务器等;Target 是指磁盘阵列、磁带库之类的存储资源, 响应客户端的请求。
3 Xen虚拟机技术分析
Xen是剑桥大学计算机实验室发起的一个开源的虚拟机项目[4], 最初基于32位的x86体系结构而设计开发, 使用xen可以使单一物理主机上同时运行多个操作系统。简洁的代码和开源性质使得Xen具有良好的安全性和稳定性, 在不同的计算平台上都可以运行[5]。Xen的开发一直基于以下三条原则:所有的虚拟机相互隔离;可以支持不同操作系统和多种应用;由虚拟化技术引入的性能开销很小。由于Xen具有以上多种优点, 它已成为业界最优秀的虚拟机之一。
3.1 Xen的体系结构
从Xen 3.0版本开始加入了硬件虚拟技术支持, 从而能够运行未经修改的操作系统, 实现了全虚拟化。图3为Xen3.0的体系结构。Xen虚拟机系统由如下几部分组成:①虚拟机监视器VMM:是一个软件抽象层, 将硬件平台 (处理器、内存、网络、磁盘等) 分割成多个虚拟机完成硬件的虚拟化, 利用VMM实现对硬件和系统资源的管理、虚拟机的调度等;②VM0:是在引导时创建, 也称为Domain 0 (其他虚拟机以此类推可称为Domain1、Domain2…) , 完成虚拟机的创建、管理, I/O设备的模拟等;③运行已修改过的Linux虚拟机, 如VM1, VM2;④运行未修改过操作系统的虚拟机, 如采用Intel VT技术的Windows主机VM3。运行在VM1、VM2中的操作系统通过调用VMM提供的API完成诸如分配物理内存、修改进程页表等重要的管理操作。在访问外设时, VM1、VM2中的前端驱动 (Front-End) 将请求通过共享内存的方式传递给VM0中的后端驱动 (Back-end) , 后端驱动再调用Linux 操作系统中的设备驱动程序来完成操作。这样可以使得Xen利用Linux中已有的驱动, 不用再重新开发驱动。
从图3中可以看出, Xen体系结构具有良好的隔离性, 将应用软件隔离在独立的虚拟机上, 任何入侵均可被限制在所发生的一台虚拟机上, 而不会影响其他虚拟机的正常运行, 以此提升系统的安全性和可靠性。
3.2 Xen虚拟机迁移技术
迁移技术就是在保持虚拟机运行的同时, 将它从一个计算机迁移到另一个计算机, 并在目的计算机恢复运行, 如图4所示。利用虚拟机迁移技术, 可以实现服务器的动态服务转移和运行时负载平衡。
对于Xen而言, 迁移就是将一个Domain完整地复制到另一个Domain中。Xen利用预拷贝实现动态迁移技术, 即在源Domain运行的时候完成一部分迁移工作, 然后停止源Domain, 完成剩下的迁移工作, 这样可以减少源Domain停止运行后需要进行的工作, 大大缩短停机时间。整个迁移过程如下:
首先选定目的计算机, 即确定目标Domain运行的机器;源Domain和目标Domain通过socket建立连接, 目标计算机中有一个进程监听之前协定好的接收迁移的端口, 然后源Domain建立socket连接这个端口;建立之后, 请求迁移, 并判断目的计算机中是否有足够的内存等资源, 如果有则预定这些资源, 否则先释放部分内存或是放弃迁移;当收到目的计算机响应后, 开始进行预拷贝, 源Domain 并不停止运行, 将其内存页以迭代的方式通过前面建立的socket连接传输给目的计算机。在第一轮迭代中, 所有的页都需要传送, 而以后的迭代中拷贝的页只是上次迭代中改变了的页, 这样使得目标Domain的内存页更接近源Domain内存页的状况;当满足一定条件时, 源Domain被暂停, 进入停机拷贝阶段, 并开始设备的迁移, 将设备 (如CPU、I/O) 的状态信息发送到目的计算机;当内存和设备迁移完毕, 关闭socket连接, 迁移结束, 启动目的Domain, 并广播新的IP地址。
4 构建高可靠性网络架构
本文中主要是利用Xen虚拟化技术实现企业中服务器的整合, 并利用其服务迁移技术实现对各种服务的动态管理。通过Xen虚拟化技术, 可以允许在同一台服务器上创建多个虚拟机, 每个虚拟机可以包含一个操作系统实例并运行多个服务程序, 从而将以前需要在多台物理服务器上运行的各种服务整合到一台物理计算机中, 用其上运行的虚拟机分别担当文件服务器、邮件服务器、www服务器等工作, 将SAN数据中心放在物理主机上, 利用iSCSI协议将其上的物理磁盘映射到Xen服务器上。这样在提供同样服务的前提下不仅大大减少了物理主机的数目, 而且实现数据中心与应用服务处理中心物理分离, 从而节约企业成本, 方便数据管理与备份。
在基于iSCSI的IP SAN 中利用XEN构建网络架构如图5所示。下文中所有SAN均指基于iSCSI的IP SAN。
4.1 具体实施
实施该架构时具体布置包括:
(1) 主控制中心和从控制中心可由性能较高具备相同配置的PC担任, 可设置一个主控制中心与一个从控制中心, 其上都安装集成了Xen的Linux操作系统。
(2) 主控制中心和从控制中心都需要三块网卡, 两块分别连接到接数据中心SAN的交换机2与3, 另一块连接到外网交换机1。为了提高网络主干系统的响应速度, 实现服务器与交换机之间的高速连接, 宜选择千兆以太网网卡和交换机, 如TP-LINK的TG-3269、TL-SG1005D等。
(3) SAN数据中心由较高性能的PC担任。也可通过两个或多个相同型号的硬盘在PC上建立磁盘阵列RAID (Redundant Array of Independent Disk) , 增加存储容量并使能并行的磁盘向每一个硬盘读写数据, 分散保存数据, 有利于提高硬盘的读写速度和数据的安全性。在其上安装iSCSI Target软件, 同时在主从控制中心上面安装iSCSI Initiator软件, 以此将SAN数据中心上的磁盘映射到主从控制中心供guest使用。
(4) 根据应用需求, 通过在主从控制中心上安装多台虚拟机来充当各种服务器如文件服务器、邮件服务器等。如果虚拟机中需要安装WindowsXP操作系统, 则担任主从控制中心的PC机需支持Intel VT-x技术。
(5) 上述连接方式是采用普通网卡加协议转换软件的形式, 硬件成本较低。企业也可以根据实际情况选择购买比较昂贵的iSCSI HBA适配卡用于主从控制中心、SAN数据中心与交换机之间的连接, 提高数据传输速度, 优化网络性能。
4.2 架构分析
实施该架构时需要实现:
(1) 主从控制中心实现互备份并实现一个心跳机制, 用于监听彼此的状态, 如果主控制中心因为重启或者故障关机, 从控制中心可以检测到对方的状态并使自己充当主控制中心。
(2) 在主从服务器上安装一个监控管理端, 在每台主从服务器的guest上安装一个监控代理端, 管理端可以向代理端发送管理命令, 代理端也可以将自己的状态信息发往管理端。
(3) 确保guest上服务的可靠性, 在主从控制中心的guest上同时运行一些重要的服务如www服务等, 利用xen服务器来分发相应的服务请求, 从而实现负载均衡。可以在主从控制中心的guest上面运行不同的服务程序, 当一个guest上的服务因为某种原因关闭, 主从服务器上的管理端将捕获到并将服务迁移到另一台服务器上的guest上运行。
(4) 控制中心通过iSXSI协议连接到SAN, SAN由普通PC担任, 可以动态增减, 如果要增加一个SAN扩充存储容量, 只需要将充当SAN的PC连接到交换机2、3上即可。
(5) 在控制中心利用multipath实现多路径访问SAN磁盘, 增加数据的可靠性。例如当交换机2出现故障, 那么主从控制中心可选择通过交换机3访问SAN数据中心。
由此可见, 在中小企业中构建上述网络架构, 简化服务器管理模式无需增加硬件投入, 只需在现有硬件基础上配置虚拟化软件, 降低了企业数据中心的建设与运行成本;将SAN数据中心与应用服务分开, 保证数据的安全性与可靠性;利用主控制中心与从控制中心实现双机备份, 通过双网卡的方式实现网络连接的高可靠性;通过利用在Xen的guest运行冗余的服务来保证服务的高可靠性;SAN数据中心和从控制中心可根据需求动态增加, 组建方式灵活, 可扩展性高。
5 结语
随着计算机和网络技术的不断发展, 虚拟化技术的应用越来越广泛, 如服务器整合、资源整合、系统安全和分布式计算等方面。Xen作为目前流行的虚拟机软件, 必将在开发与生产环境中得到更加广泛的应用。本文结合基于iSCSI 的IP SAN技术, 提出一种利用Xen虚拟机技术组建高可靠性易管理的网络架构, 该架构具有良好的可扩展性和灵活性, 可确保中小型企业数据的安全性和可用性, 适合中小型企业信息化发展需要。
参考文献
[1]KHATTAR R, MURPHY M, TARELLA G, et al.Introductionto Storage Area Network[M].Redbooks Publications (IBM) , SG24-5470-00, Sep, 1999.
[2]谢长生, 高巍.存储区域网 (SAN) 中存储虚拟化的研究与实现[J].计算机应用研究, 2003 (8) .
[3]C ROSARIC.iSCSI protocol concepts and implementation[R].Cisco system, Tech Rep:LW2392, 2002.
[4]XEN[EB/OL].http://www.xensource.com.
Xen虚拟机 篇4
1 虚拟机Xen动态迁移技术的概述
1.1
虚拟机技术的核心是动态迁移技术, 也就是我们所说的内存迁移, 内存迁移能够在用户机运行的同时, 进行整体系统的迁移, 将用户机所用到的操作系统整体迁移到另一个内存位置。现在的技术难点就是在进行内存迁移时, 遇到的内存因为该改变页面而造成的内存迁移时间延长等问题。我们先来说说虚拟机迁移, 所谓的虚拟机迁移实质上是包括资源迁移和内存迁移两大块。我们在进行迁移的过程中, 为了保证迁移的操作系统可用, 保证迁移的各种应用程序可用, 必须要保证迁移数据的完整性, 一旦在迁移中出现数据丢失, 就会导致整个虚拟操作系统的瘫痪。我们在进行虚拟系统操作时, 基本上把电脑上所有的信息存储设备复制一遍到虚拟机上, 虚拟机上跟平时的电脑一样, 都具有内存, cpu, 硬盘等。我们上面谈到的内存迁移实质也是整体迁移的一部分, 因为内存迁移的技术难度较大, 也是我们主要需要攻克的难题。
1.2 虚拟技术迁移过程的主要衡量指标。
我们在进行内存迁移时, 基本上就从内存的迁移总时间和停机总时间来判定迁移过程的效率。所谓的停机时间, 指的是在迁移过程中需要对用户机停机, 以找到用户机最后的存储状态, 并将用户机的状态进行完整的复制转移。停机时间也会影响我们迁移质量, 因为我们在迁移时, 停机时间延长会增加操作系统的拷贝难度, 一般在系统停机重启的过程中, 虚拟迁移技术只是单纯的记录用户机的最后状态, 这样子的状态一次就足够了, 频繁的发生会造成信息复制的中断, 会造成迁移的不完整。但是迁移的停机时间往往还受到迁移时间的影响, 我们必须找到迁移时间跟停机时间的最切合的一个点, 然后进行操作系统的整体迁移, 这样才能保证迁移过程的效率性。下面我们就以开放了源代码的虚拟机监视器Xen来具体讲讲迁移过程中用到的算法。
2 Pro-copy算法的优缺点
源代码虚拟机监视器Xen有三个不同的记录状态, to-send记录的是数据传输上一次的迭代的情况, 然后to-skip是扫描的传输当前的状态记录, 最后一个是to-fix, 记录的最后停机迁移时的状态。我们所说的上述三个状态记录, 都是对存储信息的一种拷贝。刚开始这三种脏页位图是不经过设定的一些内存空间, 也就是我们所说的unsinged long型存储空间, 存储中每一个字节都代表着操作系统的变更情况。我们在进行虚拟机迁移中, 时间占用最长的迁移过程是需要要到to-send和to-skip两个状态记录, 因为需要多次访问, 将信息扫描并且迁移到虚拟机上, 所以我们为了防止原始信息的丢失, 一般都是进行内存对齐和加锁, 让内存上的每一个字节都有自己的对应空间。让我们举例来说, 对于to-skip来说, 当某一个内存出现0的时候, 才可以被复制传输。Xen实际上是一个循环往复的信息迁移的过程, 需要进行多次扫描迁移, 才能将所有信息准确录入我们在进行页数传输中, 是有最高限制的, 一般最多不能超过1 024页。
经过上面表述, 我们能够看到, Pro-Copy算法能够在保证数据传输的过程中, 能协调内存迁移总时间和停机总时间, 保证传输的效率, 此算法属于比较优良的算法, 但是它的缺点也非常明显, 就是在对改变频繁的页面传输时, 耗费的时间非常大。
3 分层矩阵位图算法
分层矩阵的算法是在Pro-Copy算法的基础上, 采用更多方式实现信息收集, 而不是单单依靠to-skip和to-send, 这就是我们所说的分层矩阵位图算法。
这种算法的结构比较复杂, 我们在进行传输时, 需要用的变量是dirty-count[][], 例如dirty-count[j][i]指的就是我们页i的第j次传送, 当然传送值的修改次数刚开始设定为0。
刚开始的time-slot是将脏页拷贝到dirty-bit-map的时间间隔, 每次时间间隔相同, 脏页迭代数值减少80, 直到减低为不能传输为止。
分层矩阵图算法要比其他算法更具有可实现性, 我们在操作时一般都采用此类算法。
4 总结
通过上面论证, 说明了分层矩阵图算法的优越性, 我们要加大研究, 保证算法的实际应用。
参考文献
[1]濑宗云.Xen虚拟机存储系统优化[N].浙江大学计算机先锋报;2007, 6.
Xen虚拟机 篇5
关键词:XEN技术,服务器虚拟化平台
一、前言
蚌埠市局 (公司) 一直以来十分重视以信息化手段提高日常工作的效率和具体业务的处理能力。目前, 蚌埠市局 (公司) 内部有10多个业务系统的运行, 包括商业MIS系统、GPS系统、OA管理系统、内部监管、WEB门户系统等。随着市局 (公司) 信息化应用逐渐深入, 现有的IT系统规模越发庞大, 效率低、管理难、灵活性差、占用资源多等缺陷日益明显, 这让企业耗费了过多的人力、财力、物力、时间等资源, 结果信息化发展变得障碍重重。
首先, 市局 (公司) 的IT技术人员数量非常有限, 随着系统的不断增多, 信息系统的维护工作给IT部门带来了很大的压力;其次, 随着应用的深入, 新系统会不断地增多, 如果采用购买新机器的方式支撑应用系统发展, 必然带来大马拉小车的局面, 造成极大的运算资源和资金的浪费;再次, 原有的一些系统由于负载的增加和系统优化的需要, 必须进行负载均衡和冗灾备份, 而采用购买新设备的方式, 显然有些耗费过大;最后, 我们现在的机房空间资源和电力资源都已经无法满足添加新设备的需求。
虚拟化技术的出现解决了这一矛盾, 服务器虚拟化使得操作系统不再直接安装在硬件上, 业务服务器成为逻辑服务器概念, 形成了逻辑层和物理层分离的横向结构, 不仅可以方便地复用硬件资源, 管理效率也大大提高。同时, Citrix结合服务器虚拟化、应用虚拟化和流技术, 提出了新一代动态数据中心的建设模式, 能够根据不同业务模块的资源消耗, 自动地分配硬件资源, 从而最大限度满足企业级数据中心的高效率、高性价比和自动化管理等要求。
二、XEN服务器虚拟化平台的设计
一个优秀的系统平台要以人为本, 充分考虑用户对系统的要求, 考虑到XEN服务器虚拟化平台的主要用户是终端用户 (所有的应用软件的使用者) 、管理者 (IT运维人员和业务系统的管理人员) , 前者主要是使用具体的业务软件, 对于系统的后台不需要太多的了解, 后者是XEN服务器虚拟化平台的主要使用者。
对于终端用户而言, 平台要提供的服务是业务系统的正常使用, 根据自己的习惯设定应用系统的设置, 完成日常的查询、上传和下载功能, 而不需要去了解所使用的系统是在什么操作系统上或者是由哪台服务器处理数据。
对管理者而言, 平台要让他们使用方便, 快捷地进行维护管理以及高效的软件部署测试。
(一) XEN服务器虚拟化平台的架构。
XEN是目前流行的一款基于X86平台的虚拟机软件, 由开源的Linux内核代码移植过来的, 当它采用准虚拟化技术时, 通过修改客户操作系统内核, 让虚拟机与VMM共同协作来绕过X86的虚拟化漏洞, VMM不是完全虚拟底层硬件, 操作系统并不运行在真实的硬件上, 在XEN中, 虚拟机或VM也可以叫做域, 0号域是一个有特殊权限的虚拟机, 它作为VMM的扩展提供系统的管理控制服务。把控制模块放在0号域而不是VMM中的好处在于可以将系统实现机制和控制机制相分离, 在设计时能够更好地专注本机制的功能。鉴于本公司的实际情况, 采用现有的3台服务器, 不用光纤交换机, 通过HBA卡直连存储的方式, 作为XEN服务器虚拟化平台的物理架构。 (图1)
(二) XEN服务器虚拟化平台的功能
1、资源池。
由于本单位XEN服务器虚拟化平台的设计是3台XenServer主机, 如果是3台主机独立运行, 不能实现系统冗余, 安全性能不高, 建立资源池的功能就是将这些主机绑定在一起, 形成可以托管虚拟机的单一受管理实体, 与共享存储结合后, 资源池允许VM在内存充足的任何XenServer主机上启动, 并允许VM保持运行状态的情况下在XenServer主机间动态迁移, 也就是说, 当单个XenServer主机发生硬件故障时, 可以在另一个XenServer主机上启动出现故障的XenServer主机上的VM, 提高VM的运行安全。
2、高可用性。
启用高可用性 (HA) 后, XenServer将持续监视资源池中的主机运行状况, 如果当前VM主机发生故障, HA机制会自动将受保护的VM移动到一台运行状况好的主机上, 如果是主服务器发生故障, HA会自动选择一台主机接管主服务器角色, 以便XenServer资源池能正常运行。
3、VM的创建。
VM是通过模板创建的, XenServer随附了一个基本模板集, 其范围从可引导操作系统供应商安装的CD或可通过网络库运行的通用“原始VM”到经过预配置的完整操作系统实例。
使用模板创建VM有三种基本方法: (1) 使用完整的预配置模板创建; (2) 从CD或ISO映像文件安装; (3) 直接从网络安装服务器上的供应商介质到模板。
此外, 在创建XEN服务器虚拟化平台后, 需要将原来运行在物理机上的系统迁移到XEN服务器虚拟化平台, 这时就要使用到XenConvert工具, 来实现物理机到虚拟机 (P2V) 和虚拟机到虚拟机 (V2V) 的功能, 创建新的VM。
三、XEN服务器虚拟化平台的搭建及系统迁移
(一) XEN服务器虚拟化平台的硬件环境。
在市局机房正在使用的服务器中挑选最好的3台服务器来搭建XEN服务器虚拟化平台, 分别是一台IBM3850X5和两台IBM3850M2。并为XEN服务器虚拟化平台配备一台存储 (6T空间) 。通过HBA卡直连方式搭建。
(二) XEN服务器虚拟化平台的软件环境。
分别为3台服务器安装了XenServer5.6系统, 并通过管理工具配置资源池和HA, 使用XenConvert工具的P2V工具, 将物理机上的操作系统及业务系统整个迁移到虚拟机, 完成VM的创建工作。
四、XEN服务器虚拟化平台整合前后的比较
(表1)
五、小结