LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2453|回复: 22

kvm, xen, cpu支持

[复制链接]
发表于 2008-12-1 19:02:50 | 显示全部楼层 |阅读模式
请问使用kvm或者xen是不是一定要cpu支持虚拟化技术的?
发表于 2008-12-1 19:18:55 | 显示全部楼层
kvm: yes

xen 可以用半虚拟,即para-virtualization
这样不需要硬件虚拟的支持(Intel VT, AMD-V)
回复 支持 反对

使用道具 举报

发表于 2008-12-1 19:49:10 | 显示全部楼层
Post by lzlz;1917382
kvm: yes

xen 可以用半虚拟,即para-virtualization
这样不需要硬件虚拟的支持(Intel VT, AMD-V)

具体是哪个cpu指标?我是amd64 2800+
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-1 19:50:30 | 显示全部楼层
Post by lzlz;1917382
kvm: yes

xen 可以用半虚拟,即para-virtualization
这样不需要硬件虚拟的支持(Intel VT, AMD-V)


谢谢lzlz,顺便问一下,半虚拟(准虚拟)和全虚拟有什么不同?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-1 19:52:07 | 显示全部楼层
Post by 三翻领;1917394
具体是哪个cpu指标?我是amd64 2800+


cat /proc/cpuinfo | grep vmx (如果是AMD 则是svm )

cpuinfo里相关的标志的
回复 支持 反对

使用道具 举报

发表于 2008-12-1 20:01:07 | 显示全部楼层
Post by slackcode;1917396
cat /proc/cpuinfo | grep vmx (如果是AMD 则是svm )

cpuinfo里相关的标志的


死心了,哈哈
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-1 20:04:17 | 显示全部楼层
Post by 三翻领;1917398
死心了,哈哈


我CPU是今年刚换的7200,我以为支持VT的
但后来很失望地发现不是……

KVM不能用,还想试一下XEN的半拟虚化,但查资料中没发现有相关的说明
回复 支持 反对

使用道具 举报

发表于 2008-12-1 20:05:16 | 显示全部楼层
Post by slackcode;1917395
谢谢lzlz,顺便问一下,半虚拟(准虚拟)和全虚拟有什么不同?

硬件虚拟需要硬件支持,我们知道对异常/中断发生时,CPU会跳转到特定的地址(对x86是对应的IDT)执行相应的处理例程,对只有一个OS这样是足够的,但如果有多个OS,这样无疑不能解决问题,于是也有两种解决方案:

第一种将修改guest OS底层代码,将以前跳转的处理例程地址重定位到一个特定(公共)的处理例程,根据当前运行的是那个虚拟机来判断到底跳转到具体那个guest OS的异常/中断处理例程。

第二种硬件可以通过增加少量的寄存器和指令,让硬件可以支持多个异常/中断处理例程入口。举个最简单(但未必正确)的例子: 我们增加一个寄存器REG_OS,默认它的值是0,如果有多个虚拟机(guest OS)在运行,则他们对应的REG_OS必须在切换的时候被依次设置为1,2,...,则当异常/中断发生时,辅助REG_OS寄存器,我们可以通过硬件就能重定向到对应的异常/中断处理例程。

某些特定操作如syscall可能还需要专门增加一些指令(hypercall)才能达到想要的效果

地一种即半虚拟(para-virt),第二中即为硬件虚拟(当然我的解释有很多遗漏的地方)。

很显然,第一种需要guest OS修改其底层的代码才能工作,第二种则不需要。

速度上二者实际上相差是很小的,个人感觉其实工作量是一样,有硬件来作未必就能带来太多速度上的优势。
回复 支持 反对

使用道具 举报

发表于 2008-12-1 20:07:30 | 显示全部楼层
Post by slackcode;1917400
我CPU是今年刚换的7200,我以为支持VT的
但后来很失望地发现不是……

KVM不能用,还想试一下XEN的半拟虚化,但查资料中没发现有相关的说明


Q8XXX一样不支持VT

Intel的貌似只有最高端的没有阉割,其他的多少阉割的某些功能,他的芯片组也一样有这样的问题
AMD的只要不是最底端的通常都没有被阉割
回复 支持 反对

使用道具 举报

发表于 2008-12-1 20:12:15 | 显示全部楼层
Post by 三翻领;1917398
死心了,哈哈


AMD AM2 Athlon好像就全支持SVM了,但Sempron不支持
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表