云计算的概念1.1概念云计算是一种通过互联网访问、可定制的 IT 资源共享池,并按照使用量付费的模式,这些资源包括网络,服务器,存储、应用、服务等。广泛意义上来说,云计算是指服务的交付和使用模式,即通过网络以按需,易扩展的方式获取所需的资源,这种服务可以是 IT 的基础设施(硬件、软件、平台),也可以是其他服务,云计算的核心理念就是按需服务,就像人使用水、电、天然气等资源一样。1.2关键技术1.2.1虚拟化虚拟化就是将原本运行在真实环境上的计算机系统或组件运行在虚拟出来的环境中。将虚拟化的层次运行在不同的应用程序、操作系统以及硬件资源中,虚拟化在上下两个层次之间起中间连接作用,使上下两层之间的功能实现类似化,如此一来,上层的运行不是与下层环境相连接,而是在虚拟的环境中运行。上下两层在关系上的耦合化被虚拟化有效解决,在实现方面,上下两层更加独立。在成本节约、服务整合、高效利用资源方面,虚拟化意义重大。1.2.1.1VMM(Hypervisor)在 x86 平台虚拟技术中,新引入了虚拟化层通常称为虚拟机监控器(VirtualMachineMonitor,VMM),也叫做 Hypervisor。通常 VMM 运行的环境就是真实的物理机,称之为宿主机(host),而虚拟出来的平台通常称为客户机(guest)里面运行的系统对应地也称为客户机操作系统。VMM 处于中间层,既要负责对虚拟资源的管理,包括虚拟环境的调度,虚拟机之间的通信以及虚拟机的管理等,又要负责物理资源的管理,包括 CPU,终端,内存,设备等管理。121.2 软件虚拟化和硬件虚拟化软件虚拟化纯软件虚拟化,顾明思义,就是用纯软件的方法在现有的物理平台上(往往并不支持硬件虚拟化)实现对物理平台的指令截获和模拟。常见的软件虚拟机例如 qemu,它是通过纯软件来仿真 X86 平台处理器的获取、解码和执行,客户机的指令并不在物理平台上直接执行。由于所有的指令都是软件模拟的,因此性能往往比较差,好处是可以在同一平台上模拟不同架构平台的虚拟机。硬件虚拟化硬件虚拟机化就是物理平台本身提供了对特殊指令的截获和重定向的硬件支持,甚至新的硬件提供额外的资源来帮助软件的实现对关键硬件资源的虚拟化,从而提升性能。以 X86 平台虚拟化为例,支持虚拟技术的 x86CPU 带有特别优化过的指令集来控制虚拟过程,通过这些指令集,VMM 会很容易将客户机置于一种受限制的模式下运行,一旦客户机试图访问物理资源,硬件就会暂停客户机的运行,控制权交回给 VMM 处理。...