一、前言
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。
二、环境
系统:rhel6.6 64位
软件包组:
virtualization 提供虚拟机的环境,主要包含qemu-kvm
virtualization-client 管理和安装虚拟机实例的客户端,主要有python-virtinst,virt-manager,virt-viewer
virtualization-platform 提供访问和控制虚拟客户端的接口,主要有libvirt,libvirt-client
virtualization-tools 管理离线虚拟机镜像的工具,主要有libguestfs
根据需求选择软件包,一般都安装前三个,也可以只安装个别主要的包。
执行:# cat /proc/cpuinfo |grep flags
出现vmx或svm代表支持虚拟化【 需要全虚拟化支持为vmx(Inter)或svm(AMD)】
为了减少不必要的麻烦,请关闭防火墙和SELinux,关闭办法如下:
【本文只测试了即时关闭
Redhat使用了SELinux来增强安全,
SELinux关闭的办法为:
1. 永久有效
修改 /etc/selinux/config 文件中的 SELINUX="" 为 disabled ,然后重启。
2. 即时生效
setenforce 0
关闭防火墙的方法为:
1. 永久性生效
开启:chkconfig iptables on
关闭:chkconfig iptables off
2. 即时生效,重启后失效
开启:service iptables start
关闭:service iptables stop
需要说明的是对于 Linux 下的其它服务都可以用以上命令执行开启和关闭操作
补充:
a. 防火墙还需要关闭ipv6的防火墙:
chkconfig ip6tables off
并且可以通过如下命令查看状态:
chkconfig --list iptables
b. selinux状态可以通过以下命令查看:
sestatus
】
三、安装与配置
# yum groupinstall "Virtualization" "Virtualization Client""Virtualization Platform"
# yum install qemu-kvm virt-manager libvirt //也可只安装个别主要的包
# lsmod |grep kvm //kvm模块一定要加载
kvm_intel 53484 0
kvm 316506 1 kvm_intel
# service libvirtd start //启动libvirt服务
Starting libvirtd daemon: [ OK ]
四、打开Virtual Machine Manager