一、环境

系统版本:CentOS release 6.4 (Final)
libvirtd版本:1.1.3
virsh版本:1.1.3
virt-manager版本:0.9.0

    KVM主机1:10.10.17.30

    KVM主机2:10.10.17.31

    KVM  管理:10.10.17.100

二、安装

1、KVM环境安装(10.10.17.30\10.10.17.31)

yum install libvirt qemu-kvm virt-install libssh2 virt-viewer bridge-utils -y

2、KVM主机管理环境安装(10.10.17.100)

桌面环境安装(最小化安装系统)
1. yum -y groupinstall Desktop
2.yum -y groupinstall "X Window System"
3.yum -y groupinstall chinese-support
4.编辑/etc/sysconfig/i18n文件,将en_US改成zh_CN
kvm管理组件安装
yum install libvirt virt-manager virt-viewer -y

三、kvm主机配置(10.10.17.30\10.10.17.31)

1、

/etc/init.d/ksm stop;/etc/init.d/ksmtuned stop;chkconfig ksm off;chkconfig ksmtuned off  ##停掉没必要服务
echo 'vnc_listen = "0.0.0.0"'>> /etc/libvirt/qemu.conf ##设定vnc监听所有IP
/etc/init.d/libvirtd restart;chkconfig libvirtd on ##启动libvirtd服务

2、网络配置

 

vi ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=10.10.17.30 ## 桥接网卡启动,此处的ip就不生效
NETMASK=255.255.255.0
USERCTL=no
TYPE=Ethernet
BRIDGE=br0   ##添加这一条配置即可
vi ifcfg-br0  ##撰写桥接网卡的配置信息
DEVICE=br0
NM_CONTROLLED=no
ONBOOT=yes
IPADDR=10.10.17.30
NETMASK=255.255.255.0
BOOTPROTO=none
IPV6INIT=no
USERCTL=no
TYPE=Bridge
/etc/init.d/network restart

 

 四、安装、管理虚拟机

1、安装第一台虚拟机:

mdkdir /data/kvm/10.10.17.100 -p 创建目录
cd /data/kvm/10.10.17.100 进入项目目录
qemu-img create -f qcow2 system.qcow2 300G 创建磁盘
virt-install --name=10.10.17.100   --ram 1024 --vcpus=2  --arch=x86_64 --os-type=linux --os-variant='rhel6' --disk path=/data/kvm/10.10.17.100/system.qcow2,device=disk,bus=virtio,format=qcow2   --accelerate --cdrom /data/CentOS-6.4-x86_64-CD.iso --graphics vnc,password=123456  --network bridge=br0  --force  --autostart
PS:如果想网络安装 把--cdrom修改成--pxe
virsh vncdisplay id or vm-name 查看虚拟机的vnc端口,之后就可以用vnc客户端连上虚拟机操作了(宿主ip:vnc端口)

2、常用的系统安装实例:

 

安装linux
virt-install --name=vm-name   --ram 1024 --vcpus=2  --arch=x86_64 --os-type=linux --os-variant='rhel6' --disk path=/data/kvm/test/system.qcow2,device=disk,bus=virtio,format=qcow2   --accelerate --pxe --graphics vnc,password=123456  --network bridge=br0  --force  --autostart
安装windows 2008
virt-install --name=server2008   --ram 1024 --vcpus=2  --arch=x86_64 --os-type=windows --os-variant='win2k' --disk path=/data/kvm/2008/system.qcow2,device=disk,bus=ide,format=qcow2,cache=writeback   --accelerate --graphics vnc,password=123456  --network bridge=br0  --force --cdrom /data/2008R2.iso --autostart
安装windows 7
virt-install --name=vm-name   --ram 1024 --vcpus=2  --arch=x86_64 --os-type=windows --os-variant='win7' --disk path=/data/win7.qcow2,device=disk,bus=ide,format=qcow2,cache=writeback   --accelerate --graphics vnc  --network bridge=br0  --force --cdrom /data/cn_windows_7_ultimate_with_sp1_x64.iso --autostart
windows XP
virt-install --name xp-lovae --ram 1024 --disk /data/xp.qcow2,format=qcow2 --cdrom /data/HP-WinxpSp3.iso  --os-type=windows --os-variant='winXP'   --accelerate --graphics vnc  --network bridge=br0

3、用模板和xml文件快速创建虚拟机:

cp /data/kvm/example/system.qcow2 /data/kvm/10.10.17.102/ ## example必须是关机状态下
virsh dumpxml example(id or vm-name) >/data/kvm/10.10.17.102/my.xml 获取xml文件
PS:my.xml文件需要删除uuid、网卡的mac地址字段,修改虚拟机的名字、和磁盘镜像存放路径,至于内存、cpu这些信息看自己的需求
virsh define /data/kvm/10.10.17.102/my.xml
virsh start 10.10.17.102(id or vm-name)

 4、kvm常用管理命令:

列出正在运行的vm
virsh list
列出所有vm(包括关机的)
virsh list --all
vm的生命周期管理
virsh start/reset/destroy/undefine/suspend/resume/reboot/shutdown vm-name
编辑vm配置
virsh edit vm-name
查看vnc端口
virsh vncdisplay vm-name
查看虚拟机信息
virsh dominfo vm-name
查看vm的xml信息
virsh dumpxml 2 or vm-name
在线增加网卡
virsh attach-interface  --domain  vm-name  --type bridge --source br0
在宿主查看虚拟机的ip信息
virt-cat -d centos6.5 /etc/sysconfig/network-scripts/ifcfg-eth0
虚拟机开机自启动
/etc/init.d/libvirt-guests start 监控已开启的虚拟机,当宿主重启了,会把之前开着的虚拟机启动
virsh autostart vm-name  让虚拟机随着宿主开机启动
删除虚拟机:
1、virsh undefine vm-name
2、rm -rf /data/kvm/vm-name
关机:
virsh destroy vm-name 硬关机
virsh shutdown vm-name  软关机 注意:需要在虚拟机内安装acpid(yum -y install acpid;service acpid restart;chkconfig acpid on)
关于xml里的启动顺序
 表示优先硬盘启动,可选设备有:
hd,cdrom,network
使用xml创建虚拟机
持久
virsh define my-vm.xml
临时(虚拟机关机后配置消失)
virsh create my-vm.xml

5、 关于快照

A、创建快照
virsh snapshot-create-as --domain rhel6-navy --name 2014-02-28 --description "new vm"
B、查看快照
virsh snapshot-list rhel6-navy
C、查看快照配置
virsh snapshot-current rhel6-navy
D、回复快照位置
virsh snapshot-revert rhel6-navy 2014-02-28
E、删除快照
birsh snapshot-delete rhel6-navy 2014-02-28
F、获取帮助
virsh help snapshot

6、用virt-manager管理kvm宿主机

/etc/libvirt/libvirtd.conf添加如下配置:
listen_tcp = 1
tcp_port = "16509"
listen_addr = "0.0.0.0"
auth_tcp = "none"
listen_tls=0
echo 'LIBVIRTD_ARGS="--listen"' >>/etc/sysconfig/libvirtd
/etc/init.d/libvirtd restart 重启服务
上面这些配置只是为了让virt-manager可以通过tcp方式连接都kvm主机

KVM部署使用_第1张图片

 这个工具可以做一些简单的操作,比如关机、重启、迁移、克隆等等,如果需要更高级的功能,那可以去考虑一下openstack和cloudstack等等这些了