大数据技术与应用
上QQ阅读APP看书,第一时间看更新

3.2 计算虚拟化 

计算虚拟化又称平台虚拟化或服务器虚拟化,它的核心思想是在一个物理计算机上同时运行多个操作系统。在虚拟化世界中,通常把提供虚拟化能力的物理计算机称为宿主机Host machine),而把在虚拟化环境中运行的计算机称为客户机(Guest machine)。宿主机和客户机虽然运行在同样的硬件上,但是它们在逻辑上却是完全隔离的。 

这些虚拟计算机(以及物理计算机)在逻辑上拥有各自独立的软、硬件环境。要讨论计算虚拟化,所涉及的计算机仅包含构成一个最小计算单位所需的部件,其中包括处理器CPU)和内存,不包含任何可选的外接设备(如主板、硬盘、网卡、显卡和声卡等)。计算虚拟化最早可以追溯到20世纪60年代IBM的大型机(IBM M44/44X)系统,但是将其发扬光大,使其走入千家万户的,则要归功于20世纪末开始的,以VMware为先行者与领导者的对x86(PC)平台的虚拟化。 

计算虚拟化是大数据处理不可缺少的支撑技术,其作用体现在提高设备利用率、提高系统可靠性和解决计算单元管理问题等方面。将大数据应用运行在虚拟化平台上,可以充分享受虚拟化带来的管理红利。例如,虚拟化可以支持对虚拟机的快照(Snapshot)操作,从而使得备份和恢复变得更加简单、透明和高效。此外,虚拟机还可以根据需要动态迁移到其他物理机上,这一特性可以让大数据应用享受高可靠性和容错性。 

虚拟机(Virtual Machine,VM)是对物理计算机功能的一种软件模拟(部分或完全的),其中的虚拟设备在硬件细节上可以独立于物理设备。虚拟机的实现目标通常是可以在其中不经修改地运行那些原本为物理计算机设计的程序。通常情况下,多台虚拟机可以共存于一台物理机上,以期获得更高的资源使用率并降低整体的费用。虚拟机之间是互相独立、完全隔离的。 

虚拟机管理器(又称虚拟机管理程序,Virtual Machine Monitor,VMM),通常又称为Hypervisor,是在宿主机上提供虚拟机创建和运行管理的软件系统或固件。 

Hypervisor为每个虚拟机内的操作系统(Guest OS)提供虚拟设备(BIOS、CPU、Memory、Chipset和PCI设备等),以及负责Guest OS的运行。多个虚拟机实例通过Hypervisor共享物理设备资源。通常将Hypervisor分为以下两种类型。 

1)原生的Hypervisor:运行在裸机硬件上,相当于一个直接控制硬件的特殊操作系统。 

2)托管的Hypervisor:运行在通用的操作系统中(如Windows、Linux或Mac OS)。 

Hypervisor通常包括系统内核、虚拟机托管容器,以及一个共享的管理工具集(包括服务和命令行)。其中每一个虚拟机托管容器负责一个(运行中的)虚拟机实例的整个生命周期。而最重要的组件当属Hypervisor内核,其核心模块包括:①资源(CPU/内存)管理和调度;②物理设备驱动程序;③网络协议栈;④存储协议栈。