KVM虚拟机简介及安装
KVM虚拟机简介
kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM目前已成为学术界的主流VMM之一。
KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化。但Xen本身有自己到进程调度器,存储管理模块等,所以代码较为庞大。广为流传的商业系统虚拟化软件VMware ESX系列也是基于软件模拟的Para-Virtualization。
前期准备
1.确定机器有VT
终端输入命令:
(INTEL芯片)
grep vmx /proc/cpuinfo
(AMD芯片)
grep svm /proc/cpuinfo
不知道芯片的生产厂商则输入:
grep '(vmx|svm)' /proc/cpuinfo
如果flags: 里有vmx 或者svm就说明支持VT;如果没有任何的输出,说明你的cpu不支持,将无法成功安装KVM虚拟机。
2.确保BIOS里开启VT:
Intel(R) Virtualization Tech [Enabled]
如有必要,还需在BIOS中开启VT-d
3.确保内核版本较新,支持KVM
用命令uname –r查看内核版本,如果在2.6.20以下的linux版本,需升级内核。
安装KVM
下面就Ubuntu和CentOS下安装使用KVM虚拟机做介绍:
Ubuntu 中用guest登陆,安装KVM的命令为:
sudo apt-get install kvm qemu qemu-kvm virt-manager kernel-package linux-source build-essential
kvm安装成功后会有/dev/kvm,如果无需图形管理器,只需要安装前三个即可。
注:kqemu-source这个包在Ubuntu12.04中是没有的,但是不影响使用。
再来查看下KVM是否安装成功,执行:virsh -c qemu:///system list
注:使用该命令一定也要用root权限.
如果输入结果像下面这样的,那么成功了:
Connecting to uri: qemu:///system
Id Name State
注1:CentOS中安装时,先要选择Selinux为enalble,使用命令
#system-config-securitylevel-tui
可查看或修改selinux的状态。
注2: CentOS中用root登陆时则安装命令为:
Yum install kvm kmod-kvm qemu
再装入kvm模块:modprobe kvm-intel (Intel机器) 或者 modprobe kvm-amd (amd机器)
注3:可以用以下命令来检查是否装入kvm模块:
/sbin/lsmod | grep kvm
如果输出关于kvm版本的信息则已装入kvm模块
注4: 安装好后,可使用qemu-kvm命令,输入该命令,如果系统显示未知的命令,可查看/usr/libexec中是否有qemu-kvm可执行文件,如果有,将其拷贝到/bin目录下即可。如果确实按照上面的步骤进行了,却在/bin,/usr/libexec,/usr/bin,/usr/sbin里都找不到qemu-kvm可执行文件,可执行以下命令:
#yum provides "*/qemu-kvm"
注5:安装新内核后,可能有部分软件版本过低,不兼容。比如firefox因版本过低,无法启动。
CentOS下可使用如下命令更新该软件(以firefox为例):
#yum update firefox