软件设计先进性之虚拟化技术的应用
随着科技的进步,虚拟化技术深入到我们的生活的方方面面,虚拟化如何使用呢,下面我一下维度进行阐述,即服务器虚拟化、存储虚拟化、平台虚拟化,应用虚拟化和桌面虚拟化
导读:虚拟化(Virtualization)技术是云计算系统的核心组成部分之一,是将各种计算及存储资源充分整合和高效利用的关键技术。本质上讲云计算带来的是虚拟化服务。虚拟化是为某些对象创造的虚拟(相对于真实)版本,比如操作系统、计算机系统、存储设备和网络资源等。它是表示计算机资源的抽象方法,通过虚拟化可以用与访问抽象前资源一致的方法访问抽象后的资源,可以为一组类似资源提供一个通用的抽象接口集,从而隐藏属性和操作之间的差异,并允许通过一种通用的方式来查看和维护资源。从虚拟化到云计算的过程,实现了跨系统的资源动态调度,将大量的计算资源组成IT资源池,用于动态创建高度虚拟化的资源供用户使用,从而最终实现应用、数据和IT资源以服务的方式通过网络提供给用户,以前所未有的速度和更加弹性的模式完成任务。
服务器虚拟化
服务器虚拟化技术可以使一个物理服务器虚拟成若干个服务器使用,是基础设施即服务(Infrastructure as a Service,IaaS)的基础。服务器虚拟化需要具备以下功能和技术:
1) 多实例:在一个物理服务器上可以运行多个虚拟服务器。
2) 隔离性:在多实例的服务器虚拟化中,一个虚拟机与其他虚拟机完全隔离,以保证良好的可靠性及安全性。
3) CPU虚拟化:把物理CPU抽象成虚拟CPU,无论任何时间一个物理CPU只能运行一个虚拟CPU的指令。而多个虚拟机同时提供服务将会大大提高物理CPU的利用率。
4) 内存虚拟化:统一管理物理内存,将其包装成多个虚拟的物理内存分别供给若干个虚拟机使用,使得每个虚拟机拥有各自独立的内存空间,互不干扰。
5) 设备与I/O虚拟化:统一管理物理机的真实设备,将其包装成多个虚拟设备给若干个虚拟机使用,响应每个虚拟机的设备访问请求和I/O请求。
6) 无知觉故障恢复:运用虚拟机之间的快速热迁移技术(Live Migration),可以使一个故障虚拟机上的用户在没有明显感觉的情况下迅速转移到另一个新开的正常虚拟机上。
7) 负载均衡:利用调度和分配技术,平衡各个虚拟机和物理机之间的利用率。
8) 统一管理:由多个物理服务器支持的多个虚拟机的动态实时生成、启动、停止、迁移、调度、负荷、监控等应当有一个方便易用的统一管理界面。
9) 快速部署:整个系统要有一套快速部署机制,对多个虚拟机及上面的不同操作系统和应用进行高效部署、更新和升级。
存储虚拟化
存储虚拟化的方式是将整个云系统的存储资源进行统一整合管理,为用户提供一个统一的存储空间存储虚拟化具有以下功能和特点:
1) 集中存储:存储资源统一整合管理,集中存储,形成数据中心模式。
2)分布式扩展:存储介质易于扩展,由多个异构存储服务器实现分布式存储,以统一模式访问虚拟化后的用户接口。
3) 节能减排:服务器和硬盘的耗电量巨大,为提供全时段数据访问,存储服务器及硬盘不可以停机。但为了节能减排,需要利用更合理的协议和存储模式,尽可能减少开启服务器和硬盘的次数。
4) 虚拟本地硬盘:存储虚拟化应当便于用户使用,最方便的形式是将云存储系统虚拟成用户本地硬盘,使用方法与本地硬盘相同。
5) 安全认证:新建用户加入云存储系统前,必须控下级的存储数据,而下级无法查看上级或平级的数据。
平台虚拟化
平台虚拟化是集成各种开发资源虚拟出的一个面向开发人员的统一接口,软件开发人员可以方便地在这个虚拟平台中开发各种应用并嵌入到云计算系统中,使其成为新的云服务供用户使用
平台虚拟化具备以下功能和特点:
1) 通用接口:支持各种通用的开发工具和由其开发的软件,包括C、C++、Java、C#、Delphi、Basic等。
2) 内容审核:各种开发软件(服务)在接入平台前都将被严格审核,包括上传人的身份认证,以保证软件及服务非盗版、无病毒及合法性。
3) 测试环境:一项服务在正式推出之前必须在一定的测试环境中经过完整的测试才行。
4) 服务计费:完整合理的计费系统可以保证服务提供人获得准确的收入,而虚拟平台也可以得到一定比例的管理费。
5) 排名打分:有一整套完整合理的打分机制对各种服务进行排名打分。排名需要给用户客观的指导性意见,严禁有误导用户的行为。
6) 升级更新:允许服务提供者不断完善自己的服务,平台要提供完善的升级更新机制。
7) 管理监控:整个平台需要有一个完善的管理监控体系以防出现非法行为。
应用虚拟化
应用虚拟化是把应用对底层系统和硬件的依赖抽象出来,从而解除应用与操作系统和硬件的耦合关系。应用程序运行在本地应用虚拟化环境中时,这个环境为应用程序屏蔽了底层可能与其他应用产生冲突的内容。应用虚拟化是SaaS的基础。应用虚拟化需要具备以下功能和特点:
1) 解耦合:利用屏蔽底层异构性的技术解除虚拟应用与操作系统和硬件的耦合关系。
2) 共享性:应用虚拟化可以使一个真实应用运行在任何共享的计算资源上。
3) 虚拟环境:应用虚拟化为应用程序提供了一个虚拟的运行环境,不仅拥有应用程序的可执行文件,还包括所需的运行环境。
4) 兼容性:虚拟应用应屏蔽底层可能与其他应用产生冲突的内容,从而使其具有良好的兼容性。
5) 快速升级更新:真实应用可以快速升级更新,通过流的方式将相对应的虚拟应用及环境快速发布到客户端。
6) 用户自定义:用户可以选择自己喜欢的虚拟应用的特点以及所支持的虚拟环境。
桌面虚拟化
桌面虚拟化将用户的桌面环境与其使用的终端设备解耦。服务器上存放的是每个用户的完整桌面环境。用户可以使用具有足够处理和显示功能的不同终端设备通过网络访问该桌面环境。
桌面虚拟化具有如下功能和接入标准:
1) 集中管理维护:集中在服务器端管理和配置PC环境及其他客户端需要的软件可以对企业数据、应用和系统进行集中管理、维护和控制,以减少现场支持工作量。
2) 使用连续性:确保终端用户下次在另一个虚拟机上登录时,依然可以继续以前的配置和存储文件内容,让使用具有连续性。
3) 故障恢复:桌面虚拟化是用户的桌面环境被保存为一个个虚拟机,通过对虚拟机进行快照和备份,就可以快速恢复用户的故障桌面,并实时迁移到另一个虚拟机上继续进行工作。
4) 用户自定义:用户可以选择自己喜欢的桌面操作系统、显示风格、默认环境,以及其他各种自定义功能。