本文是作者自己在了解虚拟化技术时,查阅百度百科和维基百科时,摘取了作者认为的精华,并高亮了重要信息。
可以简单了解虚拟化技术的一些常用工具。
(
希望和大家一起学习,请大神指点)
名称 | 作者 | 主CPU | 目标CPU | 主系统 | 目标系统 | 许可 |
名称 | 作者 | 主CPU | 目标CPU | 主系统 | 目标系统 | 许可 |
CHARON | Stromasys | x86,x86-64 | DEC PDP11,Alpha, VAX, SUN SPARC,HP3000 | Solaris/SunOS,Tru64, OpenVMS,Ultrix | 私有 | |
Kevin Lawton | 任何 | |||||
Peter Veenstra和Sjoerd与社区帮助 | 任何 | x86 | Linux,Windows,Mac OS Classic,Mac OS X, BeOS,FreeBSD,OpenBSD,Solaris,QNX, IRIX,MorphOS,AmigaOS | DOS | ||
社区项目 | x86,x86-64 | x86 | Linux | DOS | GPL v2 | |
Roger Bowler | 任何 | z(IBM大型计算机) | Linux,Mac OS X,Solaris,Windows | OS/360,OS/390,z/OS,z/Linux | QPL | |
私有(免费) | ||||||
Intel/AMD处理器与x86虚拟化 | x86/x86-64 | Linux | Linux,Windows | GPL v2 | ||
兼容 | Solaris,Linux,FreeBSD | ? | ||||
社区项目,SWsoft支持 | Intel x86,x86-64,IA-64,PowerPC64,SPARC/64 | Intel x86,x86-64,IA-64,PowerPC64,SPARC/64 | Linux | 各种Linux发行版 | ||
Intel x86,x86-64,Intel VT-x | Intel x86,x86-64,Intel VT-x | 无(裸机安装) | 免费,商业 | |||
Parallels公司 | x86,Intel VT-x | x86 | Windows,Linux | Windows,Linux,FreeBSD, MS-DOS,Solaris | 私有 | |
Sebastian Biallas | x86,x86-64,PowerPC | PowerPC | Windows,Linux,Mac OS X,NetBSD | Mac OS X,Darwin,Linux | GPL | |
Fabrice Bellard(其他开发者帮助) | x86,x86-64,IA-64,PowerPC,Alpha,SPARC 32 and 64,ARM,S/390,M68k | x86,x86-64,ARM,SPARC 32 and 64,PowerPC,MIPS | Windows,Linux,Mac OS X,Solaris,FreeBSD,OpenBSD,BeOS | 经常变化[1] | GPL/LGPL | |
Intel x86,x86-64 | Intel x86,x86-64 | Linux,FreeBSD,OpenBSD,Solaris,Windows | 经常变化[2] | GPL/LGPL | ||
Paul Brook | x86 | x86 | Linux,NetBSD,Windows | 经常变化 | GPL | |
x86-64 | x86-64 | Linux(64位),Windows(64位) | Linux,Windows(32位和64位) | AMD公司专有 | ||
x86-64,SPARC | x86-64,SPARC | 无:裸机执行 | Windows XP & 2003 Server(仅x86-64),Linux,Solaris | |||
x86,x86-64,VT-x,AMD-V | x86,(x86-64仅在VirtualBox 2及x86-64主机上) | Windows,Linux, Mac OS X(Intel), Solaris, FreeBSD | DOS,Windows,Linux, OS/2,FreeBSD,Solaris | GPL v2;完整版本中的额外特性是专有的(免费供个人与教育机构使用和评价) | ||
Jeff Dike(其他开发者帮助) | x86,x86-64,PowerPC | x86,x86-64,PowerPC | Linux | Linux | GPL v2 | |
Virtual IronVirtual Iron 3.1 | Virtual Iron软件公司(已被Oracle收购May 13, 2009) | x86 VT-x,x86-64 AMD-V | x86,x86-64 | 无:裸机执行 | ||
Virtual PC 2007 | x86,x86-64 | x86 | Windows Vista(商业版,企业版,旗舰版), XP Pro,XP Tablet PC版 | DOS,Windows,OS/2, Linux(Suse,Xubuntu), OpenSolaris(Belenix) | 私有(从2006年7月起免费) | |
Virtual Server2005 R2 | Intel x86,x86-64 | Intel x86 | Windows 2003,XP | Windows NT,2000,2003, Linux(Red Hat and SUSE) | 私有(免费) | |
x86,IA-64,x86-64 | x86,IA-64,x86-64 | Linux & Windows | 各种Linux发行版;Windows | 私有 | ||
x86, x86-64 | x86, x86-64 | 无:裸机安装 | Windows,Red Hat,SuSE,Ubuntu, Netware,Solaris,FreeBSD | 私有 | ||
VMware ESXi Server | x86,x86-64 | x86,x86-64 | 无:裸机安装(嵌入式) | Windows,Red Hat,SuSE,Ubuntu, Netware,Solaris,FreeBSD | 私有 | |
x86,Intel VT-x | x86,x86-64 | Mac OS X(Intel) | Windows,Linux,Netware,Solaris | 私有 | ||
x86,x86-64 | x86,x86-64 | Windows,Linux | DOS,Windows,Linux,FreeBSD, Netware,Solaris,虚拟设备 | 私有(免费) | ||
x86,x86-64 | x86,x86-64 | Windows,Linux | DOS,Windows,Linux,FreeBSD, Netware,Solaris,Darwin,虚拟设备 | 私有 | ||
x86,x86-64 | x86,x86-64 | Windows,Linux | DOS,Windows,Linux,FreeBSD, Netware,Solaris,Darwin,虚拟设备 | 私有(免费) | ||
x86,x86-64 | x86,x86-64 | NetBSD,Linux,Solaris | Linux,Solaris, Windows XP & 2003 Server (需要3.0版和Vanderpool或Pacifica), | GPL |
VMM:
VMM(Virtual Machine Monitor,虚拟机监控器)它
包括规划、部署、管理和优化虚拟基础结构等端到端功能
。
Hypervisor,又称虚拟机器监视器(英语:virtual machine monitor,缩写为 VMM),在电脑上的
软件,固件或是硬件,能用来
建立与执行
虚拟机器。
拥有Hypervisor,能被用来执行一个或多个虚拟机器,这样的电脑被定义为是一台主体机器
(host machine)。在上面执行的虚拟机器,则称为客体机器(guest machine)。
hypervisor可以用一个客体操作系统(guest operating systems)的外貌出现,
提供虚拟的作业平台
,负责管理其他客体操作系统的运作。
在它之上运作的多个操作系统
,共同分享了虚拟化之后的硬件资源。
类型-1:本地或裸机Hypervisor
这些虚拟机管理程序
直接运行在主机的硬件
来控制硬件和管理客体操作系统上。例如Xen。
类型-2:Hosted Hypervisor
这些虚拟机管理程序
运行在传统的操作系统
上,就像其他计算机程序那样运行。例如VMware Workstation。
操作系统支持
有几个因素导致了2005年左右,在使用虚拟化技术在Unix,Linux,以及其他类Unix操作系统之间的复苏:
1.扩展中的硬件功能,
允许每个单台机器做更多同时的工作
,
2.努力控制成本,和通过整合服务器来简化管理
3.在需要
控制在大型多处理器处理和群集安装
,例如服务器农场和着色农场
4.改进的安全性,可靠性和设备无关性可以从管理Hypervisor架构
5.在
不同的硬件或操作系统环境运行复杂
,依赖于操作系统的应用程序的能力
6.主要的Unix厂商,包括太阳计算机系统,惠普,IBM和SGI,从2000年以前就一直在销售虚拟化硬件。
KVM虚拟机
·
KVM是开源软件,全称是kernel-based virtual machine(基于内核的虚拟机)。
· 是x86架构且硬件支持虚拟化技术(如 intel VT 或 AMD-V)的Linux全虚拟化解决方案。
·
它包含一个为处理器提供底层虚拟化 可加载的核心模块kvm.ko
(kvm-intel.ko或kvm-AMD.ko)。
· KVM还需要一个经过修改的
QEMU
软件(qemu-kvm),
作为虚拟机上层控制和界面。
· KVM能在不改变linux或windows镜像的情况下同时运行多个虚拟机,(
它的意思是多个虚拟机使用同一镜像
)并为每一个虚拟机配置个性化硬件环境(网卡、磁盘、图形适配器……)。
· 在主流的Linux内核,如2.6.20以上的内核均已包含了KVM核心。
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
。
Xen:
Xen是一个开放源代码虚拟机监视器,由剑桥大学开发。它打算在单个计算机上运行多达128个有完全功能的操作系统。
在旧(无虚拟硬件)的处理器上执行Xen,操作系统必须进行显式地修改(“移植”)以在Xen上运行(但是提供对用户应用的兼容性)。这使得Xen无需特殊硬件支持,就能达到高性能的虚拟化。
Xen的半虚拟化
Xen通过一种叫做半虚拟化的技术获得高效能的表现(较少的效能损失,典型的情况下大约损失2%,在最糟的情况下会有8%的效能耗损;与其它使用完全的虚拟化却造成最高到20%损耗的其他解决方案形成一个明显的对比),甚至在某些与传统虚拟技术极度不友好的架构上(x86),Xen也有极佳的表现。
与那些传统透过软件模拟实现硬件的虚拟机不同,在3.0版本及在Intel VT-X支援前的Xen需要让客户端操作系统(guest operating systems)与Xen API进行连接
。到目前为止,这样连结已经可以运用在NetBSD、GNU/Linux、FreeBSD和贝尔实验室的Plan 9系统上。在Brainshare 2005会议上,Novell展示了NetWare与Xen的连通。与Windows XP连通的技术曾在Xen开发初期进行,但微软的协议未能允许它发布。Sun微系统公司也正积极研究Solaris与Xen的连结,使其能在Xen平台上运作。
Xen的完全虚拟化
Intel
对Xen贡献修改以支持其VT-X架构扩展,而AMD则修改以支持其AMD-V架构扩展。如系统处理器支持虚拟硬件扩展(Intel和AMD对本地支持虚拟化的扩展),这项技术将允许未修改的操作系统运行在Xen虚拟机中。事实上,那意味着性能的提升,并且你可以在没有进行任何协议不允许的修改的情况下对Windows进行虚拟。
Hyper-V
Hyper-V是微软的一款虚拟化产品,是微软第一个采用类似Vmware和Citrix开源Xen一样的基于hypervisor的技术。这也意味着微软会更加直接地与市场先行者VMware展开竞争,但竞争的方式会有所不同。
Hyper-V是微软提出的一种系统管理程序虚拟化技术,能够实现桌面虚拟化。Hyper-V最初预定在2008年第一季度,与Windows Server 2008同时发布。Hyper-V Server 2012完成RTM版发布
系统要求
1.Intel或者AMD64位处理器
[1]
。
2.Windows Server 2008 R2及以上(服务器操作系统);Windows 7及以上(桌面操作系统)。
3.硬件辅助虚拟化。这是在现有的处理器,包括一个虚拟化的
微软虚拟化构架
选择工具体来说,Intel vt或AMD-v( AMD-v,以前的代号为“ Pacifica ”的 ) 。
4.CPU必须具备硬件的数据执行保护( DEP )功能,而且该功能必须启动。
5.内存最低限度为2GB。
QEMU
QEMU是一套由法布里斯·贝拉(Fabrice Bellard)所编写的以GPL许可证分发源码的模拟处理器,在GNU/Linux平台上使用广泛。Bochs,PearPC等与其类似,但不具备其许多特性,比如高速度及跨平台的特性,通过KQEMU这个闭源的加速器,QEMU能模拟至接近真实电脑的速度。
目前,0.9.1及之前版本的qemu可以使用kqemu加速器。在qemu1.0之后的版本,都无法使用kqemu,主要利用qemu-kvm加速模块,并且加速效果以及稳定性明显好于kqemu。
软件优点
默认支持多种架构。可以模拟 IA-32 (x86)个人电脑,AMD 64个人电脑,MIPS R4000, 升阳的SPARCsun3 与PowerPC(PReP 及 Power Macintosh)架构
可扩展,可自定义新的指令集 开源,可移植,仿真速度快
在支持硬件虚拟化的x86构架上可以使用KVM加速配合内核ksm大页面备份内存,速度稳定远超过VMware ESX 增加了模拟速度,某些程序甚至可以实时运行
可以在其他平台上运行Linux的程序
可以储存及还原运行状态(如运行中的程序)
可以虚拟网络卡
软件缺点
对微软视窗及某些主机操作系统的不完善支持(某些模拟的系统仅能运行)
对不常用的架构的支持并不完善
除非使用kqemu或KVM加速器,否则其模拟速度仍不及其他虚拟软件,如VMware 比其他模拟软件难安装及使用
VirtualBox
VirtualBox 是一款开源虚拟机软件。VirtualBox 是由德国 Innotek 公司开发,由Sun Microsystems公司出品的软件,使用Qt编写,在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox。Innotek 以 GNU General Public License (GPL) 释出 VirtualBox,并提供二进制版本及 OSE 版本的代码。使用者可以在VirtualBox上安装并且执行Solaris、Windows、DOS、Linux、OS/2 Warp、BSD等系统作为客户端操作系统。现在则由甲骨文公司进行开发,是甲骨文公司xVM虚拟化平台技术的一部份。
VirtualBox号称是最强的免费虚拟机软件,它不仅具有丰富的特色,而且性能也很优异!它简单易用,可虚拟的系统包括Windows(从Windows 3.1到Windows10、Windows Server 2012,所有的Windows系统都支持)、Mac OS X、Linux、OpenBSD、Solaris、IBM OS2甚至Android等操作系统!使用者可以在VirtualBox上安装并且运行上述的这些操作系统! 与同性质的VMware及Virtual PC比较下,VirtualBox独到之处包括远端桌面协定(RDP)、iSCSI及USB的支持,VirtualBox在客户端操作系统上已可以支持USB 2.0的硬件装置,不过要安装 VirtualBox Extension Pack。
VMware:
VMware Workstation
VMware工作站(VMware Workstation)是VMware公司销售的商业软件产品之一。该工作站软件包含一个用于英特尔x86兼容电脑的虚拟机套装,其允许用户同时创建和运行多个x86虚拟机。每个虚拟机可以运行其安装的操作系统,如(但不限于)Windows、Linux、BSD变生版本。用简单术语来描述就是,VMware工作站允许一台真实的电脑在一个操作系统中同时打开并运行数个操作系统。其它VMware产品帮助在多个宿主电脑之间管理或移植VMware虚拟机。
VMware Player
用于为虚拟机提供宿主服务的免费软件产品VMware Player,可运行由其它VMware产品产生的客户虚拟机,同时也可以自行创建新的虚拟机。
VMware官方网站提供多个经过预先配置的操作系统和应用程序的免费虚拟盘映像,这之中有不少是社会募捐的
[7]
。也存在着可用来创建虚拟机,以及对VMware虚拟硬盘和软盘映像文件进行挂装、操作及转换的免费工具。VMware Player可免费用于个人用途,但VMware Player Plus许可才能用于商业用途。
VMware Fusion
是VMware面向苹果电脑推出的一款虚拟机软件。
VMware Server
在2006年2月6日VMware发布了VMware Server产品的1.0版本,取代原先的VMware GSX Server。VMware服务器可以创建、编辑、运行虚拟机。除了具有可以运行由其它VMware产品创建的虚拟机的功能外,它还可运行由微软Virtual PC产品创建的虚拟机。VMware国际公司将VMware服务器产品作为可免费获得的产品,这是因为希望用户们最终能选择升级至VMware ESX服务器产品。
VMware国际公司不正式支持运行于Windows XP或专业版Windows 2000上的VMware服务器产品,这不同于VMware工作站产品。然而,已有用户报告在专业版Windows XP下成功安装并提供VMware服务器功能的例子(但有个别限制要求)
[9]
。VMware国际公司提供一个受支持的宿主操作系统的清单
[10]
。
在2010年1月,VMware宣布2011年6月30日结束对VMware Server的支持。
VMware ESX服务器
ESX服务器使用了派生自史丹佛大学开发的SimOS核心,该核心在硬件初始化后替换原开机的Linux内核。ESX服务器2.x的服务控制平台(亦称为“COS”或“vmnix”)是基于Red Hat Linux 7.2的。ESX服务器3.0的服务控制平台源自一个Red Hat Linux 7.2的经过修改的版本——它是作为一个用来加载vmkernel的引导加载程序运行的,并提供了各种管理界面(如CLI、浏览器界面MUI、远程控制台)。该虚拟化系统管理的方式提供了更少的管理开销以及更好的控制和为虚拟机分配资源时能达到的粒度(指精细的程度);这也增加了安全性,从而使VMware ESX成为一种企业级产品。