一、环境
系统版本: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里的启动顺序 <boot dev='hd'/> 表示优先硬盘启动,可选设备有: 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主机
这个工具可以做一些简单的操作,比如关机、重启、迁移、克隆等等,如果需要更高级的功能,那可以去考虑一下openstack和cloudstack等等这些了
本文出自 “�潘吭宋�男” 博客,谢绝转载!