Xen
在旧(无虚拟硬件)的处理器上执行Xen,操作系统必须进行显式地修改(“移植”)以在Xen上运行(但是提供对用户应用的兼容性)。这使得Xen无需特殊硬件支持,就能达到高性能的虚拟化。
2013年4月,Linux基金会宣布Xen成为Linux基金会合作项目。[2]
使用
IBM经常在其主机和服务器上使用虚拟机来尽可能发挥其性能,并类似chroot监禁那样将程序置于隔离的虚拟OS中以增强安全性。除此之外,它还能使不同和不兼容的OS运行在同一台计算机上。Xen支持在运行时进行迁移,保证正常运行并且避免宕机。
Xen的半虚拟化
Xen通过一种叫做半虚拟化的技术获得高效能的表现(较少的效能损失,典型的情况下大约损失2%,在最糟的情况下会有8%的效能耗损;与其它使用完全的虚拟化却造成最高到20%损耗的其他解决方案形成一个明显的对比),甚至在某些与传统虚拟技术不友好的架构上(如x86),Xen也有极佳的表现。但是这要求虚拟机使用经过修改的客户端操作系统,早期能有限的支持Linux,后来支持将BSD等部分类Unix系统作为客户端操作系统。与那些传统透过软件模拟实现硬件的虚拟机不同,在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进行虚拟。也就是说,Xen的完全虚拟化模式允许Xen虚拟机运行未经修改的Windows等操作系统。但是在x86平台上,只有支持x86虚拟化的电脑才支持Xen的全虚拟化模式。
虚拟机的迁移
Xen 虚拟机可以在不停止的情况下在多个物理主机之间即时迁移(live migration)。在操作过程中,虚拟机在没有停止工作的情况下内存被反复的复制到目标机器。虚拟机在最终目的地开始执行之前,会有一次60-300 毫秒的非常短暂的暂停以执行最终的同步化,给人无缝迁移的感觉。类似的技术被用来暂停一台正在运行的虚拟机到磁盘,并切换到另外一台,第一台虚拟机在以后 可以恢复。
系统平台支援
Xen目前可以运行在x86及x86-64系统上,并正在向IA64、PPC移植。移植到其他平台从技术上是可行的,未来有可能会实现。
Unix-like系统中的Xen
- Novell于2005年4月15日发布的SUSE Linux Professional 9.3已内含Xen 2.0.5c版本。
- RedHat的Fedora Project于2005年6月13日发布的Fedora Core 4亦已内含Xen。
- RedHat的RHEL及其衍生版本(如CentOS)从RHEL6开始,已使用KVM作为默认的虚拟化技术。
- Xenophilia是一个基于Xen的Linux发行版。
- Xen demo CD是一个运行Debian Linux的liveCD,使你在系统上试用Xen,不用安装到硬盘。
- Debian亦可安装Xen。
- NetBSD 2.0包括对Xen 1.2的支持,即将发布的3.0包括对Xen 2.0的支持。
- Oracle Linux支持Xen;还有Oracle VM的Xen管理软件。
参见
- 中文名
- Xen
- 采 用
- ICA协议
- 技 术
- 做准虚拟化
- 实 质
- 开源虚拟化技术
定义
工作原理
性能比较
半虚拟化
全虚拟化
平台支持
应用领域
应用案例
Xen与其它开源项目
版本发布
2014年03月11日,Xen发布4.4版本,更好地支持ARM架构。
Xen的更多相关文章
- 虚拟机体验之 Xen 篇 —— 令人脑洞大开的奇异架构
这一篇我要体验的虚拟机系统是 Xen.在虚拟机领域,Xen 具有非常高的知名度,其名字经常在各类文章中出现.同时 Xen 也具有非常高的难度,别说玩转,就算仅仅只是理解它,都不是那么容易.之所以如此, ...
- 【转】Xen与XenServer的区别
说到XenServer,总是离不开Xen,所以我要说他们的区别,得首先从Xen开始说起! Xen体系架构 Xen hypervisor体系架构 Xen 的 VMM ( Xen Hypervisor ) ...
- Xen之初体验:XenMotion、 StorageMotion、Site Recovery、Power Management 各种新、高级功能免费
Xenserver 的新版本6.2现在已经全面开源,省掉了原有的序列号,也能免费体验曾经标题中的付费高级功能. 安装镜像:http://downloadns.citrix.com.edgesuite. ...
- Citrix Xen Desktop安装配置
Citrix虚拟化的东西其实和我现在做的东西完全没有关系的.反正接到通知要搭一个Citrix Xen Desktop那就做. 先放几个教程: :跟着图片通过XenDesktop7发布Win8桌面 这个 ...
- xen下离线读取虚拟机磁盘镜像的补丁
之前在xen-3.4.2和xen-4.1.2下做过几个基于qemu模拟器的补丁,就是想着不用通过xm create(xen3下面)或xl create(xen4下面)启动虚拟机,而能直接去解析磁盘镜像 ...
- XEN的启动信息输出到“Platform timer is 14.318MHz HPET”就暂停接收的解决办法
使用Serial Over Lan(SOL)来双机调试 XEN,在 XEN 启动时,引导信息输出到以下这一句时,就不再发送调试信息了: ...(XEN) Intel machine check rep ...
- 利用 Serial Over Lan(SOL)搭建 XEN 的调试信息输出环境
如有转载,请注明出处与本文连接,谢谢! 修改XEN的源码实现额外的功能,需要有一个调试环境来得到XEN的调试信息(有关源码编译并安装 XEN 请阅读我以前的博文:在CentOS下源码安装 Xen并搭建 ...
- Ubuntu系统下Xen虚拟机的基本安装方法(代码创建)
Ubuntu上Xen安装虚拟机方法一dd一个空的磁盘sudo dd if=/dev/zero of=/home/vm1.img bs=1G count=8 下载Xen VM通用配置文件 sudo wg ...
- Xen启动过程分析(还是分享过来吧,找了好长时间)
XEN启动过程 Xen Hypervisor运行在Ring0,在启动过程中,Xen首先被引导:系统由Grub启动,遵循Multiboot引导规范:然后Linux内核做为module也被引导入 ...
- 检测Linux VPS是Xen、OpenVZ还是KVM真假方法
如果大家对自己购买和使用的VPS需要检测是否为真的Xen,我们可以用如下方法进行测试.比较专业的就是用virt-what脚本进行检测.检测Linux VPS是Xen.OpenVZ还是KVM真假方法方法 ...
随机推荐
- 腾讯开放平台 IOS应用URL schema、Boundle ID填写 (含微博、微信)
解释如下: qq比较麻烦点,需要两个 URL schemes 1.QQ+appID(appid原本是10进制的,需要转换16进制,网址:http://tool.oschina.net/hexconve ...
- 字典dictionary
字典,即我们可以通过索引来查找更详细的内容.每个item都是由一对index:value构成的 索引可以有副本,但是试图根据存在副本的索引访问元素时,只会取最靠后的那个. 索引必须是immutable ...
- [转载] python的sorted函数对字典按key排序和按value排序
1.sorted函数按key值对字典排序 先来基本介绍一下sorted函数,sorted(iterable,key,reverse),sorted一共有iterable,key,reverse这三个参 ...
- Mysql中使用find_in_set函数查找字符串
mysql有个表的字段的存储是以逗号分隔的,如domain字段login.s01.yy.com,s01.yy.com,s02.yy.com.现在要查找s01.yy.com这个.我们用like查找好像不 ...
- 【转】Android编程判断手机or平板
转载自:http://www.cnblogs.com/sunzn/p/3663363.html /** * 判断当前设备是手机还是平板,代码来自 Google I/O App for Android ...
- css中单位em和rem
一.介绍 1.em w3cschool中给出css中尺寸单位如下: 单位 描述 % 百分比 in 英寸 cm 厘米 mm 毫米 em 1em 等于当前的字体尺寸. 2em 等于当前字体尺寸的两倍. 例 ...
- 台湾辅仁大学的python教程笔记
散记,因为主讲老师讲得也很乱..说课后的自习才是最重要的- 1.就这样,笔记看下.. 2. Modules 模组 很多模组放在一起就是一个packages 一个packages 一定有有__init_ ...
- position:absolute/relative/fixed小结
1.绝对定位:position:absolute; 当一个div块的位置被定义为绝对定位absolute时,也就意味着它失去了文档流的位置,后面的文档流会紧跟着补上来接替它的位置.如果上下左右的绝对偏 ...
- Asp.net MVC 学习系列(一)序
题外话 公司本月开始提供早餐服务,2块天一餐,包括粥,两个包(听说是利口福供应的),一个鸡蛋.良心企业.公司原本有一个内部订餐系统,用Delphi开发的,开发的人早就走光了,也没有留下什么文档,现在项 ...
- 【Unity】矩阵运算
http://www.cnblogs.com/wywnet/p/3585075.html Vector3: Unity3D中Vector3类定义(只写有用的): 属性: x,y,z ...
