热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Xen虚拟机的新特性

4.0为了增强主机层面的性能和可扩展性,新的Xen4.0虚拟机管理程序现在横跨主机服务器上的128(之前64)个物理处理器,最多可以处理1TB的物理主系统内存。在访客环境中,基于Xen4.0运行的虚拟机现在可以分配给多达128个虚拟处理器/VCPU(不过虚拟机方面的内存

4.0

为了增强主机层面的性能和可扩展性,新的Xen 4.0虚拟机管理程序现在横跨主机服务器上的128(之前64 )个物理处理器,最多可以处理1TB的物理主系统内存。在访客环境中,基于Xen 4.0运行的虚拟机现在可以分配给多达128个虚拟处理器/VCPU(不过虚拟机方面的内存容量并不清楚)。

Xen4.0性能上的提升分为两大类,第一类是对高带宽消耗的硬件进行了性能上的优化,比如:

1. 普通PCI设备:通过优化对Intel VT-d和AMD IOMMU(I/O内存管理单元,也称为I/O虚拟化)技术的使用来提升虚拟机对PCI设备的访问效率。

2. 显卡:Xen4.0支持虚拟机对宿主机显卡的独占式访问,从而大大提升了在虚拟机中图形图像的处理速度。有过一段时间玩虚拟机经验的朋友知道,过去无论所 装显卡能力有多强,在虚拟机中玩3D游戏总是图像跳帧甚至根本不能玩,这主要是由于虚拟机需要引入额外的内存读写或建立共享内存而大大降低了显卡在虚拟机 中的性能所致。Xen4.0出现这项技术之后,用户可以将机器上额外的显卡设备指定给某个虚拟机独占使用,从而避免这些开销而获得与宿主机一样的图像体 验。

3. 网卡:Xen4.0对网卡性能的提升主要在于引入了多队列机制和对SR-IOV(单点I/O虚拟化)网卡的支持。后者是最近刚刚兴起的一种I/O设备虚拟 化技术,这种技术要求I/O设备有专门的硬件实现。Intel VT-d技术为了保证高性能使用设备,所以将某个PCI设备完全指定给某个虚拟机,这就造成一旦某个虚拟机拥有设备,则在这个虚拟机被完全关闭之前,其它 虚拟机甚至宿主机也不能访问该设备,这显然违背了虚拟化技术中“共享”的原则。而SR-IOV技术则在保证高性能使用设备基础上添加了“共享”的功能。以 SR-IOV网卡而言,可以将这种网卡视作若干个虚拟网卡(当前一般为8个,最多64个)和一个交换机的组合各个虚拟网卡之间完全隔离,这就使得每个虚拟 机可以拥有一块独占的虚拟网卡,而宿主机可以对所有虚拟网卡进行管理。

. SR-IOV设备分配示意图[3]

4. USB设备:引入对USB设备的并行虚拟化,从而提高了虚拟机访问USB设备的吞吐率。之前的方案是在通过模拟为USB1.1设备来实现的,相比之下,后者访问速度较慢且仅支持部分USB设备。

第二类则是结构优化带来的性能提升,比如:

1. TMEM技术(Transcendent Memory,超内存技术):提高了半虚拟化(Paravirtualization)中虚拟机内存的使用率。这样做可以避免某个空闲(Idle)状态虚 拟机占据大量不需要的物理内存,从而避免了可能造成的其它虚拟机上内存短缺现象。

2. 支持虚拟机间的页面共享,这样可以加快虚拟机间的通信。当前采用的实现是写时复制(Copy-On-Write)机制,即共享页面在某个共享者尝试写入 时,会首先复制一份该页面内容作为这个共享者的私有页面并重新绑定,这样可以最大限度的减少不必要的内存复制操作。

其他改进之处包括:可充分利用新的英特尔至强(Nehalem-EX)和AMD皓龙6000处理器中新的可靠性、可用性和可服务性(RAS)功能。用户现在可以热插拔物理服务器中的处理器和内存,没必要关闭虚拟机管理程序或服务器上的虚拟机。用户现在还可以调整虚拟硬盘的大小,不需要重启或关闭虚拟机,这是另一项节省时间的优良特性。

稳定性 :
Xen4.0突出更好发挥服务器稳定性,主要有以下两点提升:

1. 借鉴了Remus ,实现了对虚拟机状态的热备份,通过实现Primary-Backup方案来抵御因为硬件损坏造成的虚拟机失效,为Remus 架构图。

2. RAS特性:支持运行时热插拔CPU和内存条。这一特性对于服务器来说很有用,由于大型服务器上拥有数量众多的内存和CPU,因而频繁发生元件损坏。热插 拔技术的诞生使得服务器可以不用断电即可完成对故障元件的更换,从而避免了由于该因素造成的大量不可服务时间。Xen4.0对该特性的支持使得Xen可以 充分发挥服务器的可靠性,并使得部署在更大规模服务器上成为现实。

. Remus 架构图[4]

可用性:

Xen4.0除了上述提升外,还引入了众多新功能以提升可用性,包括:

1. 更新blktap,引入对VHD格式的支持,并且提升快照和备份的效率。在Xen3.x时代,主要支持RAW格式虚拟磁盘文件。在这里,VHD格式和 RAW格式均指虚拟磁盘文件格式,两者都用于在宿主机上以文件格式存储虚拟机整个文件系统,对虚拟机提供硬盘视图。两者的诞生是由于虚拟机软件曾经出现过 一个百花齐放的时代,发展到最后这两种格式分别被不同虚拟机软件阵营支持,比如VHD格式虚拟机磁盘文件就常见于Virtual PC和HyperV等微软公司出品的虚拟机软件,而RAW格式就被Xen和QEMU等开源虚拟机一直支持,除这两者外还有VMDK格式虚拟磁盘文件,常用 于VMWare虚拟机软件系列。 VHD和RAW格式之间存在差异,这导致两者之间不太容易相互转换,并且在性能上RAW格式虚拟磁盘稍快,原因主要是VHD格式虚拟磁盘文件可视做在 RAW格式基础上增加额外管理功能,引入一定开销。因此在Xen4.0中引入对VHD格式虚拟磁盘文件的支持可以说意在蚕食微软阵营的份额。

2. 引入运行时更改虚拟机磁盘大小的功能。这样做可以有效避免宿主机硬盘空间的浪费。

3. 对于并行虚拟化,Xen4.0对Dom0可以支持到pvops-kernel 2.6.31.x,最高到2.6.32.x,同时对已经使用很长时间(大约三年)的linux-2.6.18 Dom0内核仍然提供支持。不过根据笔者的实验,对于自己手动编译安装Xen来说,linux-2.6.18 Dom0内核仍然是最好的选择。

4. 新提供libxl库,用于开发者开发一系列上层控制Xen的工具,从而实现对各虚拟机状态的监控和管理,进而便于开发无人值守虚拟机服务器管理程序组。

5. 对Citrix WHQL认证的Windows并行虚拟化驱动的支持。

这些特性使得Xen不仅可以更好的用于个人电脑,还可以充分发挥服务器的稳定性,可以更好的应用于实际场合中。

总结

通 过上文介绍我们可以看出,Xen4.0作为最新的虚拟机系统,充分使用了最新虚拟化技术,从可扩展性、性能、可靠性和可用性上均较前代产品有很大提升。在 实际应用中,Amazon的EC2云计算平台基础架构就使用Xen构建,由此可以看出Xen并不只是一个各种新技术堆积起来的玩具,而是一个可应用到实际 环境中的系统。

当然Xen也存在很多缺点。比如从可用性上来说,VMWare就做得比Xen要好很多,比如鼠标指针漂移问题就没有出现在 VMWare的虚拟机中。另一个例子是VMWare提供了强大的VMWare Unity功能,使得虚拟机中的窗口可以整合在宿主机桌面上,并且可以从宿主机直接点击,编缉,拖曳这些窗口。类似的功能并未出现在当前版本的Xen上, 当然这个问题受制于Xen的表现层架构设计以及其它非Xen维护的相关项目,不过相信这些问题会在未来某一天解决,从而在Linux越来越盛行的今天给用 户带来更好的体验。

4.0.1

1. blktap2 ,这是一个高性能的 VHD 实现,支持快照和克隆;
2. Netchannel2 支持新的智能网卡和多队列以及 SR-IOV 功能;
3. 不同物理服务器间的虚拟机状态在线事务同步支持容错;
4. 新的库 Libxenlight 用来提供更高级别的 Xen 控制;
5. 实现 PV-USB 和 VGA 的传递;
6. 性能和可伸缩性方面有新的提升;
7. 修复不少的bug。


推荐阅读
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • 在编写业务代码时,常常会遇到复杂的业务逻辑导致代码冗长混乱的情况。为了解决这个问题,可以利用中间件模式来简化代码逻辑。中间件模式可以帮助我们更好地设计架构和代码,提高代码质量。本文介绍了中间件模式的基本概念和用法。 ... [详细]
  • Unity3D引擎的体系结构和功能详解
    本文详细介绍了Unity3D引擎的体系结构和功能。Unity3D是一个屡获殊荣的工具,用于创建交互式3D应用程序。它由游戏引擎和编辑器组成,支持C#、Boo和JavaScript脚本编程。该引擎涵盖了声音、图形、物理和网络功能等主题。Unity编辑器具有多语言脚本编辑器和预制装配系统等特点。本文还介绍了Unity的许可证情况。Unity基本功能有限的免费,适用于PC、MAC和Web开发。其他平台或完整的功能集需要购买许可证。 ... [详细]
author-avatar
大美妞Buling-buling
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有