虚拟机介绍(三)

四、虚拟机产品

从上个世纪七十年代开始出现虚拟技术,到近年来受到了越来越多的企业和媒体的关注,虚拟计算机技术获得了长足的发展,这些都是虚拟产品飞速发展的有力保障。目前,市场上虚拟机产品多种多样,我们这里只选择有代表性的几个进行介绍:

1EMC Vmware产品系列

1)、简介

VMware是全球领先的虚拟化解决方案提供商,成立于1998年。VMWare产品是硬件抽象层的虚拟化技术的代表,产品家族中有多款虚拟机产品:

VMware Workstation:是一款帮助开发者和系统管理员进行软件开发,测试以及配置的强大虚拟机软件。软件开发者借助它可以在同一台电脑上开发和测试适用于Microsoft Windows, Linux或者NetWare的复杂网络服务器应用程序。

VMware Server:一款入门级的 VMware Server,面向 x86 x86-64 服务器。作为商业版VMware GSX Server的继任者,VMware Server for Linux/Windows允许用户同时运行多个操作系统。

VMware GSX Server:是一套为关键商业环境所打造的企业级的虚拟服务器软件。VMware GSX Server是市面上最具弹性且最容易部署的虚拟服务器软件。

VMware ESX Server:是一个适用于任何系统环境的企业级的虚拟计算机软件。大型机级别的架构提供了空前的可测量性和操作控制。完全动态的 资源控制,适合各种要求严格的应用程序的需要。

VMware Player:最大的不同之处就是省去了制作虚拟机的功能,就像其名字一样,它只是一个系统播放器,而不能用于创建虚拟系统。该子产品为免费的虚拟机使用软件。

VMware Converter:是一款能将物理机系统转化为一个虚拟机映像文件的工具,而且生成的映像可以在VMware虚拟机软件中使用。本软件融合了之前两个独立的工具:VMware P2V AssistantVirtual Machine Importer

在以下对VMware产品的介绍中,以VMware Workstation为主要介绍对象。

 

2)、功能

VMWare可以运行多种主流的操作系统。例如对于windows操作系统,涵盖了windows 3.1,95,98,me,NT,2000 pro/server/advance server, xp home/pro, vista, server2003 standard/enterprise, server2008等版本以及对应的64bit版本(如果存在的话)。对于Linux操作系统,包含了RedHat 2/3/4/5, SUSE, Novell, Sun java desktop system, Mandrake,Ubuntu以及未列出的Linux2.2/2.4/2.6内核的操作系统及对应的64bit操作系统(如果存在的话)。当然还包括Novell NetwareSun SolarisDOSBSD*操作系统。

在创建操作系统时,可以指定操作系统(虚拟的)运行的虚拟硬件环境,例如内存,硬盘,光驱,网卡,USB控制器,声卡以及处理器个数等等。

对于虚拟操作系统(guest系统),可以设置和主机的共享目录,设置网络连接方式(无网络,只和host系统连接,访问internet),对虚拟操作系统进行某一时刻的snapshot,对运行的guest系统进行录像/捕捉屏幕/保存状态/暂停/重启,在host/guest操作系统之间进行全屏幕的切换等等个性化的设置。

对于虚拟操作系统,可以通过安装VMWareTools进行网络,显卡控制器,鼠标,键盘等进行驱动的安装,从而保持guest操作系统的可用性。

开发team中的一个用户设置好虚拟机之后,可以通过clone的功能,分发给team内的其他成员使用,以保证环境的一致性。

 

3)、特性

VMWare的产品采用的是标准的完全虚拟化的虚拟硬件的模式,虚拟技术有两个显著特点:

第一,无论哪款产品,都可以直接用系统处理器执行CPU指令,根本涉及不到虚拟层。第二,实现真正的分区隔离,每个分区只能占用一定的系统资源,包括磁盘I/O和网络带宽,并提高了系统的整体安全性。

第二,高端的虚拟服务器产品可以直接在硬件上运行虚拟机,而不需要宿主操作系统。并且,通过相关的管理软件,可以对每个虚拟机消耗的物理资源(网络带宽、磁盘I/O访问等)进行精确的控制。

 

4)、价格

VMWare的产品不是Free软件或者开源软件。并且不提供Community的版本。几百美元对于普通的开发人员还是有些昂贵。

VMware Workstation 6.5 for Windows/Linux: $189.00

VMware Workstation 6.5 for Windows/Linux 5 Pack: $899.00

VMware Workstation 6.5 for Windows/Linux 10 Pack: $1,690.00

 

2、微软 Virtual PC产品系列

1)、简介

微软的虚拟机产品主要有VirtualVirtual ServerHyper-V

Virtual PC:微软推出面向桌面用户的产品,目前普遍使用的是 Virtual PC 2004 Virtual PC 2007

Virtual Server:面向服务器的虚拟化软件

Hyper-V:微软面向企业的新一代虚拟化产品。

在以下对微软虚拟机产品的介绍中,以Microsoft VirualPC为主要介绍对象。

2)、功能:

微软公司的VirtualPC是一款guest操作系统只能为windows操作系统的虚拟机软件。对于创建的guest操作系统,可以进行的设置选项包括:内存,硬盘,CD/DVD-ROMCOM接口,LPT接口,网络服务,声卡,鼠标,共享目录,显示模式等。和其他的虚拟机软件不同的是,Microsoft Virtual PC可以设置多个虚拟机网络适配器,相当于有多块虚拟网卡。

同样,VirtualPC也包含全屏幕切换,加载光驱,安装guest操作系统的设备驱动等功能,但是相对VMware Workstation,其功能相对较少一些。

3)、技术介绍

MicrosoftVirtual Server 2005来源于2003年收购Connectix的虚拟化技术。这是一种类似于VMware Workstation结构的虚拟化产品。除了虚拟化的功能外,还有两种特色的功能:undo磁盘功能可以使用户方便地undo客户虚拟系统之前对磁盘的操作,有利于某些情况下的数据恢复;另一种特色技术是二进制翻译,它可以在基于Macintosh的机器上提供x86的虚拟机。但Virtual Server产品其对操作系统种类的支持不是很广泛,主要支持WindowsLinux客户虚拟系统(VirtualPC不支持Linux客户虚拟系统)。Linux系统还不能做为Virtual ServerHost平台。

4)、性能

由于本身只能运行于Windows操作系统中,所以软件的兼容性很好,鼠标的集成(hostguest系统中跨跃时的连续性等)也比较好。

但是相对于VMWareVirtualBoxVirtualPC只能运行于Windows操作系统,并且其guest操作系统只能为windows操作系统,所以应该说是为windows软件开发人员设计的虚拟机软件。同时,作为商业软件,普及到一半用户的几率相对较小。

5)、价格

VirtualVirtual Server:免费;

Hyper-V:免费,但是,尽管Hyper-V本身是免费的,大部分的用户仍然需要购买相应功能作为Windows服务器操作系统中的一部分。相应套餐零售价如下:

Windows Server 2008 R2 Standard Edition,包含Hyper-V10CALs,列表价1209美元;

Windows Server 2008 R2 Enterprise Edition,包含Hyper-V High Availability 更高扩展性、Server Core 以及25CALs,列表价3999美元;

Windows Server 2008 R2 Data Center Edition包含所有的上述属性,不含CALsData Center Edition是以每个CPU来报价的,并且只有在原始设备制造商和渠道合作伙伴处才能购买到,列表价2999美元。

3Xen产品系列

1)、简介

Xen 是在剑桥大学作为一个研究项目被开发出来的,它已经在开源社区中得到了极大的推动。Xen的独特之处在于对操作系统进行修改,以降低额外损耗,从而提供比硬件虚拟化技术更高的效率。

 

2)、功能

Xen hypervisor是当前最快和最安全的整体架构虚拟化解决方案,它支持主流的客户机操作系统,例如WindowsLinuxSolaris,以及BSD操作系统的不同版本。

 

3)、技术介绍

第一,Xen hypervisor技术:

Xen虚拟化架构中,一个纤薄的软件层(Xen hypervisor)取代了原有运行在服务器和桌面机上的操作系统。这个软件层很好地抽象了物理资源,有效地将操作系统(以及运行其上的应用程序)和下面的物理服务器剥离开,从而允许一台物理服务器上同时运行一个或多个虚拟服务器。

Xen hypervisor是一项独一无二的开源技术,由Xen开源社区和来自于50多个公司的工程师共同开发。这些公司提供富有创新性的数据中心解决方案,包括AMDCitrixDellFujitsuHPIBMIntelNECNovellRed HatSamsungSGISunUnisys和许多其它的业界领先者。Xen采用了GNU通用公共许可证(GPL2),在源代码和目标格式的使用上不需要付费。Xen将来也会一直采用开源模式,继续整合业界和Xen相关资源,加速虚拟化技术在企业中的普及。

第二,Para-virtualization技术:

XenPara-virtualization技术的主要内容是:对于内存分段管理的虚拟化,要求客户操作系统对硬件分段描述符的更新由Xen进行验证,这也就要求客户操作系统不能有高于Xen的特权级别和不允许访问Xen的保留地址空间;对于内存分页管理的虚拟化,要求客户操作系统可以直接读硬件页表,但对页表的更新需要Xen进行验证和处理,Xen支持客户虚拟系统可以分布在不连续的物理内存上;对于客户虚拟系统,其只能运行在低于Xen的特权级别上;客户虚拟系统需要注册一个异常(Exception)处理函数的描述符表,直接支持Xen的虚拟化;客户虚拟系统的硬件中断机制被Xen中的Event处理机制代替;每个客户虚拟系统都有自己的时钟接口,并且可以了解真实的时间和虚拟的时间;客户虚拟系统通过异步I/O rings的内存区域和外部设备(网络、硬盘)来传递数据,采用事件处理机制代替硬件中断通知机制。

4)、价格

Xen是开源项目,可以免费测试、试用;

Xenserver企业版是免费的,和商业版的差别就是少一个HA功能;

四个接口的标准版本售价900美元,服务的收费按每一次事件收取。

 

4SUN VirtualBox产品

1)、简介

无论是对于个人还是企业,VirtualBox都是功能强大的x86/AMD64/Intel64虚拟产品,它不仅仅对于企业来说性能丰富,性能高效,对于个人用户来说,也是开源的唯一专业软件。

 

2)、功能

VirtualBox运行于WindowsLinuxMac以及OpenSolaris系统,同时支持非常多的guest操作系统,例如Windows (NT 4.0, 2000, XP, Server 2003, Vista, Windows 7), DOS/Windows 3.x, Linux (2.4 and 2.6), Solaris and OpenSolaris, and OpenBSD等等。

VirtualBox被持续的开发,连续的发布带有新的功能的版本。VirtualBoxcommunity产品,同时由Sun公司(被收购前)来保证其专业性。

VirtualBox同样可以在设置guest系统运行的硬件环境,host/guest操作系统之间进行全屏幕/无缝/自动调整屏幕,进行快照操作,设置共享目录,随时insert/release CDROM,安装各种驱动程序,设置网络连接模式,其支持的guest操作系统的分类比VMWare更加的详细主要体现在LinuxSolaris操作系统,设置硬盘分区的个数等等。

 

3)、优点

VirtualBox最大的优点还是在于其开源性,用户不仅可以使用免费的软件,设置可以通过svn获取整个项目的source

其次,多平台,多guest操作系统平台,丰富的虚拟机功能也是其优点。

 

4)、价格

VirtualBox是开源项目,可以免费测试、试用

5、产品对比

比较项目

 VMWare

 Microsoft VPC

 Xen

 Sun VirtualBox

开源?

N

N

Y

Y

跨平台?

Y

N

(Linux)

Y

虚拟机文件个数

多个文件

两个文件(配置+vhd)

单一文件(<span style="font

<think>嗯,用户这次聚焦在KVM虚拟机的核心概念和技术细节上,从需求看是希望获得系统性的技术解析。用户之前已经接触过虚拟化的背景知识(引用中提到了VMControl和多种hypervisor),但需要更深入地理解KVM的运作机制和优劣评估。用户可能是运维工程师或者云计算学习者,因为问题直指工作原理和优缺点这种架构级考量。ta特意强调“基本概念和功能”,说明需要从底层讲起但不要过于学术化。值得注意的是,用户引用的两篇材料其实存在互补性:[1]提到KVM作为跨平台管理的组成部分,[2]则着重技术实现,这暗示用户可能后续会涉及异构虚拟化环境管理的问题。关于KVM的要点组织:首先必须解释它Linux内核集成的特性,这是区别于Xen/VirtualBox的关键。工作流程描述要突出硬件辅助虚拟化(VT-x/AMD-V)的角色,以及Qemu的配合关系。优缺点部分需要平衡——比如虽然性能接近原生,但嵌套虚拟化场景要特别说明限制。技术细节处理:关于KVM的架构图式说明很重要,但纯文字描述容易混乱,考虑用段式(内核模块+用户空间工具+硬件支持)分述。优缺点部分避免绝对化表述,比如“安全性低于容器”这种对比要标注清楚比较维度。后续问题设计意图:性能优化和配置问题(问题1,2)针对运维场景,架构对比(问题3)满足技术选型需求,嵌套虚拟化(问题4)则是高级用户常见痛点。这些延展都紧扣用户表现出的技术深度需求。</think> ### KVM虚拟机详解 #### **基本概念** KVM(Kernel-based Virtual Machine)是一种**基于Linux内核的开源虚拟化技术**,可将Linux内核转化为Hypervisor(虚拟机监控器),直接利用硬件虚拟化扩展(如Intel VT或AMD-V)实现**完全虚拟化**。它由内核模块`kvm.ko`和用户空间工具(如QEMU)共同组成,允许多个未修改的Linux/Windows虚拟机在单一物理主机上并行运行[^2]。 #### **工作原理** 1. **硬件虚拟化支持** - CPU层:依赖Intel VT或AMD-V技术,使虚拟机指令可直接在物理CPU上执行,无需二进制翻译。 - 内存层:通过KVM模块为每个虚拟机分配独立的“内核共享页表”,由硬件实现虚拟地址到物理地址的转换。 - I/O层:QEMU模拟设备(如网卡、磁盘),并通过Virtio驱动优化半虚拟化I/O性能。 2. **核心流程** ```mermaid graph LR A(用户空间) --> |发起请求| B(QEMU设备模拟) B --> |调用内核接口| C(KVM内核模块) C --> |硬件虚拟化| D(物理CPU/内存) D --> |执行结果| C C --> |返回| B B --> |反馈用户| A ``` 当虚拟机执行敏感指令(如CPU特权操作)时,硬件自动触发VM-Exit,控制权交还KVM处理,完成后通过VM-Entry重回虚拟机[^2]。 #### **核心优点** 1. **高性能** - 直接利用硬件虚拟化,计算性能损失小于5%,接近原生性能。 - 支持Virtio半虚拟化驱动,显著提升I/O吞吐量(如磁盘/网络性能提升30%以上)。 2. **紧密集成Linux** - 作为内核模块(`kvm.ko`),复用Linux进程调度、内存管理等机制,无需独立管理程序。 - 兼容主流Linux发行版(RHEL、Ubuntu等),升级与内核同步。 3. **生态成熟** - 支持Libvirt、Virsh等管理工具,提供API接口供OpenStack等云平台集成。 - 成熟的热迁移(Live Migration)、快照(Snapshot)特性保障业务连续性。 #### **主要缺点** 1. **硬件依赖性强** - 必须启用CPU的VT-x/AMD-V扩展,老旧硬件或云实例(如AWS T2)可能不支持。 - 嵌套虚拟化(虚拟机内再运行虚拟机)性能损耗显著。 2. **I/O性能瓶颈** - QEMU模拟传统设备(如IDE磁盘)时延迟较高,需依赖Virtio优化。 - GPU直通(Passthrough)配置复杂,对NUMA架构敏感。 3. **资源管理复杂性** - 需手动调优CPU绑定(CPU Pinning)、巨页(Huge Pages)以降低延迟。 - 内存超配(Overcommit)可能导致性能抖动。 #### **典型应用场景** - **私有云/混合云**:OpenStack、oVirt基于KVM构建资源池。 - **开发测试环境**:快速创建多版本操作系统沙盒。 - **容器化基础设施**:Kubernetes节点可部署于KVM虚拟机,隔离租户资源。 > ⚠️ 注:与Xen、VMware对比 > - **KVM vs Xen**:KVM无需独立内核,部署更轻量;Xen对半虚拟化支持更早。 > - **KVM vs VMware ESXi**:KVM开源免费,ESXi企业特性更丰富(如vMotion)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值