参考:
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
来源:oschina
链接:https://my.oschina.net/u/4314590/blog/4044200