使用KVM需要哪些准备?
你需要一台运行Linux的x86的机器。它的CPU是有VT技术支持的英特尔cpu或者有SVM(又常被称为AMD-V)支持的AMD的CPU.
KVM支持64位的处理器吗?
KVM支持64位的处理器!此时,你可以运行32位或者64位的客户机。
What is Intel VT / AMD-V / hvm?
英特尔VT,是什么?AMD-V又是什么?hvm是什么?
Intel VT 和AMD’s AMD-V 都指的是指令集扩展。它们在硬件层面帮助实现虚拟机管理技术。这种技术使得在虚拟机上运行的速度接近直接在真实机器上运行的速度。HVM是硬件虚拟机的缩写(Hardware Virtual Machine )则是一个生产商中立的词汇(vendor-neutral term),它常常用来指代x86指定集扩展。
从哪里得到KVM内核模块呢?
可以从这里获得 http://www.linux-kvm.org/page/Getting_the_kvm_kernel_modules 。
我如何知道我的CPU支持Intel VT技术或者AMD-V技术呢?
如果你的Linux操作系统比较新,尝试以下的指令:
. egrep ‘^flags.*(vmx|svm)’ /proc/cpuinfo
如果出现一些文字,那说说你的CPU支持虚拟化。你也可以在/proc/cpuinfo文件中找到处理器模块的名字,然后到供应商的网站上查询。
注意:
1. 如果安装了Xen hypervisor,为了防止被劫持,你在dom0和domU中都得不到这些输出。dom0和domU是Xen hypervisor的术语。如果你没有安装Xen,直接忽略。
2. 一些产商默认在BIOS定设中禁用了CPU的虚拟化支持。你需要先在BIOS中打开虚拟化支持。
3. 如果你用的是intel cpu,对于内核版本2.6.15以前的Linux,你得不到这样的输出。如果你用的是amd cpu,对于内核版 本2.6.16以前的linux,你得不到这样的输出。如果你不确定你的Linux内核版本,用#uname -r 命令查看。
出现 “KVM: disabled by BIOS” error 错误
Check if there is an option to enable it in the BIOS. If not, look for a more recent BIOS on the vendor’s web site.
在BIOS设定在找找看有没有启用cpu虚拟化的选项,如果没有,去到主板厂商的网站上面看看有没有新的BIOS发布并支持打开cpu虚拟化,那么你需要刷新BIOS.
注意:
1.对于部分硬件(如 HP nx 6320),你需要先关掉主机电源,再打开主机电源才能使BIOS中启用cpu虚拟化支持生效。
2.BIOS的部分设定有可能与启用CPU虚拟化冲突。比如在Thinkpad T500上,启用Intel AMT技术会出现冲突。这样kvm-intel在载入时会抱怨”disabled by bios”错误。
3. 在一些Dell的硬件中,你还需要禁用”Trusted Execution”,否则不能打开VT。
你该怎么使用AMD-V扩展呢?
在根用户权限下敲入:modprobe kvm-amd
KVM使用什么样的用户空间工具。(User space tools)
KVM使用稍稍修改过的QEMU作为用户空间工具来管理创建的虚拟机。执行QEMU以后,从linux内核的视角来看,每个虚拟机仅仅是一个普通的进程。你可以用经典的Unix命令,如top, kill, taskset等等来操作虚拟机。
KVM使用何种类型的虚拟磁盘。
QEMU支持的多种磁盘格式如raw images,qcow2(QEMU原生磁盘格式),VMWARE format,等等,KVM都支持(KVM inherits a wealth of disk formats support from QEMU)。