一、KVM介绍
KVM(Kernel-based Virtual Machine)是基于虚拟化扩展(Intel VT或AMD-V)的X86硬件平台实现的Linux的全虚拟化解决方案,其基本结构由两部分组成:一个是KVM Driver ,是Linux 内核的一个模块,负责虚拟机的创建,虚拟内存的分配,虚拟CPU寄存器的读写以及虚拟CPU的运行等;另一个部分是稍微修改过的Qemu,用于模拟PC硬件的用户空间组件,模拟I/O设备模型以及提供访问外设的途径。
kvm负责cpu虚拟化+内存虚拟化,实现了cpu和内存的虚拟化,但kvm不能模拟其他设备;
qemu是模拟IO设备(网卡,磁盘),kvm加上qemu之后就能实现真正意义上服务器虚拟化。
因为用到了上面两个东西,所以一般都称之为qemu-kvm。
libvirt则是调用kvm虚拟化技术的接口用于管理的,用libvirt管理方便,直接用qemu-kvm的接口太繁琐。
二、KVM操作系统配置
1.将内核模式修改位兼容内核启动,操作如下:
vim /boot/grub/grub.conf
修改:default=1
2.关闭selinux,操作如下:
(1) 命令:setenforce 0 ,临时生效方法
(2) 修改配置文件法:
vim /etc/selinux/config
修改:SELINUX=disabled
保存,重启生效
ps:通过getenforce可以查看selinux状态
3.关闭防火墙
service iptables stop
chkconfig iptables off
service iptables status
三、虚拟化环境搭建
1.查看cpu是否支持全虚拟化
egrep '(vmx|svm)' /proc/cpuinfo
执行结束如果出现东西,说明支持全虚拟化,否则,不支持
ps:如果是在VM下运行,请记得勾选支持虚拟化,具体操作如图3.1所示,否则不支持
2.安装必要的安装包
检查是否存在:
rpm -qa qemu-kvm libvirt Python-virtinst virt-viewer virt-manager bridge-utils
不存在则安装:
yum -y install qemu-kvm libvirt Python-virtinst virt-viewer virt-manager bridge-utils
四、查看虚拟化环境
1.重启libvirt服务
service libvirtd restart
或者
service /etc/sysconfig/libvirtd restart
2.查看虚拟化环境
virsh -c qemu:///system list
3.查看是否支持kvm模块
lsmod | grep kvm
如果出现下图则支持,否则请重新检查是否支持全虚拟化
4.查看虚拟工具版本
virsh --version
virt-install --version
ln -s /usr/libexec/qemu-kvm /usr/bin/qemu-kvm
qemu-kvm --version
五、虚拟网桥配置
目的:使KVM的虚拟机可以使用同一网段内网,配置虚拟网桥
1.关闭NetworkManager(引发配置失效)
service NetworkManager stop
chkconfig NetworkManager off
service NetworkManager status
2.创建网桥br0
复制一份网卡文件:
cp ifcfg-eth0 ifcfg-br0
修改eth0:
vim ifcfg-eth0
NM_CONTROLLED=no
修改br0:
vim ifcfg-br0
NM_CONTROLLED=yes
TYPE=Bridge
DEVICE=br0(记得修改,不然就重名啦~)
3.重启网络服务
service network restart
再次提醒:记得关闭 NetworkManager
4.重启完,查看网卡信息,即可看到配置信息
ifconfig
br0是不是出来啦 ~
不信的话,再敲击下方命令试试看:
brctl show
恭喜您,这样kvm环境就搭建成功啦~
取材来源:http://m.blog.csdn.net/English0523/article/details/51644591