云计算底层技术之虚拟化技术

  • 来源:网络
  • 更新日期:2020-06-29

摘要:原标题:云计算底层技术之虚拟化技术首先我们先了解一下什么是虚拟化,虚拟化是云计算的基础。简单来说,虚拟化就是在一台物理服务器上,运行多台“虚拟服务器”。这种虚拟服务器,也

原标题:云计算底层技术之虚拟化技术

首先我们先了解一下什么是虚拟化,虚拟化是云计算的基础。简单来说,虚拟化就是在一台物理服务器上,运行多台“虚拟服务器”。这种虚拟服务器,也叫虚拟机(VM,Virtual Machine)。

从表面来看,这些虚拟机都是独立的服务器,但实际上,它们共享物理服务器的CPU、内存、硬件、网卡等资源。物理机,通常称为“宿主机(Host)”。虚拟机,则称为“客户机(Guest)”。

虚拟化使用软件来模拟硬件并创建虚拟计算机系统。这样一来,企业便可以在单台服务器上运行多个虚拟系统,也就是运行多个操作系统和应用,而这可以实现规模经济以及提高效益。

在云计算上虚拟化技术能为我们解决很多以前解决不了的技术:

服务器整合技术:这个技术在没有虚拟化技术之前是很难完成的。因为什么东西都是实际存在的,想把两个工作相对较少的服务器整合到一起是很困难的。然而当有了虚拟化技术以后使这种服务器整合技术变得非常容易。

灵活的资源调派:通过虚拟化技术,我们可以动态调配资源给VM,并让它在不同的实体主机之间做到不停机地移转(VMotion),避免硬件因为计划性的停机维护而不能提供服务。当虚拟机无法在实体机中取得足够硬件资源的时候,我们还可以让它自动去找寻闲置有足够资源的实体机,并在线转移过去,进行服务器的资源负载平衡(DRS 功能)。经过虚拟化之后,原本困难费心的事情变得很轻松容易实现。

快速大量部署、降低维护工作:要快速产生一台或多台合乎标准的虚拟机是非常容易的,这省下了采购硬件的流程、安装软件时间、后续硬件维护等多道麻烦手续,非常快速与方便地用于开发、测试、维运等环境上面。

增加可用性与备份:使用虚拟快照技术是将虚拟机此时的状态像照片一样保存下来,当然我说的很容易,其实现原理需要非常复杂,包括cpu运行状态,内存中的数据等等。这样保存下这些虚拟技术当发生灾难或者某些失误导致虚拟机出问题时,可以很快恢复。

虚拟化技术最早是IBM公司在上世纪60年代末所提出的,当时 IBM 公司为实现多用户对大型计算机同时交互访问而开发的一套被称之为虚拟机监视器(Virtual Machine Monitor 简称为 VMM)的软件。在现在的虚拟化技术中,VMM 是运行在硬件服务器和操作系统中间层的软件,它方便同时有多个相同或不同的操作系统和应用共享底层硬件基础设施。在云计算中常提及的Hypervisor与 VMM 具有相同含义,其实质是一种资源配置的管理技术。

Hypervisor,汉译过来是“超级监督者”,也叫做VMM(Virtual Machine Monitor,虚拟机监视器)。它不是一款具体的软件,而是一类软件的统称。

Hypervisor分为两大类:

第一类,hypervisor直接运行在物理机之上。虚拟机运行在hypervisor之上。第二类,物理机上安装正常的操作系统(例如Linux或Windows),然后在正常操作系统上安装hypervisor,生成和管理虚拟机。

像VMware、KVM、Xen、Virtual Box,都属于Hypervisor。

VMware大家应该很熟悉,就是VMware Workstation。学习Linux的话,很多人都是在windows系统下安装WMware,然后创建Linux虚拟机。

但是,真正厉害的,是 KVM(kernel-based virtual machine,基于Linux内核的虚拟机)。它是目前最热门最受追捧的虚拟化方案,在云计算领域目前用的虚拟机技术最多的也是KVM。