一、检查CPU是否支持虚拟化。(在主板BIOS中开启CPU的VirtualizationTechnology)
# grep -E -o 'vmx|svm' /proc/cpuinfo

二、基础环境配置
1.安装KVM软件包
yum -y groupinstall 'Virtualization' 'Virtualization Client' 'Virtualization Platform' 'Virtualization Tools'

Linux命令:lsmod——显示已载入系统的模块
lsmod 其实就是list modules的缩写,即 列出所有模块.
功能说明:显示已载入系统的模块。
语法:lsmod 模块名称
说明:执行lsmod指令,会列出所有已载入系统的模块。Linux操作系统的核心具有模块化的特性,因此在编译核心时,无需把全部的功能都放入核心。你可以将这些功能编译成一个个单独的模块,待需要时再分别载入。

查看模块
# lsmod | grep kvm
kvm_intel 53484 6
kvm 316506 1 kvm_intel

2.1 如果启用了NetworkManager,最好关闭该服务,因为该服务与network有冲突。
chkconfig NetworkManager off
service NetworkManager stop

2.2 关闭 selinux
# vi /etc/sysconfig/selinux
SELINUX=disabled

配置桥接方式:
安装必须的软件包
yum install bridge-utils tunctl

2.3 编辑网卡
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
BRIDGE=br0
NM_CONTROLLED=no

# vi /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.200.15
NETMASK=255.255.255.0
GATEWAY=192.168.200.1
DNS1=202.106.0.20
NM_CONTROLLED=no

2.4 重启网络
service network restart
或 reboot
若配置完了上不了网,可能是DNS有问题,修改:
cat /etc/resolv.conf
nameserver 180.76.76.76
nameserver 192.168.1.1

临时备份
cp /etc/sysconfig/network-scripts/ifcfg-eth0 /share/backup/ifcfg-eth0-mod
cp /share/backup/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0

2.5 查看网络
# brctl show
bridge name bridge idSTP enabledinterfaces
br0 8000.ac4e914d0aa2noeth0
virbr0 8000.5254004d5befyesvirbr0-nic

2.6 检查ip转发是否开启
# cat /etc/sysctl.conf |grep ip_forward
net.ipv4.ip_forward = 0

chkconfig libvirtd on
chkconfig messagebus on

验证KVM的运行是正常的:
# virsh -c qemu:///system list
Id 名称 状态
----------------------------------------------------

创建软链接:
ln -sv /usr/libexec/qemu-kvm /usr/local/bin/qemu-kvm


---------------------

四、使用qemu-kvm安装虚拟机Guest OS

1、创建虚拟机的磁盘文件
qemu-img create -f qcow2 -o preallocation=metadata /kvm-images/centos7.qcow2 20G

2、安装vnc和图形界面库
yum install xorg-x11-xauth tigervnc -y


#cat /etc/qemu-ifup

创建一个名为centos6的虚拟机,其RAM大小为1024MB ,有一颗CPU的SMP架构,默认引导设备是硬盘,有一个光驱设备和硬盘设备,首先创建一个网卡启动桥接的脚本,以便于虚拟机通过物理网卡联网。
#!/bin/bash
bridge=br0
if [ -n "$1" ]; then
ip link set $1 up
sleep 1
brctl addif $bridge $1
[ $? -eq 0 ] && exit 0 || exit 1
else
echo "Error: no interfacespecified."
exit 1
fi

chmod +x /etc/qemu-ifup

通过qemu-kvm创建虚拟机:
qemu-kvm -name centos7 -smp 1 -m 512 \
-drive file=/kvm-images/centos7.qcow2,if=virtio,media=disk,index=0,format=qcow2 \
-drive file=/share/soft/CentOS-7-x86_64-Minimal-1708.iso,index=1,media=cdrom \
-net nic,model=virtio \
-net tap,ifname=vnet0,script=/etc/qemu-ifup,downscript=no \
-vga cirrus -balloon virtio

启动:
qemu-kvm -name centos7 -smp 1 -m 2048 -cpu host \
-drive file=/kvm-images/centos7.qcow2,if=virtio,media=disk,index=0,format=qcow2 \
-net nic,model=virtio \
-net tap,ifname=vnet0,script=/etc/qemu-ifup,downscript=no \
-vga cirrus -balloon virtio

报错:
open /dev/kvm: No such file or directory
failed to initialize KVM: Operation not permitted
Back to tcg accelerator.
VNC server running on `127.0.0.1:5903'


$ vncviewer
输入IP:PORT连接guest.
连接KVM客户机安装centos7.

http://blog.csdn.net/qq_27231343/article/details/51003826
dmesg |grep kvm
输出类似:
[ 4790.548000] kvm: disabled by bios
sudo modprobe kvm
sudo modprobe kvm-intel
然后一切正常,lsmod |grep kvm,输出如下


安装另一个终端:
yum install guake