参考: http://blog.51cto.com/wzlinux/1731324 http://blog.csdn.net/ztynet/article/details/54952425 一、检查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