系统云迁移范文

2024-08-01

系统云迁移范文(精选7篇)

系统云迁移 第1篇

电子计算机刚刚发明之时, 由于成本高昂, 普通用户只能通过终端访问主机来获取计算资源, 随着生产成本的不断降低, 个人PC开始大规模普及, 如今, “云计算”的概念已经炙手可热, 成为IT领域内的前沿, 其再一次将计算资源集中化, 恰好是印证了“合久必分, 分久必合”这句老话。

我国的广播电视监测事业起步于上世纪50年代, 从最初很小规模的、全人工收测的方式逐步发展和改进, 现在广电总局监测中心已经建成了覆盖全频段广播、电视以及部分新媒体业务的自动化监测系统。这一成就全部得益于现代计算机、网络、自动化控制等技术的发展, 或许现在广播电视监测又将顺应潮流, 迎来一次技术层面的大变革了。

563MHz, 占总平台的比例为0.11%。存储共配置了31T, 目前已使用的存储空间大小为15T, 占总平台的比例为50%左右。在内存的利用上, 每个虚拟机为4.3GB, 占总平台的比例达1.1%。该服务具有相当高的新业务拓展潜力, 可满足较快的数据平台托管租赁业务产品的发展需求。

5结束语

通过云计算系统的部署, 东方有线网络有限公司探索了

1 契合点

云计算与其说是一项新技术, 不如说是一项新的模式或理念。其之所以被提出, 最根本的目的是想要通过对如计算、存储、网络带宽等资源的整合来解决两个问题, 第一是数据量的高速增长与数据处理能力相对不足;第二是计算资源的利用率的不平衡状态, 如一些应用需要大量的计算资源和存储资源无法得到满足, 同时大量的计算和存储设备却没有得到充分利用。

那么对照这两点问题, 我们不难发现, 云计算简直就是为现有的广播电视监测系统所“量身定做”的。首先, 现有的广播电视监测系统数据量巨大, 分布在全国各地及海外部分地区的大量信号采集设备每天24小时不间断地向各级监测系统平台上报收测数据, 而为了减少系统的存储和处理压力, 即便这些数据被加以优选, 每天的数量都要达到数十GB, 至于音、视频文件更是达到数万GB, 存储、汇总和分析的工作量可想而知。其次, 我们在各级节点均部署了计算机和服务器用于对监测数据进行处理, 但在现有的技术体系下, 这些宝贵的计算资源很难被合理、充分的利用。例如在日常业务处理过程中, 由于计算负荷较小, 很多机器的CPU平均利用率很少会超过20%, 但到了业务高峰期, 或执行一些如音、视频自动比对这种大运算量的业务时, 又会出现计算瓶颈,

整合IDC数据网络架构的方式, 向用户提供了相应的统一管理服务, 使IDC整体运营具有高可靠性、高可用性、高灵活性、高扩展性、高使用率等特性, 丰富了相关业务产品。同时此系统计划逐渐扩展到东方有线其他相关数据网络系统领域, 如后台服务系统网络架构等, 在内容系统架构以及互联互通基础平台解决方案方面为广电网络运营商拓展了新思路。造成效率低下, 而如果全部按照业务高峰时的需求来配备硬件设备又是不现实的。云计算的出现恰好为解决上述问题提供了转机。

2 获益

一旦云计算在现有的广播电视监测系统中得以应用, 或者说现有的广播电视监测系统被改造为“云”之后, 我们除了可以完美解决上述合理利用存储和计算资源的问题外, 还将获得很多其它方面的收益。

2.1 节省投资

节省的投资主要来自于两个方面:一方面, 广播电视监测中心的系统在逻辑上是分级结构, 各级单位都具备相对独立但功能相似的系统, 区别只在于数据的来源和范围, 比如在北京的数据中心汇总了全部的业务数据, 而成都监测台按照业务划分, 则只有四川省内的业务数据。至于物理层面, 各个直属台的业务类型和规模是相似的, 那么举例来说, 如果一个直属台需要10台服务器的话, 全国15个直属台就需要150台服务器, 在现有技术条件下, 这是一种无可厚非的资源配置方式, 而如果以云计算的角度来审视的话, 这显然是一种“浪费”或“重复投资”了。因为通过“云”的方式, 我们不再需要购买昂贵的存储和计算设备, 更不用费尽心思考虑定期更新升级软、硬件, 考虑如何保护现有投资并提供可扩展性以应对将来的升级, 我们所需的一切存储、计算甚至网络资源都可以从云计算运营商那里购买。更为重要的是, 尽管逻辑上各级系统平台业务、数据依然独立, 但物理上已经不再需要各自独立的设备了, 这些资源早已整合在运营商端, 因此, 理论上和现在相比所需投入的资金将在十五分之一, 甚至更少。

另一方面, 通过“云”的方式, 我们向运营商所申请的任何资源都是按照实际需要所付费的, 因而也就不再存在由于业务量分布不均衡所造成的资源闲置, 就好像普通居民从电力公司买电一样, 用1度电就交1度电的费用, 用10度电就交10度电的费用, 资金的使用效率将达到100%, 不会再交任何“冤枉钱”。

2.2 降低维护工作成本

在当前的系统模式下, 我们不得不承担大量的软、硬件维护工作, 每一级平台都要配备数名维护人员来应对, 做到“麻雀虽小, 五脏俱全”。更重要的是, 对于一些如ORACLE、LINIX等软件, 我们自己的员工只能处理一些常见的、简单的问题, 不可能达到专业级的水平。而通过“云”的方式, 我们事实上已将很多维护工作和成本转移给运营商, 从而大大降低维护工作压力, 解放自己的员工, 使他们将更多的精力放在处理监测业务和提高监测技术水平之上, 实现人力资源更合理的使用。

2.3 随时随地的监测

云计算还有一个显著的特点, 由于其构建在运营商服务模式之上, 这些运营商具备丰富的通信接入类型, 因此, 我们将来可以通过如手机、PDA、电视等各种终端接入系统, 因此即便是在家中也可以方便地实现业务处理。而如果出现了紧急情况, 所有人员不论身处何地都可以随时登录系统加入工作, 相比现在匆匆忙忙地赶回单位, 可以说做到了零响应速度, 同时“一呼天下应”。

3 数据安全

说到云计算, 当前最大的争议之一就是安全问题, 之前也曾经出现了著名的索尼公司泄密事件, 而广播电视监测系统又是涉密系统, 内部数据是绝对不可以出问题的, 这么说来难道就此走入了死胡同, 广播电视监测将与云计算彻底无缘了么?其实不然, 针对安全问题, 我们不妨从几个方面客观地进行分析。

首先, 监测系统内的机密数据所面临的安全威胁主要存在于两方面, 第一是丢失, 第二是泄露。造成第一种数据丢失的原因很多, 有可能是设备故障、软件错误甚至是地震、火灾等意外灾害, 应付这些情形, 云计算运营商的应对能力相比我们无疑将有成倍的提升, 他们拥有大量的专业技术人员, 性能更高、更可靠的硬件设备, 更高效的应急处理机制, 甚至可以建设异地灾备系统以应付各种极端情况。因此, 采用云计算方式后, 我们的机密数据被丢失的风险将大大降低, 这一层面的安全性也相应获得成倍的提升。

第二种数据泄露是一个必须严肃对待的问题, 目前很多厂商都已经意识到这一问题并着手研究对策。从VPN到数据加密再到身份认证和安全接入控制等, 已经有了一套完整的安全控制机制, 相信随着技术的不断进步, 配套的安全体系将越来越完善。当然, 乍一看来, 系统“云计算”化以后, 核心数据从我们自有的硬件环境中迁移到了运营商端, 原本与外界的物理隔离被打破, 被泄露的风险骤增。但其实这一风险是一直存在而非突然出现的。试想我们现有的系统中所租用的网络线路, 无论是联通、电信还是中国有线, 这些运营商同时也在运营其它个人和公司的业务, 当然还有公网业务, 接入我们系统的光纤和设备同时也有无数人在使用, 因此绝对意义上的物理隔离从来就不存在, 只是相对来讲窃取数据的难度较大而已;其次, 与我们合作的设备提供商和系统集成商也对我们的系统了如指掌, 如果其存有恶意, 在软件系统中留下后门也不是不可能;再次, 我们的设备遍布各地, 我们无法实时全面地照看这些设备, 通过这些设备进行入侵也将会对系统安全造成很大的威胁。但即使如此, 我们的系统从未发生过数据泄露。至于原因, 一方面我们部署了如防火墙、入侵检测、防病毒软件、审计系统等一些列安全措施;另一方面是我们有一整套完善的管理机制, 包括数据加密、口令管理和人员行为规范, 从而把来自外部和内部人员的威胁降到最低;当然最重要的是国家层面法律的约束和震慑。就好像我们都知道把钱放在家中的保险柜里是安全的, 但事实上绝大多数人更愿意把钱存入银行, 而不会担心由于钱已不在自己手中, 会被他人所盗取或挪用。

因此, 杜绝系统安全隐患是技术问题更是管理问题, 而与想象中的不同, 根据统计, 来自于内部人员的威胁从来就比来自于外部人员的要多得多, 不管什么时候多花费一些精力在如何加强管理上比关注技术手段本身更加重要。前些日子, 美国电器和电子工程师学会 (IEEE) 最高等级会员Elisa Bertino就曾指出:云计算中的安全与影响用户端网络的安全问题并无二致。各机构并没有在数据迁往云时遭受更大的安全风险。事实上, 他们的数据在云中可能会更安全, 因为厂商就是技术专家, 他们的商业模式就建立在数据保护的基础之上。

4 应注意的问题

将现有的监测系统迁移到云中绝不是简单将系统软件和数据一并拷贝那么简单, 这将是一项复杂的工程, 由于原有系统的代码、中间件、平台环境、数据结构等都不是按照云方式开发的, 因此首先将面临代码重写、数据重构等工作;其次, 由于运行模式转变, 终端和网络也一定需要重新部署, 人员也需要进行相应的培训, 总之工作量是比较大的, 也许不亚于重新构建一套新的系统, 但阶段性的投资和辛苦是为了换回长期的获益和便利, 这一投入还是十分值得的。

此外, 作为最终用户, 我认为我们更加应该关心的是数据和投资保护, 一方面应做好历史数据的备份工作来应对意外情况, 在迁移过程中采取分步实施的策略, 先在小范围内测试无误后再进行大规模的迁移, 另一方面替换下来的硬件设备和软件代码应尽量保留, 以备不时之需, 在日后应用中可定期将新系统中的数据更新至旧系统, 保持备份系统的可用性。

5 结束语

客观来说, 尽管国内外已有不少厂家开始技术上的尝试, 并初有成效, 云计算目前在很大程度上还停留在概念阶段, 甚至业界至今都没有一个被普遍认可的标准定义。但不可否认, 云计算注定将是未来IT行业发展的大趋势之一, 针对这一新兴概念, 作为广播电视监测行业的技术人员, 我们有责任加以关注并认真论证对现有系统进行相应改造的可行性。当然, 盲目的追新也不可取, 应采取审慎的态度, 在技术、政策和法律法规等都具备全面、完善的保障之后再考虑逐步加以实施。

摘要:云计算已成为IT行业的发展趋势, 本文分析了云计算对现有广播电视监测系统进行相应迁移改造的可行性以及所能获得的收益, 并着重探讨了迁移后的数据安全防护问题, 最后展望了在实际迁移过程中应采取的措施和注意的问题。

关键词:云计算,广播电视监测,数据安全

参考文献

[1]http://www.cww.net.cn/tech/html/2010/7/30/201073084416694_4.htm

[2]http://hi.baidu.com/aullik5/blog/item/f43d5a830a13b5ad0cf4d2da.html

数据如何向云迁移? 第2篇

据Gartner预测,2015年云存储将增长89.5%,市场份额达到28.8亿美元;到2016年,云存储在共享内容上和能够实现从多个设备上并发访问内容的能力会促使消费者将超过1/3的数字内容存储到云中。同时,越来越多的企业用户在咨询有关如何将数据迁移到云环境的问题。

从理论上来说,将数据移至云环境是一个很简单的问题,但实际上,这个过程中有很多重要的问题需要提前考虑。比如,目前企业网络的带宽多大?数据规模多大?是否需要恢复数据?可接受的数据恢复时间是多长?云服务提供商是否允许企业“植入”数据(例如,将驱动器或设备发送给客户,由客户在本地备份其数据,然后将驱动器/设备递送给提供商)?云服务提供商是否有基于云的服务器,以便企业用户直接从云存储中恢复数据?有效规划对于将数据迁移成功具有举足轻重的作用。

慎重选择网络

下面以两个计划将50TB 数据移至云端的企业用户为例,其中一个客户拥有一个 T-1 线路,而另一个客户则有光纤 OC-3 网络(见图)。

很显然,不同网络基础对迁移的影响颇大。但是,目前假设的是一个仅有最低 WAN 开销,且无其他网络负载的“原始”环境。但如果企业使用这些线路上网、收发电子邮箱或拨打 IP 电话的话,那么,对于带宽和数据传输的时间影响不言而喻。

此外,从表中的数据不难看出,将数据写入云只是第一步,企业用户在部署云存储之前需要考虑的问题有很多,尤其是在灾难事件发生的情况下,云是企业存储资源的一部分,因此将数据找回来特别是备份或者归档数据将更加重要。

选择云服务提供商

在数据迁移之前,企业最好问云服务提供商几个问题:云服务提供商允许企业向云端“植入”数据吗?有基于云的服务器以便企业能够直接从云存储恢复数据吗?如果遇到灾难,云服务提供商会将存有企业数据的驱动器递送给企业以供数据恢复吗?

云服务提供商对这些问题的回答至关重要。随着大规模、50TB 数据云解决方案的出现,企业可以利用这些解决方案应对上述挑战?一般来说,这些解决方案需要具备以下条件:

首先,向云环境“植入”数据的功能使企业能够将介质递送至云服务提供商,随后只需以在线方式即可发送变更数据。在充分利用了集成数据缩减技术(如源端重复数据删除和压缩)的情况下,这种方式显著减少了“植入”数据所需的带宽资源。

其次,一旦出现大规模灾难,企业能够通过服务提供商的云接入口进行数据恢复。此外,尤其是拥有专用1Mbps带宽的企业还应可以使用工具,以多流方式将数据传至云环境中,并最大程度地利用带宽。一些云服务商在数据管理软件中引入了第三代重复数据删除技术,可以在客户端删除90% 的冗余备份和归档数据。这种方式将客户端、磁盘、磁带中的重复数据删除扩展到整个企业,将网络中发送的数据量锐减90%,藉此帮助企业加快将大量备份或归档数据迁移至云环境的速度,从数月缩短至数天、数小时。

此外,对于将来考虑将硬件及物理设备迁移到“云端”的企业,以上建议也会使这些企业的云存储部署准备更加充分和周到。

拥有 T-1 线路的企业

50TB 的数据,通过 1.544 Mbps(链路也称为 T-1 线路)= 79124 小时或者近 3297 天;

首次通过 T-1 备份 50TB 数据(典型重复数据删除率为 57%)= 33549 小时或 1398 天;

连续通过 T-1 备份 50TB 数据(典型不间断重复数据删除率为 90%)= 8387 小时或 349 天,这代表了预计 10% 的日增量和 90% 的重复数据删除率。

说明:对于云服务提供商而言,收到每日增量数据的时间并不合理。

拥有 OC-3 网络的企业

50TB 数据,通过 OC-3 = 788 小时或者近 32 天;

首次通过 OC-3 备份 50TB 数据(重复数据删除率为 57%)= 334 小时或 14 天;

连续通过 OC-3 备份 50TB 数据(重复数据删除率为 90%)= 84 小时或 3.5 天,重申一下,这代表了预计 10% 的日增量和 90% 的重复数据删除率。

系统云迁移 第3篇

根据美国NIST (National Institute of Standards and Technology, 国家标准与技术协会) 的定义, 云计算本质上是一种IT (信息技术) 服务提供模型, 它提供了一种可以通过网络接入的、可配置的共享计算资源 (如网络、服务器、存储、应用、服务等) 。云计算能提供随需而动的IT服务和强大的宽带接入, 通过虚拟化和多租户技术将计算资源同时共享给多个用户, 能根据用户的需要快速和自动地增加或减少计算进程、存储和网络带宽等计算资源。

云计算的产业三级分层:云软件、云平台、云设备。

1) 上层分级:云软件software as a service (Saa S) 。

打破以往大厂垄断的局面, 所有人都可以在上面自由挥洒创意, 提供各式各样的软件服务。参与者为世界各地的软件开发者。

2) 中层分级:云平台platform as a service (Paa S) 。

打造程序开发平台与操作系统平台, 让开发人员可以通过网络撰写程序与服务, 一般消费者也可以在上面运行程序。参与者为Google、微软、苹果、Yahoo。

3) 下层分级:云设备infrastructure as a service (Iaa S) 。

将基础设备, 如IT系统、数据库等, 集成起来, 像旅馆一样, 分隔成不同的房间供企业租用。参与者为IBM、戴尔、惠普、亚马逊。电信企业所规划的私有云属于这个层次。

与传统的应用平台相比, 云计算平台的优点在于强大的计算能力、存储能力、可伸缩性、高可靠性、资源使用透明性以及高性价比。

目前, 电信企业普遍建设了大量垂直烟囱式的业务系统, 每个系统都需要单独采购软硬件, 带来的问题是:业务建设周期长、系统建设成本高、维护难度大。通过虚拟化技术, 可以将一台物理服务器虚拟为多个虚拟机, 实现服务器虚拟化、存储虚拟化、网络虚拟化, 从而能够根据需要灵活分配IT资源;站在业务系统感知的角度, 使用虚拟机就和单独的物理资源一样, 没有明显区别。

2 私有云所面临的风险

云计算提供的服务涉及网络、服务器、存储、应用和服务等多个层面, 除了面临传统IT架构中的信息安全风险外, 还包括虚拟化、多租户技术带来的风险, 导致信息安全风险复杂度升高。

私有云部署在企业数据中心的防火墙内, 可控性、安全性比公有云好。在私有云模式下, 比较有代表性的风险主要有7大类:

1) 接入风险:

云计算服务提供商可能会以用户未知的方式访问用户数据, 从而导致用户信息的泄漏。

2) 数据传输风险:

企业核心数据如果采用明文的方式在内部网中传输, 那么可以通过网络抓包工具可以轻松地截取在网络中传输的报文内容, 会造成用户对于数据的不可控。

3) 数据隔离风险:

在云计算的体系下, 所有用户的数据都处于共享环境之中, 容易发生交叉访问。

4) 数据残留风险:

数据残留是数据在被某种方式清除后所留下的某种物理表现, 存储介质被擦除后可能留下一些物理特征使数据能够被重建。黑客可以从虚拟机中重新分配的实例资源中窃取敏感的信息。

5) 攻击风险:

病毒和木马无处不在, 云计算涉及到网络、服务器和存储, 如果没有建立固若金汤的防御系统, 其中的任何一个节点出问题都会影响到云的稳定性。

6) 审计风险:

堡垒往往是从内部攻破的, 合法的用户进行非法访问, 往往是监控的短板。

7) 服务风险:

尽管数据中心号称稳定度极高, 但不管是亚马逊还是Salesforce.com, 都有过宕机事件, 在修复后还是有数据被破坏, 造成企业用户的运营风险, 对云平台的服务连续性和IT流程提出了挑战。另外, 当系统发生故障时, 如何保证用户数据的快速恢复也成为一个重要问题。

因此, 对于电信运营商而言, 云计算的前景很美好, 但需要走的路还很长。

3 应对风险的策略与建议

利益与风险并存, 不能因为有风险就放弃对利益的索取。电信企业根据自身的需求实施云计算IT战略时, 需要考虑以下几个方面。

3.1 明确需要迁移的系统

需要明确哪些系统是可以迁移到私有云中去, 哪些需要继续在小型机上运行。在云的分散计算环境下, 传统的关系型数据库面对复杂的SQL (结构化查询语言) 查询, 特别是多表关联查询、保证数据库事务的一致性等方面, 已力不从心, 因此把Oracle、DB2等关系型数据库系统迁移到云上是不现实的, 而应用系统则比较适合云化。

3.2 制定风险防范策略

对于电信企业而言, 如何最大限度地降低云计算安全威胁、提高服务连续性、保障用户信息安全等是其能否取得成功的关键。总体来说, 应建立纵深安全防御机制, 提高云计算系统的安全性和健壮性;同时还需要完善云计算平台的应用系统容灾、数据备份机制, 保障服务的可用性和连续性。结合私有云所面临的主要安全威胁, 建议采用的安全技术策略如下:

1) 安全访问策略:

建立严格的云计算AAA (认证、授权和计费) 机制, 对用户的身份进行合法性识别。对于云计算管理人员而言, 他们往往具有超级用户权限, 可以轻松地绕过技术壁垒, 应采取签订保密协议等非技术性手段。

2) 数据传输防护策略:

首先是对传输的数据采用256位的加密方式进行加密, 其次是使用安全传输协议 (SSL) 和VPN (虚拟专用网) 进行数据传输。

3) 逻辑隔离策略:

采用VLAN (虚拟局域网) 以及分布式虚拟交换机等技术, 实现用户系统、用户网络的安全隔离, 确保用户信息的存储安全及用户逻辑边界的安全防护。

4) 数据残留处理策略:

在把资源重新分配给新用户之前采取数据发现等技术手段从进程、存储和网络中找到残存的信息碎片并进行完整的擦除, 防止数据被非法恢复。

5) 攻击防范策略:

通过对网络中软件行为的异常监测, 获取互联网中木马、恶意程序的最新信息, 推送到server端进行自动分析和处理, 再把病毒和木马的解决方案分发到每一个客户端;部署网络攻击防御系统, 防止黑客攻击造成的系统瘫痪或服务中断。

6) 安全审计策略:

记录什么用户在什么时间从哪台终端登入系统及做了何种操作, 做到对违规操作的可溯源。

7) 容灾策略:

对于有较高安全需求级别的系统, 可以在同一个云计算平台中运行同一服务的多个副本;对于更重要的系统, 有必要进行异地容灾, 即在不同的地区配置多个相同的云计算平台, 如果一个云计算平台因故停止服务, 所有的服务可以自动切换到另一个云计算平台。

3.3 迁移过程的实施建议

向云迁移的过程也是有风险的, 需要先试点、后推广, 将云化过程对用户感知造成的影响降到最低。

1) 可以先把一些非核心生产系统、应用规模小、便于独立和统一管理的应用系统迁移到私有云。这样的试验可以降低企业云计算实施的风险, 同时也积累了实施云计算的经验。

2) 在小规模试验的基础上制定向云迁移的详细方案, 做好应用系统迁移前的备份, 万一迁移失败能顺利回退到迁移前的状态。

3.4 对系统云化后的安全管理和运营的建议

在私有云模式下, IT部门从传统的支撑部 (下转第57页) (上接第54页) 门演变成为电信企业内部的云计算服务商, 业务部门则是云计算的最终用户。

作为企业内部的云计算服务商, IT部门被赋予更多的云计算安全管理职责。具体来说, 应建立一套安全管理制度, 通过制定运维安全规范、安全测试规范、安全入围规范等制度, 在运营中实施风险管理、日志管理、配置管理、培训等, 以确保云计算的安全。日常的安全管理及运营制度至少应该包含以下几项:

1) 与业务部门签订服务等级协议 (SLA) , 根据具体数据和服务敏感性等安全需求级别, 设计不同级别的容灾及故障发生后的应急机制。

2) 完善云管理平台, 加强对操作、维护等各类日志的审计与管理, 对用户的违规操作进行监控。一旦监测到合法用户进行非法操作, 必须向相关部门反映, 给予严惩。

3) 对云计算系统所涉及的服务器、网络、存储等基础设施的容量、健康状态进行实时监控, 确保服务的可用性和高效性。

4) 对虚拟机实现分配、回收、再分配实施严格的闭环管理, 确保资源不被浪费。

作为云的使用者, 业务部门必须严格遵守IT部门所制订的各项安全管理制度, 并配合IT部门做好权限管理、审计管理、风险管理、日志管理、配置管理等日常安全运营工作。还有一点不能忽视, 即应定期审查IT部门所提供的信息安全管理方案和运营记录是否符合服务等级协议, 如发现存在偏差应立即敦促IT部门进行修正。

4 结束语

可以预见, 将电信企业内部的业务系统云化后, 业务系统维护人员可以把大量精力从底层硬件监控、硬件扩容和硬件维修转移到对业务的分析和创新中, 而且对分布在不同业务系统的IT资源实现了集约化管理, 对于提高人员和资源的使用效率具有重要意义。

云计算环境下虚拟机在线迁移优化 第4篇

云计算技术的发展与应用已经成为现今研究的热点[1], 这种新型网络应用模式逐渐被工业界和学术界关注。而作为云计算最坚实的技术保障和推动者之一的虚拟化技术[2], 已经成为数据中心或者云环境下最基本的资源管理技术。通过使用虚拟化技术可以给公司带来很多便利, 例如可通过虚拟化技术实现资源的整合、将多余的资源释放, 从而提高了资源的利用率、减少所需服务器数量、进一步减少了设备方面的投资, 达到了降低管理维护成本的目的。随着虚拟技术的不断发展, 产生了许多新型技术, 其中, 虚拟机在线迁移[3]是虚拟化独有的也是最重要的技术之一。

虚拟机在线迁移能够将正运行于VMM (virtual machine monitor) [4]上的虚拟机从一台物理主机迁移到另一台物理主机, 在目的主机上恢复运行, 并且确保在它上面运行的应用程序在迁移过程中能正常运行。云计算环境下的许多服务和应用通过利用在线迁移技术都变得更加便利, 比如一些软件的在线升级、云计算下数据库在线维护、以及服务器负载均衡等变得更容易实现。

在内存预拷贝迁移优化研究领域, 许多研究者取得了一定的成果。文献[5]提出了XBRLE动态迁移算法, XBRLE动态迁移算法将Delta压缩应用于预拷贝迁移算法的内存页传输过程, 即传输内存页面中发生改变的部分而不是整个页面。文献[6]提出了MDD动态迁移方法, 这种迁移算法是基于内存冗余数据消除策略的预拷贝迁移方法, 将冗余数据删除策略应用于预拷贝迁移中。文献[7]提出了页面传输动态重排序方法 (dynamic page transfer reordering) , 这种方法在迁移过程中动态调整虚拟机内存页面的传输顺序来提高迁移的效率。文献[8]提出的用于动态迁移过程中的高效内存传输方法Microwiper是通过调整内存传输的顺序来优化方法的。文献[9]将CPU调度引入预拷贝迁移过程中来控制脏页面产生率, 在迭代拷贝阶段调节分配给虚拟机的CPU时间片以控制写内存速度。文献[10]描述了对依赖感知的虚拟机动态迁移方法通过process tainting机制识别进程创建的外部依赖从而达到迁移优化的目的。

上述这些方法都存在着自己的优点, 从不同角度改善提高迁移效率, 但在内存迁移与传输效率上还有改进空间。本文分析研究了预拷贝机制, 发现在传输过程中, 有许多的内存页被反复重传, 造成脏页 (被修改过的内存页即为脏页) 的总迁移量变多, 导致很多不必要的开销。基于概率预测[11]与内存压缩的内存迁移思想, 设计了相应的内存页修改概率预测的内存迁移算法和内存页压缩算法。在Xen系统下, 通过改动Linux内核配置, 做了具体的实验, 试验结果证实了本文提出的虚拟机在线迁移算法能够提高迁移性能。

1 在线迁移原理分析

1.1 在线迁移原理

由图1可知虚拟机迁移的框架主要包括4个模块, 它们之间运行顺序为:首先由迁移监听模块发出迁移信号, 接着运行迁移模块进行迁移, 然后冻结模块对源域进行冻结, 最后目标域唤醒模块将目标域唤醒。各模块的主要作用如下:

监听迁移模块:它主要是承担迁移之前的一些监听工作, 如对每个域的运行情况进行监测以便选择作为目标域等。

运行迁移模块:该模块在迁移过程中占着比较重要的地位, 主要负责具体的迁移实施, 直接影响迁移消耗时间和停机时间。收到来自监听模块发出的迁移信号, 便开始迁移。第一次迭代是把所有的内存页拷贝到目标域上, 之后的每一次迭代只拷贝上一次拷贝过程中产生的脏页。刚开始由于传输量比较大, 所以需要的迭代时间比较长。在迭代传输过程中, 源主机里的应用程序会对内存进行读写, 接着在迭代过程中将源域服务器里修改过的内存页标记, 下一次迭代时将修改过的脏页传输过去, 以此循环直到达到停止迭代条件,

冻结模块:启动冻结模块后, 对源主机进行冻结, 然后一次性将没有传的页和修改过的内存页传输过去, 确保同步。

目标唤醒模块:在停机迭代传输全部完成之后, 将冻结的目标主机唤醒。

1.2 在线迁移不足

虚拟机迁移的内存迁移过程就是第一次迭代先把全部内存传输到目标域, 刚开始由于传输量比较大, 所以需要的迭代时间比较长。预拷贝方法相比于其他方法, 优点是较好地处理了停机时间和总迁移时间之间的关系。即通过不断地循环迭代将数据从源主机传输到目标主机上, 让目标主机上的数据不断更新, 使两台机器的内存数据趋于同步, 使目标主机与源主机之间内存数据差异越来越小, 当差异缩小到一定范围时, 便可进行停机拷贝, 这样最后需要变动的内存数据就降至到了最低, 大大减少了虚拟机停机来同步这部分数据的传输时间。但它的不足就是:

(1) 在第1次迭代传输时, 没有必要将所有的内存页传输。因为大部分内存页在随后的迭代过程中会被多次修改, 又需要重新迭代传送。这样不但增加了第一次迭代传输的时间, 还增加了迭代传输的迁移率。

(2) 只考虑了内存页的上一次迭代修改情况。这种方面是不周全的, 如果内存页是周期性改动, 即第一次迭代内存页改动, 第二次迭代内存页不改动, 第三次内存页又改动, 像这一类间断性频繁修改情况, 预拷贝方法处理的效果不太显著。这就增加了内存页重复传输的次数, 增加了脏页总迁移的数量。

此外, 在传输流量方面, 还可以作进一步的优化, 如为了减少传输数据量及传输的时间, 可以考虑将传输的数据量进一步缩小, 采用压缩算法。

2 基于内存页概率预测的内存页迁移算法

为提高迁移的效率, 进一步改善在线迁移的性能, 本文在原有的迁移框架上对预拷贝机制做了改进。在运行迁移模块中又增加了脏页预测和内存压缩的功能。图2给出了改进后的迁移机制。

为提高内存迁移效率, 传统拷贝机制根据页面的状态把内存页面分为了3种, 这三种位页图分别为:to_send、to_skip和to_fix, 每种位页图具体说明如下:

to_send:就是上一轮迭代时修改过的脏页。

to_skip:就是本次迭代可以跳过, 不传的页面。

to_fix:就是最后一轮传送的内存页。

实际上, 在迭代过程中, 上一轮被修改过的内存页在下一次会被传输, 即被to_send标记的脏页, 就会在本次迭代中传送出去。To_fix记录的是那些需要在停机拷贝阶段传输的内存页。To_skip位页图被引入, 一定程度上减少了脏页的反复重传。To_skip标示的是那些在连续两次迭代中都修改了的内存页, 本次迭代不用传输。这种方法对于内存页连续修改的情况起到了一定的效果, 但对于那些频繁改动但间隔性修改的内存页不起作用。例如某张内存页在迭代过程中总是间隔性修改 (修改-不修改-修改) , 即上次迭代修改, 本次迭代不修改, 下次迭代又修改, To_skip针对这种情况处理效果不太理想。换句话说, 一个页面如果多次间隔性修改就要多次传输, 这样就影响了迁移效率。

为解决上述方法中存在的问题, 本文在预拷贝方法中, 除了以上三种位页图, 又新增了一个位页图:to_stay, 这个位页图是专门用于标示那些改动非常频繁的内存页。被to_stay标记的页是在最后一轮传送。作用与位页图to_fix一样, 但原理不同, to_fix记录的是那些需要在停机拷贝阶段传输的内存页, 而to_stay是记录的那些改动特别频繁的内存页, 可能每次迭代传输都会改动, 所以也就直接放在最后传输。这样将减少很多改动频繁的内存页在迁移过程中反复重传的次数。

为了更好地确定哪些内存页频繁变化, 增加了脏页预测算法对内存页进行预测, 根据内存页修改频率判断此内存页是否需要在最后一轮传输, 每一轮迭代之后判断是否满足停机迭代条件, 满足停机迭代条件就进入停机拷贝阶段, 如果不满足就进入下一轮迭代。首先给出了迭代停机条件[12], 如下为代码解析,

由代码可知, 当满足上述任意条件中一个时, 便开始进入停机拷贝阶段, 上述条件分别是:

(1) 当次迭代传输的量大于上一次迭代传输量, 造成了不收敛, 并且还超过了网络负载最大值, 此时便停止迭代, 进入停机拷贝阶段。

(2) 当迭代次数操作了最大迭代数值时, 也停止迭代, 进入停机拷贝阶段。

(3) 当迭代传输的数量已经很小时, 就没有必要再继续迭代, 可以直接进入停机拷贝阶段, 这里的数量大小是相对于根据迁移的总页数。

(4) 发送的总页数大于Guest OS的最大页数, 也停止迭代, 进入停机拷贝阶段。

为实现此算法, 需要添加如表1所示的数据变量。

iter和page_modifycount的初始值为0, threshold_value的初始值为0.8, 改进后的脏页预测算法主要步骤如下:

(1) 收到迁移信号时, 开始启动对内存页读写监听, 记录4个停机时间内每张内存页的修改频率。

(2) 第一次迭代时, 不把全部内存页传输, 而是根据记录的内存页修改频率判断, 将内存页中改变频率低的前50%页内存页先传输过去, 这样第一次就减少了传输量, 减少了传输的时间。

(3) 每一轮迭代传输完成之后, 判断是否符合停机拷贝条件, 如果不满足, 跳转步骤 (4) , 如果满足, 跳转步骤 (8) 。

(4) 每一轮迭代结束之后, 迭代次数自动加1, 即iter++;对迭代次数判断, 如果迭代的次数小于等于4次, 跳转步骤 (5) , 否则跳转步骤 (6) 。

(5) 进行下一轮迭代, 与传统预拷贝迁移机制一样, 将上一次迭代过程中满足条件的修改过的内存页传送到目的主机上。同时在传输的过程中, 仍然通过变量page_modifycount[j]对内存页的修改情况进行叠加, j表示第j张内存页。完成之后转步骤 (3) 。

(6) 对修改过的内存页进行统计判断, 每张内存页的改动频率F (j) 。

F (j) =page_modify Count[j]/iter;j表示第j张内存页。

这里需要设置一个阈值threshold_value对改动频率进行判断, 这里的threshold_value取值为0.8, 判断依据如下:如果

page_modify Count[j]/iter>threshold_value, 转步骤 (7) , 否则转步骤 (5) 。

(7) 将高于阈值的内存页标记为to_stay, 这些被标记的内存页在最后一轮传输, 转步骤 (5) 。

(8) 满足停机拷贝条件, 进入停机阶段。

3 内存压缩模块

内存压缩模块就是先根据需要传输的内存页的特征, 选择相应的压缩算法并将其进行压缩, 然后再传输。由于压缩后传输量变小了, 所以内存压缩可以提高在线迁移的性能。一方面, 内存压缩之后变小只需要更短的时间传输, 增强了用于迁移的网络带宽, 另一方面, 由于源节点和目标节点之间的数据量减少, 使得迁移网络流量下降很多。

内存压缩最重要也是最基本的一点就是压缩之后不能出现丢失部分数据, 在这一问题上大多数的压缩方法都可以实现, 其次就是压缩的开销要越小越好。如果压缩的开销时间较长, 在线迁移时就不会有优势了。而压缩所花费的时间主要是CPU的开销, 因为内存压缩算法不会占用较多内存, 几乎可以忽略。因此如何有效的处理压缩开销和压缩效果之间的关系, 是减少传输量、提高传输效率的关键之一, 重点在于针对不同内存页特征选好相应压缩算法。

文献[13]中指出:一般压缩算法采用WKdm算法[14], 但LZO[15]这种压缩算法在虚拟机迁移这个整体环境中相对其他算法有一定的优势, 是专门设计用于快速有效的将内存中数据压缩的算法。LZO压缩算法具有以下特征:

(1) 解压简单, 速度非常快, 由于在线迁移对时间比较敏感, 所以解压速度快突出了LZO算法的优势。

(2) 解压不需要内存, 压缩的速度也很快, 一般只需要64k B的内存, 之所以要迁移, 可能就是因为内存不足等原因。显而易见在这一点上, LZO算法对比其他压缩算法又有了一定的优势。

(3) 可以得到相当有竞争力的压缩比, 这一点又有利于在线迁移, 传输迁移量明显减少, 进一步释放了网络传输量, 又缩小了传输时间。

(4) 算法是无损的。这个比较重要但也是最基本的, 绝大多数压缩算法都能满足。

(5) 算法是线程安全的, 并且LZO支持重复压缩以及原地解压。线程安全保证了数据的准确性。

4 实验与结果分析

迁移实验是在局域网内两个pc机之间进行的, 两台PC机的配置一样, 虚拟平台是Xen4.1, 虚拟机操作系统Ubuntu11.10, 在同一个局域网内, 属于同构环境下虚拟机动态迁移。迁移内存大小分别为128M, 256M, 512M, 1024M。多次实验取平均值, 总的迁移时间的对比如图3所示。

从图3可以看出, 与预拷贝相比, 改进的算法总的迁移时间比原先的少了, 而且比较明显, 有显著的改善。

从图4可以看出, 不管内存多大, 停机时间都差不多, 改进后的算法将停机时间进一步缩小, 提高了性能。

5 结束语

本文首先给出了传统迁移算法的迁移机制, 并对其作了具体分析, 针对其迁移时内存页会反复重传导致迁移时间较长的问题做了改进, 即在预拷贝算法中增加了脏页预测算法和内存压缩算法相结合的方法。通过实验得出, 脏页预测算法有效地降低了迭代次数, 消耗的停机时间和迁移时间进一步减少, 内存压缩算法压缩了传输的总量, 节省了传输时间, 达到了更快迁移虚拟机的目的。

摘要:在线迁移在云计算平台下已广泛使用, 虚拟机内存迁移主要采用的是预拷贝算法。传统预拷贝算法在迭代过程中会将脏页反复重传导致迁移时间较长, 针对这一问题文章提出了在拷贝过程中增加脏页预测算法和内存压缩算法相结合的方法。脏页预测算法是采用统计方法, 依据内存页历史操作情况对改动频繁的内存页进行标记, 根据标记决定是否在最后一轮内存迁移中传输, 为了减少迁移传输量, 先通过内存压缩算法将其压缩, 然后再传输。实验结果表明, 改进后的方法有效地降低了停机时间和迁移时间, 提高了迁移效率, 达到了更快迁移的目的。

服务云计算的虚拟机动态迁移技术 第5篇

1 面向云计算的虚拟化技术的优化

鉴于如今的计算模式,己经从以计算机为中心向以用户为中心的云计算服务过渡,人们更关心的是计算系统将给用户提供怎样的接口和提供怎样的服务,而用户的需求往往是复杂和多样化的。而虚拟化技术能够灵活组织多种计算资源,隔离具体的硬件体系结构和软件系统之间的紧密依赖关系,实现透明化的可伸缩计算系统架构,提高计算资源的使用效率,发挥计算资源的聚合效能,并为用户提供个性化和普适化的计算资源使用环境。虚拟化技术中的虚拟机“实时迁移(Live Migration)”技术可以在保持虚拟机运行的同时,把其从一个物理计算机迁移到另一个物理计算机,并在目的机器上恢复运行,无缝的实现服务整合。由于虚拟机实时迁移宕机时间很短,可使服务中断最小,从而能够实现服务器的动态负载均衡和在线维护,并提供了一种前瞻性容错方案,它是虚拟机应用中最引人注目和最有价值的应用之一。但由于实时迁移对系统实时服务会存在一些负面影响,如何减少宕机时间是其关键技术也是难点技术[5]。

对虚拟机动态迁移的优化工作基于两点考虑:一方面通过分析实时迁移的算法和结构,针对在高脏页率的情况下传统的实时迁移算法存在一些弊端,提出分层拷贝算法和内存压缩算法来有效缩短实时迁移的宕机时间。另一方面通过对云计算和虚拟化中虚拟机实时迁移技术的全面分析与研究,以现有的Xen虚拟机实时迁移实现机制中的内存迁移为分析基础,以有效缩短迁移宕机时间为目的,提出Magician(魔术师)优化迁移框架。该框架是在典型Xen虚拟机的运行迁移模块中添加分层拷贝模块和内存压缩模块,并在相关模块下提出分层拷贝算法和内存压缩算法。通过测试分析,Magician优化了实时迁移实现的时间和空间复杂性,达到虚拟机迁移性能优化的目的。

1.1 虚拟机动态迁移基本原理

虚拟机实时迁移主要包括内存迁移、设备迁移和存储迁移三部分。其中,动态迁移中最重要最复杂的部分是内存迁移。下面以Xen为例,从内存迁移的细节着手,分析虚拟机实时迁移的具体实现。Xen虚拟机动态迁移框架包括迁移监听、运行迁移、冻结、目标域唤醒等4个基本模块[6],如图1所示。

监听迁移模块:在整个迁移中,具有绝对的指挥决定权。它决定由谁来负责启动迁移,具体什么时候迁移,迁移到什么地方去等问题。根据目标的不同监听迁移模块要做出不同的判断:首先,目标是实现负载平衡。则必须在虚拟监控器VMM中设置一个stub监听信号,监听所有域的运行情况,如果决定对迁移域Y进行迁移,则监听模块向迁移域Y发“需要迁移”信号,并同时向其他节点的对等模块进行通信,用来确定迁移的目标域。其次,目标是实现资源可用。则由迁移域Y向虚拟监控器VMM发“请求迁移”信号,再由VMM回复“通过请求”信号,并回复其他域的运行情况,最后,由迁移域Y自己决定什么时候迁移,迁移到哪个目标域。

运行迁移模块:用于负责迁移的具体实施。该模块的操作是整个迁移过程的关键,直接影响迁移消耗时间和宕机时间,还关系到迁移后域的性能问题。首先,由监听模块发出“迁移”信号,同时收集迁移域Y及其他相关域的运行状态信息,对收集到的信息进行封装。然后,向冻结模块发送“冻结”信号,对迁移域Y进行冻结。接着,进入“预拷贝”阶段,该阶段的作用是在保持虚拟机运行的同时传输内存的映像到目标域M,这个阶段将对迁移域Y内存页执行有限次的迭代拷贝,第一次迭代把所有的内存页拷贝到目标域M上,之后的每次迭代只拷贝在前一次拷贝过程中产生的脏页。直到满足迭代停止的条件,结束预拷贝,进入“宕机拷贝”阶段,这时停止虚拟机的运行,迁移域Y被挂起,不再有内存更新。并把所有不一致的页连同没有传过的页一次性拷贝到目标域M上,这段时间称为“宕机时间”。最后,拷贝完成,运行迁移模块向目标域唤醒模块发出“唤醒”信号,唤醒目标域M。

冻结模块:用于保证迁移域Y与目标域M的一致性,它解决了何时对迁移域Y进行冻结,以及冻结后,如何保证原系统服务对用户使用的“连续性”。

目标域唤醒模块:用于确定什么时候唤醒目标域,什么时候建立新虚拟机,还用来保证唤醒后,目标域M与迁移域Y的服务一致性。

1.2 Magician框架优化设计与算法

根据分析可知,内存迁移分为两个阶段:预拷贝阶段和宕机拷贝阶段。迁移消耗时间是指从迁移域接收到迁移请求信号开始,至目标域上开启新的虚拟机的整个时间。在实施迁移时,要进行停机拷贝,势必会形成虚拟机的一个宕机时间,尽管这个宕机时间很短(一般在30-600毫秒),但宕机的直接后果是造成虚拟机与I/O等设备中断,由此造成I/O服务质量下降或者间断。因此,为了提高迁移性能,关键是减少宕机时间[6]。Magician就是基于Xen研发的虚拟机动态迁移优化设计框架,其优化实现是在传统的运行迁移模块中添加内存压缩模块和分层拷贝模块,如图2所示。

为实现Magician动态迁移框架。本文提出两个优化算法:分层拷贝算法和内存压缩算法。

分层拷贝算法:在原工作集测定算法中,to_send:标记的是在前一次迭代过程中产生的脏页,也就是在本次迭代时需要被传送的页;to_skip:标记的是在本轮迭代开始到目前为止产生的脏页,也就是本次迭代可以不传送的页;to_fix:标记的是在最后的宕机拷贝阶段时传送的页。由于to_skip表示的是在本轮迭代开始到目前为止再次被修改过的页,而原虚拟机动态迁移系统将其视为修改频繁的页,这种工作集选取方法比较片面性。为了改善其片面性,分层拷贝算法的思想是将内存页的按修改频率放入不同的层次来处理。第一,本优化设计将工作集的选取时间T扩大为原算法中获取to_send的时间加获取to_skip的时间和。第二,调整了原算法的监测时间,在一段相对足够长的时间内对内存页的使用状态进行监测,尽量平衡掉某些内存页在某一小段时间内非常活跃带来的判定误差。第三,将原算法中用“0/1”标记内存页的修改情况深化为精确的记录修改情况的dirty_count[]数组。在预迁移开始时,先对工作集进行测定,第一轮迭代不传送所有的内存页,而是传送算法已经标记出那些适合传送的页面。其后每一轮传送时,先传输上一轮迭代中已经标记好的传送页,再重新测定工作集,标记出下一轮迭代时的待传送页,依次循环。直到满足结束循环条件,再进行停机拷贝。减少了在停机拷贝阶段的传送数据量,缩减宕机时间。具体见图3。

在预迁移阶段,开始监控脏页情况,在修改内存页的时候系统会产生一个写中断请求,当进入写中断请求后会将该页所在位图信息置为脏页,原脏页位图只能用“0”、“1”来记录该页是否被修改过,并不能记录脏页被修改的详细情况。现在,在内核中引入dirty_count[]数组,当进入中断处理后,调用一个修改dirty_count[]的入口函数,进入dirty_count[]前,先将整个dirty_count[]加锁,防止修改过程中发生其他意外修改;然后,将dirty_count[]中对应的单元值进行加1操作,修改后将dirty_count[]解锁。当写操作超过>255时,不再增加。在监控一段时间后,得到dirty_count[]数组,该数据详细记录脏页的修改情况。

在预拷贝阶段,每次循环开始前,检查内存页的修改情况,将整个dirty_count[]数组进行加锁操作,然后,拷贝dirty_count[],进行页表统计。其中,所有脏页的修改次数total_dirtycount等于上一次迭代的total_dirtycount与本次dirty_count[i]之和;如果dirty_count[i]>0,则脏页总量dirtypage_amount自加1。统计结束后,对dirty_count[]数组解锁,并清零。

分层阈值critical为total_dirtycount除以dirtypage_amount,即所有脏页的平均修改次数,本算法利用该层次界定值将页面分为三种情况为数组layer[]的元素赋值:

将layer数组中值为0和1的页面映射到to_send页位图中,传送开始时按照to_send页位图进行页面的传送,而layer[]、dirtypage_amount、total_dirtycount全清零。接下来,开始下一轮脏页监控[7]。

内存压缩算法:在传统虚拟机动态迁移机制中,一般运用气球驱动程序动态分配内存,运行域上的内存都用VMM动态分配。本算法先利用Ballon动态分配内存,然后,在系统的存储层次中逻辑地加入一层---压缩内存层,将要迁移的页以压缩页的形式,统一存放在内存预先分配好的“压缩内存”中,再将压缩内存中的页封装起来,迁移到目标机上。有效减小了迁移的总数据量,缩减迁移总消耗时间。将管理这一压缩内存层的相关硬件及软件的集合统称为内存压缩系统。该系统由一个可装载的设备驱动程序构成,包括设备驱动程序,保存压缩过的页的压缩内存,压缩内存管理设备和普通的内存四部分。内存压缩系统的实现流程图,如图4所示主要分成为压缩内存管理模块、压缩算法模块和块设备驱动程序3个模块执行。

其中值得关注的是压缩内存管理模块和压缩算法模块。首先,压缩内存管理模块是将块设备作为一个“交换设备”,根据装载时默认值,在内核中预先为该块设备划分出一定大小的内存区,存储要迁移的内存页,这些页将以压缩的形式存储这些内存区中。为了能有效管理这些压缩内存页,本论文借用Link-Fit方法,即将每一个逻辑页(即压缩后的页)存储在一些被称为Cell的基本分配块中。每个Cell容量都是256字节。这些块在内存中可以不是连续的,只需要通过指针链接在一起,这些逻辑块就可以构成一个完整的逻辑体。块设备驱动程序主要依靠如下几个函数来实现:

int zipmem_init(void):该函数的功能是向系统注册zipmem设备,并为zipmem设置必要的参数,然后进行设备初始化。

int zipmem_cleanup(void):该函数的功能是卸载zipmem设备,并进行信息清除。首先调用函数卸载设备,然后释放在初始化时申请的内存区,最后清除那些在全局数组中保留的关于压缩内存的相关信息。

int zipmem_make_request(request_queue_t*queue,int rw,struct buffer_head*bh):该函数的功能是完成设备的读写工作,是整个设备驱动程序中最重要的函数[8]。

2 实验环境与测试分析

实验环境:为了验证Magician优化框架的合理性,搭建的实验环境见表1。

实验方案1:分层拷贝算法测试与分析。将分层拷贝算法编译进Xen源代码中。利用Benchmark Factory软件构建低脏页率和高脏页率两个环境,在空负载的情况下,分别测试在这两个环境下源代码和优化代码的迁移性能。通过修改Domain U中memory变量,将迁移内存分别设为128MB、256MB、512MB、1024MB。经过多次实验取平均值,实验结果如表2所示。

从表2看,由于脏页率很低,迁移时迭代次数都很少,都没有达到本实验设定的最多迭代次数30次。由实验结果所描绘的图5可看出,分配的内存大小对宕机时间没有多大影响,即低脏页率的环境下,本文提出的分层拷贝算法对宕机时间的减小作用不明显。

为与低脏页率的环境作对比,实验在与低脏页率相同的配置环境下进行。经过多次实验取平均值,实验结果如表3所示。

由以上数据可以看出,在高脏页率的环境下,迭代次数很多。本实验设定最高迭代次数为30次,由表3可知,原算法都是超过预设的最大迭代次数而退出拷贝的,分层拷贝算法对迭代次数略有控制。如图6所示,在高脏页率时,分层拷贝算法比Xen的原算法在宕机时间上有明显减少,提高了迁移性能,表现出分层拷贝算法的优势。

实验方案2:内存压缩算法测试与分析。本实验继高脏页率实验环境下进行,预先设置虚拟机内存为1024MB,使用Benchmark Factory软件构建不同的负载环境,分别测试单独加入分层拷贝代码,同时分层拷贝代码和内存压缩优化代码的迁移性能。以下是负载100时的测试结果,由表3(b)可知,当迁移域内存为1024MB时,测试到的迁移共迭代了25次。经过多次实验取平均值,选取其中的13次进行分析,实验结果如表4(a)和表4(b)所示。分别为优化前后,每次迭代时发送的数据页和脏页。

在迁移传输中,随着操作系统运行服务的增加,每次循环传输中出现的总的数据页越多,在迁移中出现的脏页也就会越多,而脏页会严重影响迁移中系统的网络服务。由以上数据可以看出,在高脏页率的环境下,迁移时的总发送页数和迁移过程中产生的脏页数明显减少,平均压缩比达到70%左右。

如图7(a)和7(b)可示,迁移数据量的减少,降低了对网络服务的影响,在一定程度上提高了迁移的速度和迁移中出现的脏页速度,缩短了迁移总消耗时间和宕机时间,提高了迁移性能,表现出内存压缩算法的优势。

3 结论

本文主要对云计算和现有的虚拟机动态迁移技术作了较为全面的分析与研究,在分析虚拟机Xen动态迁移机制中内存迁移的基础上,提出了一个优化框架——Magician(魔术师)动态迁移框架,该框架主要利用分层拷贝算法和内存压缩算法两个优化算法,优化了实时迁移实现的时间和空间复杂性,有效缩短迁移宕机时间,达迁移性能优化目的。

摘要:云计算作为互联网时代最新的IT运营模式,它是一种创新的信息系统(IS)的架构。虚拟化技术是云计算资源管理中最为有效的解决办法,其最引人注目和最有价值的是虚拟机实时迁移技术。该文以现有的Xen虚拟机实时迁移实现机制中的内存迁移为分析基础,以有效缩短迁移宕机时间为目的,提出Magician(魔术师)优化迁移框架。该框架是在典型Xen虚拟机的运行迁移模块中添加分层拷贝模块和内存压缩模块,并在相关模块下提出分层拷贝算法和内存压缩算法。通过测试分析,Magician优化了实时迁移实现的时间和空间复杂性,达到虚拟机迁移性能优化的目的。

关键词:云计算,虚拟化,虚拟机动态迁移,迁移框架,优化算法

参考文献

[1]Luis M V,Rodero-Merino L,Caceres J,et al.A break in the clouds:toward a cloud definition[C].ACM SIGCOMM Computer Communica-tion Review,2009,39(1):50-55

[2]杨正洪.云计算技术指南:应用、平台与架构[M].北京:化学工业出版社,2010.

[3]IT168.惠普阐述云计算与虚拟化关系[EB/OL].(2010-07-27).http://storage.it168.com.

[4]虚拟化与云计算小组.虚拟化与云计算[M].北京:电子工业出版社,2009.

[5]金海等.计算机系统虚拟化——原理与应用[M].北京:清华大学出版社,2008.

[6]石磊,邹德清,金海.Xen虚拟化技术[M].武汉:华中科技大学出版社,2009.

[7]刘鹏程.云计算中虚拟机动态迁移的研究[D].上海:复旦大学,2009..

系统云迁移 第6篇

陈老师执教的《临死前的严监生》这篇课文, 让我深刻感受到如何把握语文人文性与工具性的统一。就这篇课文而言, 要实现人文性与工具性的统一, 最好的, 也是最有效的就是引领学生去品读、去揣摩、去领悟, 而后让学生在训练中练习这种写法, 使学生的能力得到迁移、提高。陈老师在执教这一课时正是沿着这样的思路去设计的。她设计的步骤是这样的:游戏 (猜心思) →感知课文→找出重点语句→品读、揣摩→学生表演→学生习作。思路清晰, 设计合理, 操作方便, 实用有效。下面结合这一课的教学过程谈些体会。

一、猜心思游戏, 一石激起千层浪

上课伊始, 陈老师巧妙地做猜心思游戏。这是一种铺垫, 设计合理, 用意深远。陈老师在上课伊始, 脸带笑容, 充满激情地和学生玩起了猜心思的游戏。老师猜学生的心理 (根据学生的神态、动作、语言) , 反过来让学生来猜老师的心理, 从而引出要揣摩人的心理, 看出一个人的性格等就是要通过人的神态、动作、语言等的描写。这一铺垫看似轻描淡写, 其作用却影响至深。第一, 拉近教师与学生的距离。陈老师去执教从未见过面的学生, 隔阂是存在的, 但她却很好地利用了这一点, 一开课, 整个课堂气氛就被陈老师激活了。第二, 为后面揣摩严监生的心理埋下伏笔, 铺平了道路。正如行军打仗, 既把前进道路上的阻碍扫平, 又埋下了一支奇兵。陈老师在猜完学生的心理后让学生来猜, 非常及时、切合, “学生猜”是猜的重心, 时间与重心是放在学生的身上。当学生猜老师很高兴是因为老师笑了, 激情之火点燃了, 陈老师顺势而导, 继续引导学生用一个词语或一句话、一段话来描绘老师, 引出描写老师神态、动作、语言的话语, 从而有条不紊地导出揣摩的根据, 把激情之火、思维之火继续升温。仅仅几分钟时间, 学生学习的热情高涨, 为以下的教学打好了铺垫。

二、抓住重点语句, 品读揣摩乐无穷

抓住重点语句品读, 这是为理解、揣摩严监生的心理做好准备, 也是为学生学习写作方法找出模仿的材料、实际的根据。陈老师把握得比较好。品读、揣摩, 这是全课的重点, 也是难点。如果突破了这一难关, 所有问题将迎刃而解。陈老师在这一教学步骤中, 准确地抓住关键文句让学生去揣摩, 让学生通过严监生的动作、神态去体会、揣摩他的内心, 把学生放在主体的位置, 指导学生透过严监生的动作、神态揣摩严监生的内心, 并通过边做动作边入情入境地朗读等, 让学生反复揣摩文中人物的心理。

我们知道, “品读”、“揣摩”指的是学生对文本语言进行品味、辨析、反复思考, 从而有所感触和领悟, 一切还在于学生。因此, 引导学生品读、揣摩的第一步就是读。当学生初步感知课文, 找出描写严监生的动作、神态的语句后, 教师的首要任务就是引领学生读。在教学过程中, 陈老师很注意这一点, 读的形式也较丰富。我概括了一下, 一节课中, 陈老师指导学生朗读大体有以下几种形式。 (1) 充分地读:老师和学生合作, 学生读找出来的那些句子, 老师读其他的语句。 (2) 理解地读:老师提醒学生要注意描写严监生动作、神态的词, 如狠狠、越等, 不解释, 让学生读出那些词的语气。 (3) 品味地读、表演读。请学生扮演文中的角色, 设身处地地读, 读完后进行适当地评价。在这一过程中, 陈老师注意一个鼓励与指正的过程, 她特别注意引导学生之间的评价。我觉得那是一种无法替代的理解与思考, 此时老师只是起到指点与引路的作用, 陈老师很好地把握了这一点。

接着, 陈老师结合语境, 揣摩内心。陈老师在学生对课文已经非常熟悉的基础上顺势指导学生去揣摩严监生的内心世界。这时, 学生已累积于心, 一切已是水到自然成。陈老师引领学生理解严监生不是不想说话, 而是不能说话, 话在心中, 话在动作中, 千言万语化作他的两根手指, 他唯一能做的就是通过他的动作和神态来表现。那么他有哪些话想说呢?陈老师注意提醒学生抓住描写严监生动作、神态的词, 让学生一边做出动作, 一边说说严监生内心的想法, 并指导学生说说为什么要这样想, 进而使学生加深对严监生内心世界的理解。在学生揣摩出严监生的内心世界后, 陈老师又让学生读一读。由于学生揣摩了人物的内心, 此时, 学生读起来绘声绘色, 很有味道。教学到此, 重点、难点突破了。

三、习作练笔, 学以致用促巩固

习作练笔, 将课文的写作手法学以致用, 这是这一课的升华, 又是一个高潮。这是学生学以致用, 能力得到提高的一步, 也是体现语文工具性的一个表现。陈老师总结归纳写法后, 并顺势给学生提供写作的材料, 再次给学生提供参考的目标, 呈现一个情境, 从而可以缩小范围, 锁定目标, 做到有的放矢。短短几分钟的时间, 有部分学生已经写好了二三百字左右的片段, 内容也较感人, 而且我发现学生能注意抓住人物的动作、神情、语言等刻画人物形象, 很好地将课堂所学进行运用, 真正体现了工具性与人文性的统一。现摘录一二习作片段如下:

文段一:记得第一节是梁老师的数学课, 由于前天与好朋友闹矛盾, 上课伊始, 我就有些不专注。 我悄悄地注意起梁老师的眼睛来。 这是一双锐利的眼珠, 很有它特别的地方:亮, 特别明亮。 水汪汪的瞳仁骨碌碌地转, 像闪光的露珠在绿荷上晃, 又像晶莹的珍珠在玉盘里溜。 当梁老师的目光转过来, 与我的目光相碰时, 我赶紧低下头来, 真的, 那目光已经照到我心底里去了。 老师的眼睛似乎有特异功能啊! 我忽然间来了点灵感, 我想起了电影里的探照灯, 想起了童话里的宝镜……我马上下意识提醒自己, 这节课梁老师讲授“体积与容积”中我们没掌握好的知识, 梁老师分明是在提醒我不要走神。 我立马整理思绪, 端坐聆听。

文段二:我们班的“刺头”李诗民拿着根棍子得意洋洋地走进教室。 看着他那傲慢的神情, 好几个同学脸露怒色, 可是敢怒不敢言。 突然“啪”一声脆响, 李诗民的棍子碰坏了一块玻璃, 他愣了愣神, 急忙收起棍子, 脸上露出一丝惊慌的神色。

以上是我在课堂上摘录的两个文段, 我计了下时, 学生在短短的五分钟里, 能将陈老师教授的习作方法运用于习作中, 注意抓住人物的动作、神情、心理等特征的描写传神地刻画人物形象。以上两个文段的描写虽文字不多, 但却让场上听课的老师折服。文段一里与其说是对梁老师神情的描写, 还不如说是透过梁老师的描写折射自己的内心世界;文段二对“刺头”李诗民的描写可谓是活灵活现。除了平时语言文字的积累, 写法的指导融会贯通于课堂中, 真正体现语文的工具性与人文性的统一, 这是小学语文新课标体现的课程性质与地位。

企业信息系统数据迁移探讨 第7篇

关键词:数据迁移,数据库

1 数据迁移背景和意义

在企业信息化建设过程中, 随着计算机网络和数据库系统的迅速发展, 应用系统需要更换平台或使用功能更强大的系统来替代原有系统, 此时原有的旧系统在使用期间往往存储了大量宝贵的历史数据, 这些历史数据是进行决策分析的重要依据, 由此必然面临一个数据迁移的问题。

数据迁移对系统切换乃至新系统的运行有着十分重要的意义。数据迁移的质量是新系统成功上线的重要前提, 也是新系统今后稳定运行的有力保障。如果数据迁移失败, 新系统将不能正常启用;如果数据迁移的质量较差, 没能屏蔽全部的垃圾数据, 将对新系统造成很大的隐患。

2 数据迁移方案

2.1 直接拷贝方法

利用操作系统的一些命令可以实现磁盘数据的直接复制, 适合于脱机迁移的环境。从宏观上看, 数据复制将来自一个存储位置的数据拷贝到一个或更多的其它本地或远程存储系统。但是, 复制发生的位置是主要差别之一, 复制服务或软件可以运行在存储阵列、网络或服务器上, 如图1所示为存储阵列复制技术。

同步与异步复制, 复制可以同步发生, 数据同时写入到主和次级存储系统;或者可以异步执行, 数据经过延时后复制到复制目标。同步复制取决于充足的带宽和低延时, 相反, 异步复制首先将数据写入主阵列, 并且根据实现方法, 将数据复制到内存或基于硬盘的日志中。

2.2 逻辑卷数据镜像方法

对于服务器操作系统已经采用逻辑卷管理器LVM的系统, 可以利用逻辑卷管理器的管理功能完成原有数据到新存储的迁移, 逻辑盘卷管理LVM是对磁盘分区进行管理的一种机制, 镜像是在两个或多个磁盘或磁盘子系统上生成同一个数据的镜像视图的信息存储过程, 一个叫主镜像系统, 另一个叫从镜像系统。一旦灾难发生时, 分布在异地存储器上的数据备份并不会受到波及。

逻辑卷数据镜像方法的优点重要有:支持任意存储系统之间的迁移, 适合于主机存储的非经常性迁移。

2.3 存储虚拟化方法

利用VMware虚拟架构技术, 该技术具有虚拟机可动态在线从一台物理服务器迁移到另一台物理服务器上的特性等, 并且由VMware虚拟架构套件生产出来的虚拟机的封装文件都存放在统一存储上。

通过共享的SAN存储架构, 可以最大化的发挥虚拟架构的优势, 进行在线地迁移正在运行的虚拟机, 进行动态的资源管理, 而且为以后的容灾提供扩展性和打下基础。

2.4 数据库备份恢复方法

企业在信息系统数据迁移中面临的最大问题为数据库迁移, 因为数据库中存放了企业的大部分数据, 在数据迁移技术中对于数据库数据, 可使用数据库的自身工具, 如Oracle RMAN备份恢复技术, 以及自带同步复制工具Data Guard, 以及一些第三方的数据库复制工具。

Data Guard是传输日志到数据迁移目标端, 然后在数据迁移目标端解析成SQL语句执行, 网络上传输的是归档日志, 而以Golden Gate、Share Plex为代表的备份软件是在生产端解析日志, 通过网络把解析出的SQL语句传输到在线数据迁移目标端执行。

3 数据迁移中Oracle Golden Gate技术

Golden Gate一种基于日志的结构化数据复制软件, 它通过解析源数据库在线日志或归档日志获得数据的增删改变化, 再将这些变化应用到目标数据库, 实现源数据库与目标数据库同步。Golden Gate软件可以在异构的IT基础结构 (包括几乎所有常用操作系统平台和数据库平台) 之间实现大量数据亚秒一级的实时复制。

利用捕捉进程 (Capture Process) 在源系统端读取Online Redo Log或Archive Log, 然后进行解析, 只提取其中数据的变化如增、删、改操作, 并将相关信息转换为Golden Gate定义的中间格式存放在队列文件中。再利用传送进程将队列文件通过TCP/IP传送到目标系统。捕捉进程在每次读完log中的数据变化并在数据传送到目标系统后, 会写检查点, 记录当前完成捕捉的log位置, 检查点的存在可以使捕捉进程在中止并恢复后可从检查点位置继续复制;目标系统接受数据变化并缓存到Golden Gate列当中, 队列为一系列临时存储数据变化的文件, 等待投递进程读取数据;Golden Gate递进程从队列中读取数据变化并创建对应的SQL语句, 通过数据库的本地接口执行, 提交到数据库成功后更新自己的检查点, 记录已经完成复制的位置。

由此可见, Golden Gate是一种基于软件的数据复制方式, 它从数据库的日志解析数据的变化 (数据量只有日志的四分之一左右) 。Golden Gate将数据变化转化为自己的格式, 直接通过TCP/IP网络传输, 无需依赖于数据库自身的传递方式, 而且可以通过高达9:1的压缩率对数据进行压缩, 可以大大降低带宽需求。在目标端, Golden Gate以通过交易重组, 分批加载等技术手段大大加快数据投递的速度和效率, 降低目标系统的资源占用, 可以在亚秒级实现大量数据的复制, 并且目标端数据库是活动的Golden Gate提供了灵活的应用方案, 基于其先进、灵活的技术架构可以根据用户需求组成各种拓扑结构。

4 总结

数据迁移过程是一个复杂的过程, 它包括的过程不仅仅是将数据从一个存储设备取出然后再插入到另外一个存储设备上。为了能够保证顺利的将数据由一个存储系统迁移到另外一个存储系统, 必须首先理解的是如何迁移数据以及为了避免潜在的风险以及复杂性而采取的正确的步骤。

参考文献

[1]刘如九, 张振山, 柴天佑.一种通用的多数据库间数据抽取方法及应用[J].北京交通大学学报, 2008.

本文来自 99学术网(www.99xueshu.com),转载请保留网址和出处

【系统云迁移】相关文章:

云平台迁移技术规范书08-25

企业迁移05-11

语用迁移05-12

网络迁移05-18

迁移发展06-13

技能迁移06-16

城市迁移07-05

迁移影响07-11

计算迁移08-07

迁移规律08-11

上一篇:干熄焦锅炉下一篇:农村民俗文化传播