虚拟化介绍

1、为什么需要虚拟化

据调查传统的服务器在很多时候处于休眠状态,大概只有5%时间是在工作,工作效率低下,浪费资源,因此需要一种手段来提高计算机资源的利用率。

虚拟化前
每台主机一个操作系统
在同一台主机运行多个应用程序,有时候会产生冲突
资源利用率低
硬件成本高昂

虚拟化后
打破了操作系统和硬件的相互依赖
通过封装到虚拟机的技术,管理操作系统和应用程序为单一整体
强大的安全和故障隔离
虚拟机是独立于硬件的,它能在硬件上运行

什么是虚拟化技术
虚拟化指通过虚拟技术,将一台物理主机,虚拟成多个逻辑主机,每个逻辑主机上运行不同的操作系统和应用程序,且互不干扰,从而显著提升计算机的工作效率。

软件虚拟化是指通过VMM层纯软件的环境来模拟执行客户机里的指令。其中QEMU可以将使用客户机指令集的二进制代码转换为宿主机指令集的二进制代码,然后交给实际的物理平台执行。

硬件虚拟化技术就是指计算机硬件本身提供能力让客户机指令独立执行,而不完全需要VMM截获并重定向指令。
x86架构为为客户机提供了受限的运行环境(non-root mode), VMM运行在root mode,拥有完整的硬件访问控制权限。Intel在其x86 CPU中加入硬件虚拟化的支持——Intel Virtualization Technology,简称Intel VT。

Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM已成为学术界的主流VMM之一。
KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化。但Xen本身有自己的进程调度器,存储管理模块等,所以代码较为庞大。广为流传的商业系统虚拟化软件VMware ESX系列是基于软件模拟的Full-Virtualization。

目前虚拟化技术有:Hyper-v,vmWare,Esxi,PVE,OpenStack等等技术

你可能感兴趣的:(运维)