操作系统等关键软件产品同国外有相当大性能差距,云计算系统集成能力也亟待加强。此外,我国信息基础设施基础薄弱,宽带普及率较低,不利于高质量云计算服务的提供。
3.云计算应用实践:应用领域尚未拓展、服务种类较少
美、欧、日、韩等国家和地区已在政府、电信、金融等领域推广云计算,大型企业的私有云建设和应用已大规模推进。我国真正的云计算实践少,现有云计算应用主要集中在互联网信息服务和中小企业在线服务领域,在政府、电信、制造、金融、能源、交通等重点行业领域缺少成功应用案例。
4.云计算发展环境:战略规划制定和标准化工作开展较晚
一是世界主要国家和地区都已制定云计算发展战略规划,我国仍缺乏全国层面的统一规划和统筹布局,一些地方政府在云计算发展上存在定位不清、一哄而上、投资过热。二是针对云计算,国外已开始加强法律法规和标准规范制定,我国在数据保护、知识产权、信息安全等方面的法律法规缺乏,标准制定也缺乏统一引导,不适应云计算快速发展的需要。
5.核心问题分析:以服务创新为引领的发展模式尚未建立
从产业创新方向上来看,云计算产业的创新主要在于服务创新,而非技术创新,国家长期在高技术产业领域主要以技术创新为主,如果在推动发展云计算过程中仍采用以往注重技术创新的模式,或将无
15
法掌握以服务创新为主要发展模式的云计算服务市场,错失发展机遇。
从业务发展方向来看,云计算服务和云计算应用需求紧密相关,不以服务创新为产业发展的切入口,就无法使云计算发展真正与应用相结合,发挥其优势作用。
从产业发展重点来看,服务化发展是新一代信息产业发展的重要趋势,如果不将服务作为云计算发展的重点,就很有可能使云计算发展陷入到大规模基础设施建设的黑洞中。
二、云计算技术体系梳理
(一)虚拟化技术
虚拟化是一个广义的概念,其核心思想是通过虚拟机监视器或管理程序,将中央处理器、内存、计算机指令/外存、网络等昂贵的计算机资源映射为虚拟资源,从而虚拟出多台可以并行运行的“虚拟机”,实现在同一台物理计算机上同时运行多个独立的操作系统以及相互独立的应用,为操作系统和用户程序提供完整的运行环境。
虚拟化是云计算的基础。在云计算的技术体系中,虚拟化技术对应于物理资源和资源池层,利用虚拟化实现各种底层软硬件资源的整合、集成与组织。在云计算的三层服务体系中,虚拟化技术多用于IaaS层的产品中。
1.虚拟化关键技术
按照应用方向,虚拟化技术主要分为以下几个大类:
16
(1)系统虚拟化
系统虚拟化实现操作系统与物理计算机的分离,使得在一台物理计算机上可以同时安装和运行一个或多个虚拟的操作系统。虚拟运行环境为虚拟机提供一套虚拟的硬件环境,包括虚拟的处理器,内存,设备与I/O及网络接口等。
我们通常所说的虚拟化主要是指系统虚拟化技术,系统虚拟化的核心是服务器虚拟化。系统虚拟化的核心技术又可以分为硬件仿真、全虚拟化、半虚拟化、硬件辅助虚拟化、操作系统虚拟化等几种。
硬件仿真
在物理机的操作系统上创建一个模拟硬件的程序来仿真所想要的硬件,并在这个程序上运行虚拟机,虚拟机内部的客户操作系统无需修改。
全虚拟化
全虚拟化是指虚拟机模拟了完整的底层硬件,包括处理器、物理内存、时钟、外设等,使得为原始硬件设计的操作系统或其它系统软件完全不做任何修改就可以在虚拟机中运行。
半虚拟化
只模拟部分底层硬件,因此客户机操作系统不做修改是无法在虚拟机中运行的,其它程序可能也需要进行修改。
硬件辅助虚拟化
硬件辅助虚拟化是指借助硬件(主要是主机处理器)的支持来实现高效的全虚拟化。
17
操作系统级虚拟化
操作系统级虚拟化是一种在服务器操作系统中使用的轻量级的虚拟化技术,内核通过创建多个虚拟的操作系统实例(内核和库)来隔离不同的进程,不同实例中的进程完全不了解对方的存在。
计算机系统虚拟化必备的是对三种硬件资源的虚拟化:CPU、内存和设备与I/O,系统虚拟化主要技术的对比如下表所示。
表1.系统虚拟化的核心技术
Cpu 内存 采用影子页表技术:为每个客户机都维护一个“影子页表”,在这个表中写入,虚拟化之后的内存地址映射关系。 I/O 使用I/O设备模拟的方法来实现I/O设备虚拟化进行设备虚拟化时,VMM需要对某一目标设备进行模拟,为客户机提供一个虚拟的设备,使其可以透明的对这个虚拟设备进行操作。客户机OS发现虚拟的目标设备后,会使用目标设备的驱动程序来驱动该设备 让所有的客户操作系统都去使用,安装在“管理操作系统”里现成的设备驱动器。 当一个客户操作系统中自有的设备驱动器向硬件发出I/O设备使用指令时,这些指令会被截获而陷入到虚拟化平台里 然后,再被转到“管理操作系统”去使用它里面相应的设备驱动器。 有两种具体的虚拟化模型: 直接I/O设备分配 I/O设备共享 全虚拟化特权级压缩技术:让虚拟化管理程序和客户机运行在不同的特权级下 二进制代码翻译技术:将那些难以虚拟化的指令转化为支持虚拟化的指令 半虚拟化硬件辅助虚拟化
特权级压缩技术:修改客户操作系统的源代码,将那些和特权指令相关的操作,都转换为发给虚拟化管理程序的超级调用来执行。 页表写入法技术:客户操作系统创建一个新的页表时,它会向虚拟化管理程序注册该页表。 之后在客户机运行的时候,虚拟化管理程序将不断的管理和维护这个表,使客户机上面的程序能直接访问到合适的地址 引入EPT(扩展页表)技术: EPT通过使用硬件技术,使其能在原有的页表的基础上增加一个EPT页表。 通过这个页表,直接在硬件上支持客户机虚拟地址——客户机物理地址——宿主机物理地址的两次地址转换。 引入新的指令和运行模式: 让客户操作系统和虚拟化管理程序分别运行在合适的模式下。 18
(2)基础设施虚拟化
基础设施虚拟化是针对特定基础设施的虚拟化,比如内存、存储、网络资源等,可以细分为网络虚拟化和存储虚拟化等等。
网络虚拟化将网络的硬件和软件资源整合,向用户提供虚拟网络连接。其所涉及的关键技术包括虚拟局域网VLAN和虚拟专用网VPN等。
存储虚拟化为物理的存储设备提供一个抽象的逻辑视图,用户可以通过这个视图中的统一逻辑接口来访问被整合的存储资源。其所涉及的关键技术包括基于存储设备的存储虚拟化,例如磁盘阵列技术(RAID);以及基于网络的存储虚拟化,例如网络附加存储(NAS)、存储区域网(SAN)等。
(3)桌面虚拟化
桌面虚拟化解除个人电脑的桌面环境与物理机间的耦合关系。其采用的是集中化管理方式,IT人员无需逐一维护终端设备,所有桌面镜像都存储在远程服务器上,因而增强了数据安全性,简化了数据备份和恢复。由于用户可按需访问其完整的桌面环境,再也不用依靠单一的专用设备进行访问,大大提高了灵活性,可随时随地开展工作。
(4)软件虚拟化
软件虚拟化包括应用虚拟化和高级语言虚拟化等。
应用虚拟化将应用程序与操作系统解耦合,为应用程序提供一个
19