开始新对话

未解决

此帖子已超过 5 年

Community Manager

 • 

6.1K 消息

1657

2017年5月26日 00:00

虚拟化全面解析

原文出处: EMCxRPS远程实施

前序


小编最近有机会参加了一些培训,感到受益匪浅,也迫不及待地想要分享给大家。本篇邀请到了此次培训的两位讲师Max 和 Mika 共同纂写,根据培训材料加以优化和整编,希望能将有关于“ 虚拟化 ”的一些知识以最平易近人的方式分享给大家。这篇小短文无论是作为睡前读物还是作为碎片学习都将是不二的选择。

作为资深IT攻城师,我相信大家对于虚拟化这个名词并不陌生。但是,经过了解,大多数人对于虚拟化及其背后的含义仅仅停留在“很熟悉,但是讲不清楚”的阶段。通过此次CETC项目(Cutting-Edge Technology Club),我们有机会利用一个季度的时间对虚拟化和云架构进行了系统的研究,收获颇丰。在这里,我们希望帮助大家对虚拟化,这个IT行业的大趋势有更深一步的了解。

Topic 1  

什么是虚拟化

虚拟化,简单来说就是在一台电脑上虚拟出多台电脑的过程,这些虚拟出来的设备也就是我们所说的虚拟机(VirtualMachine。虚拟机其实是由几个系统文件所组成的,这些文件大多用来虚拟实体组件或者配置信息。

虚拟化的过程都是通过一个叫做虚拟化管理程序(以下简称Hypervisor)来实现的。Hypervisor的作用包括:

1)将实体设备(如CPU,内存,网卡,硬盘等)虚拟化后供虚拟机使用

2)将虚拟设备所发出的指令转换至物理层进行执行

3)调配虚拟机的资源分配等。

另外,当下流行的概念,比如“超融合”以及“云服务”,它们的技术基础就是虚拟化,其对于IT行业的重要程度可见一斑。

Hypervisor的类型目前分为两种:


一种是裸机虚拟化(Bare Metal Hypervisor),这种 Hypervisor 一般直接装在一台主机上(以下简称 Host),这类 Host 上所装的操作系统不是常用的 Windows 或者 Linux 等通用操作系统,而是专门针对虚拟化的操作系统,如 VMware ESX/ESXi。正因为这类操作系统专为 Hypervisor 设计,其唯一的功能,就是用来创建和管理虚拟机。此类的 Hypervisor 对硬件的使用效率能够达到最高。VMware ESX/vSphere 以及 Microsoft Hyper-V 就是典型的裸机虚拟化。


另一种 Hypervisor 称为主机虚拟化(Hosted Hypervisor), 这类虚拟化是将 Hypervisor 安装在已有的操作系统之上进行虚拟化。这种情况下本台主机就既可以用来实现普通操作系统的功能,同时又能够完成虚拟化。但是这种多用途的代价就是虚拟化的性能大不如先前所说的裸机虚拟化。VMware WorkstationVirtualBox 等就属于此类主机虚拟化。



Topic 2  

为什么要虚拟化

动机很简单 - 节省成本,提高效率


虚拟化出现之前,企业如果想要搭建自己的数据中心,需要考虑方方面面的开销,比如购买设备,机房租赁,电耗,室温,灾备,物流运输等等。数据中心的规模越大,设备越多,所需的各类成本也就越高。


未采用虚拟化

除了上述成本居高不下之外,每一台服务器的实际使用率效率也相对低下。想象一下,A公司的财务部门有一个专属的Oracle数据库应用,每个月的月初和月底都是使用高峰,其峰值是平时的数倍。那么A公司的IT部门在购买服务器设备时理所应当必须保证其硬件配置能在月初和月底的高峰期运行顺畅。但是,如果从每个月的平均使用效率来看,除了月初和月底的高峰时段之外,月中的大部分时间服务器的使用效率都只有30% 40%。因为这一台服务器的运行系统是Oracle所需的LinuxA公司的其他应用程序大多基于Windows,也没有办法安装在这一台服务器上提高使用率,而还需要专门购买其他服务器用于Windows的应用。

在从这里大家不难看出,在虚拟化技术出现之前,IT对于设备的成本和使用效率的控制相对捉襟见肘。

采用虚拟化

相反地,如果运用虚拟化的方案来解决A公司的例子,我们会怎么做呢?首先,IT部门需要购买一台服务器主机用于裸机虚拟化。当然,这一台服务器本身的硬件配置也需要至少能够满足财务部门月初和月底的使用高峰。这台服务器上所运行的系统将不再是单一的WindowsLinux,而是虚拟化管理程序,也就是HypervisorIT人员将在Hypervisor之上创建一台Linux虚拟机,将财务的Oracle数据库安装在这一台虚拟机上,再为这台虚拟机分配足够的硬件资源就可以了。与此同时,在性能足够的前提下,IT人员在这台服务器之上还能创建多台虚拟机,同时运行Windows和其他操作系统,用于满足A公司其他应用程序。这样,在月中Oracle数据库相对闲置的时候,其他应用程序可以充分利用这台服务器的硬件资源,使得平均使用率保持在80%85%之间。通过在一台服务器上实现多台服务器的效果,虚拟化能通过减少占地面积,耗电量以及设备购买费用,从而大大降低搭建数据中心所需的成本。此外,虚拟化还能通过其强大的灵活性来实现灾备,多活以及资源共享,将宕机率大幅减少。

这就是虚拟化的原因节省成本,提高效率


Topic 3  

虚拟化的优势

随着虚拟化技术逐渐成熟,其对硬件资源的分配和管理的效率也就越来越高,能够实现的应用场景也就越来越多。举例来说,最初的虚拟化只能实现计算虚拟化(Compute Virtualization),也就是对CPU和物理硬件之间进行虚拟,也就是创建虚拟机本身的过程。就在3-5年前,虚拟化实现了网络虚拟化(Network Virtualization)和存储虚拟化(Storage Virtualization),这就使得各个虚拟机之间能够通过虚拟网络相互连接,每一台用于裸机虚拟化的服务器的硬盘也可以通过虚拟存储局域网(Virtual SAN)来进行连接,如此一来,虚拟化管理器就可以更佳游刃有余地分配和使用这些资源。下面我们通过几个简单的例子来看看虚拟化技术能够轻松实现哪些之前几乎无法做到的功能。

本次的例子是由3VMwareESXi Hosts(裸机虚拟化)组成一个集群,集群成员间通过网络互相连接,3台设备上各建有多台虚拟机。

容错(Fault Tolerance

所谓容错,就是在某台虚拟机由于各种原因而宕机的时候,能够保证其所提供的服务不受此次问题的影响而持续在线。Hypervisor在探测到某一台虚拟机因为故障问题而无法运行时,它将会自动在另一台配置好的ESXi Host上启动一台一模一样的虚拟机继续提供服务,服务所中断的时间大约在1-2分钟。

在线迁移设备(vMotion)

当Hypervisor检测到某一台ESXiHost的使用率过高(如高于90%)时,它将会自动将这台Host上的虚拟机迁移到其他相对使用率较低的Host上,使得资源更加合理分配,不会造成某些应用因为Host负载过高而导致的性能问题。

硬件资源共享(Hardware Pooling

有的情况下,为了保证关键应用程序的性能,某些虚拟机会对硬件性能的需求特别高,以至于当前它所处的ESXi Host无法满足其性能需求。在这种情况下,虚拟化的资源整合共享的机制就能派上用场。在创建虚拟机时,我们可以选用的硬件配置不只是当前这一台ESXi Host的硬件,而是可以选用这个集群内所有Host的硬件资源。这样一来就能够满足那些对性能有高需求的应用了。

综上所述,虚拟化改变了整个IT数据中心的架构,对节省成本以及提高效率起到非常大的作用。

大家如果对虚拟化有更多的兴趣和问题,欢迎留言讨论。


#IWork4Dell

请您将合适的回复标记为“接受的回答”,并为喜欢的帖子“点赞”。这对我们非常重要!

没有回复!
找不到事件!

Top