为什么要有虚拟化技术?
每台主机一个操作系统,软硬件耦合强度大,而且一个主机经常运行很多应用,特别在搭建分布式、集群环境,常出现应用冲突的问题,也使得系统资源利用率低,硬件成本高,也不够灵活。
虚拟化技术
将一台计算机虚拟为多台逻辑计算机,在一台计算机上同事运行多个逻辑计算机,每个逻辑计算机可以运行不同的操作系统,且应用程序都可以在相互独立的空间内运行而互不影响,从而显着的提高计算机的工作效率。
优点
打破操作系统和硬件的依赖
通过封装到虚拟机的技术,管理操作系统和应用程序为单一的个体
强大的安全和故障隔离
虚拟机独立于硬件,能在任何硬件上运行
技术分类
完全虚拟化技术:又称硬件辅助虚拟化技术,最初所使用的虚拟化技术就是全虚拟化技术,在虚拟机和硬件之间加了一个软件层(Hypervisor),或称虚拟机监控器(VMM)。
Hypervisor 直接运行在物理硬件上 – KVM
Hypervisor 运行在另一个操作系统中 – QEMU 和 WINE
半虚拟化技术:又称准虚拟化技术,就是在全虚拟化的基础上,把客户操作系统进行了修改,增加了一个专门的API,这个API可以将客户操作系统发出的指令进行最优化,即不需要Hypervisor耗费一定的资源进行翻译操作,因此Hypervisor的工作负担变得非常的小,因此整体性能也有很大的提高,但需要专门API,因此在实际中很少应用。
架构分类
寄居架构:在操作系统之上安装和运行虚拟化程序,依赖于主机操作系统对设备的支持和物理资源的管理;优点是简单便于实现;缺点是安装和运行应用程序依赖于主机操作系统对设备的支持;例如GXS Server、Vmware Server、Workstation;
裸金属架构:直接在硬件上安装虚拟化软件,在其上安装操作系统和应用,依赖虚拟层内核和服务器控制台进行管理;优点是虚拟机已依赖于操作系统,可以支持多种操作系统,多种应用,更加灵活;缺点是虚拟层内核开发难度大;例如VMWare ESXI Server;
为什么需要云计算?
美国环境保护署(EPA)研究服务和数据中心的能源效率时发现,实际上服务器只有5%的时间是在工作的,在其他时间,服务器都处于休眠状态,因此导致大量的计算资源浪费。
对于大企业而言,流量高峰波段持续时长太短,大部分时间服务器的资源都处于闲置的状态。
对于小企业而言,服务器硬件成本高、附属硬件多、硬件贬值快、利用率和投入不成正比。
云计算
美国国家标准与技术研究院(NIST)定义:云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的,按需的网络访问,进入可配置的计算资源共享池(网络、服务器、存储、应用软件、服务等),这些资源能够被快速提供,只需投入很少的管理工作,或与服务提供商进行很少的交互。
技术变迁
单主机多用户:资源依赖、互相影响、无隔离
但主机多虚拟机:资源共享、互相隔离
分类
私有云:企业内部;
公有云:服务平台;
混合云:典型的应用场景是访问量大的到公有云,计算量大的到私有云;
云平台选择标准
API接口的广泛性;
使用何种的开源协议进行编写;
平台的成熟度;
云平台分类
愿景
使用计算资源、网络资源像使用自来水一样按需自由有偿。