文章目录
虚拟化技术
什么是虚拟化
服务器虚拟化
cpu的虚拟化
内存虚拟化管理
硬盘的虚拟化
网络虚拟化
IO虚拟化
Intel虚拟化技术
主流的虚拟化技术
虚拟化技术对比
KVM
Xen
Hyper-V
VMware ESX/ESXi
虚拟化服务平台
Libvirt
基于KVM的虚拟化服务平台
虚拟化技术
什么是虚拟化
虚拟化是云计算的基础。简单来说,虚拟化就是在一台物理服务器上,运行多台“虚拟服务器”。这种虚拟服务器,也叫虚拟机(VM,Virtual Machine)。从表面来看,这些虚拟机都是独立的服务器,但实际上,它们共享物理服务器的CPU、内存、硬件、网卡等资源。
物理机,通常称为“宿主机(Host)”。虚拟机,则称为“客户机(Guest)”。
谁来完成物理资源虚拟化的工作呢?就是大名鼎鼎的 Hypervisor 。
Hypervisor,汉译过来是“超级监督者”,也叫做VMM(Virtual Machine Monitor,虚拟机监视器)。它不是一款具体的软件,而是一类软件的统称。像VMware、KVM、Xen、Virtual Box,都属于Hypervisor。
Hypervisor分为两大类:
Type-1(Baremetal Hypervisor, 全虚拟化:Full-Virtualization),hypervisor直接运行在物理机之上。虚拟机运行在hypervisor之上。不需要对客户机操作系统或者应用程序进行修改(客户机操作系统或者应用程序像往常一样运行,意识不到虚拟环境的存在)。
Type-2(Hosted Hypervisor,半虚拟化:Para-Virtualization),物理机上安装正常的操作系统(例如Linux或Windows),然后在正常操作系统上安装hypervisor,生成和管理虚拟机。半虚拟化需要对运行在虚拟机上的客户机操作系统进行修改(这些客户机操作系统会意识到它们运行在虚拟环境里)并提供相近的性能。
服务器虚拟化
SaaS: Software-as-a-Service(软件即服务)
PaaS: Platform-as-a-Service(平台即服务)
IaaS: Infrastructure-as-a-Service(基础设施即服务)
服务器的虚拟化是IaaS层的虚拟化。
cpu的虚拟化
MMU是Memory Management Unit的缩写,中文名是内存管理单元,它是中央处理器(CPU)中用来管理虚拟存储器、物理存储器的控制线路,同时也负责虚拟地址映射为物理地址,以及提供硬件机制的内存访问授权,多用户多进程操作系统。
硬件级物理cup虚拟化技术
英特尔硬件虚拟化技术interl-VT
AMD硬件虚拟化技术AMD-V
内存虚拟化管理
硬件级内存虚拟化,硬件级物理内存映射到虚拟机
英特尔硬件虚拟化技术EPT,Extended Page Table
AMD硬件虚拟化技术NTP,Nested Page Table
硬盘的虚拟化
虚拟机如何使用硬盘的空间:虚拟机在物理硬盘上划分一个文件来使用,此文件也是靠宿主机通过文件系统将磁盘分区后,并创建文件系统后,分给虚拟机一个文件的大小的空间。在宿主机上表现的就是一个文件,而在虚拟机上表现的就是一块硬盘。所以还需要用软件的方式模拟一个适配器,将此文件,模拟成硬盘。
网络虚拟化
用软件的方式给每个虚