KVM(for Kernerl-based Virtual Machine)是基于Linux的全虚拟化解决方案


00. kvm -m 512 hda /dev/sda

##引导启动C盘的WINDOWS

桥接网卡
Yum install bridge-utils
桥接网卡:
cd /etc/sysconfig/network-scripts/


# Vim ifcfg-eth0
BRIDGE=br0


#Vim ifcfg-br0
# Bridge Networking Interface
DEVICE=br0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.66
NETMASK=255.192.168.0
GATEWAY=192.168.0.1
TYPE=Bridge
USERCTL=yes
NM_CONTROLLED=no
IPV6INIT=no
PEERNTP=no
DELAY=0
NAME="Bridge eth0"
  1. 安装KVM

查看CPU是否支持虚拟指令集

grep -E 'vmx|svm' /proc/cpuinfo
AMD速龙以上,INTEL酷睿以上基本都支持。
平台64位。
  1. 安装

yum install qemu-kvm virt-manager virsh bridge-utils -y
  1. rpm -ql qemu-kvm

virsh #交互式
virsh list #不交互,直接执行,查看运行的虚拟机


虚拟机安装脚本:
#! /bin/bash
read -p "input vpc name:" VNAME
read -p "If you want install a windows XP ,just type \"w\":" VTYPE
read -p "vpc mem size :" VMEM
read -p "input vpc disk size:" VDISK
[ "$VTYPE" = "w" ] && ISO="/var/ftp/GHO/win-xp.iso" || ISO="/var/ftp/GHO/rhel.iso"
virt-install \
--name=$VNAME \
--ram=$VMEM \
--cdrom $ISO \
--os-variant=rhel6 \
--disk /var/lib/libvirt/p_w_picpaths/$VNAME.qcow2 , size=$VDISK,format=qcow2 \
--network bridge=br0
unset VNAME VTYPE VMEM ISO VDISK


  1. 虚拟机快照

virsh snapshot-create-as centos centos130808
#为虚拟机centos创建快照,名称为centos130808
virsh snapshot-list centos
#查看虚拟机centos的快照列表
virsh snapshot-revert centos centos130808
#恢复虚拟机快照
virsh start centos
#运行虚拟机centos
virsh view centos
#查看虚拟机 centos
virsh destroy centos
# 强行关闭虚拟机centos
netstat -tuanpl | grep :59
virsh --help | grep snap
删除虚拟机需要先删除快照,如下:
virsh snapshot-delete centos centos130808
virsh undefine centos --remove-all-storage
查看虚拟机状态:
virsh list
virsh dominfo centos
设置虚拟机以接受console连接(虚拟机里设置):
添加ttyS0的安全许可,允许root登录: echo "ttyS0" >> /etc/securetty
在/etc/grub.conf文件中为内核添加参数:console=ttyS0
在/etc/inittab中添加agetty:
S0:12345: respawn:/sbin/agetty ttyS0 115200
重启虚拟机:reboot
在主机中 virsh console <domainname>
创建qcow2格式的虚拟机镜像文件:
qemu-img create -f qcow2 /xx/xx/xx/xp.img 10G
qemu-img info xx.iso #查看镜像文件格式
把raw格式转换为qcow2格式:
qemu-img convert -f raw -O qcow2 source.img destination.img
克隆虚拟机:
virt-clone --connect qemu:///system --original=host-A --name=host-B --file=/var/lib/libvirt/p_w_picpaths/host-B.qcow2
网卡桥接:
创建虚拟的网桥(交换机),并将宿主机或虚拟机的网卡接入网桥。
命令:brctl
brctl addbr <bridge> # 创建网桥
brctl delbr <bridge> # 删除网桥
brctl addif <bridge><device> # 将接口加入网桥
brctl delif <bridge><device> # 将接口从网桥删除
brctl show [<bridge>] # 查看
配置文件:
/etc/sysconfig/network-scripts/ifcfg-<bridge>
虚拟机改MAC:
/etc/udev/rules.d/70-persistent-net.rules