KVM部署使用

一、环境


系统版本: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)

1

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)


/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

虚拟机开机自启动

/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主机











本文转自 chengxuyonghu 51CTO博客,原文链接:http://blog.51cto.com/6226001001/1579318,如需转载请自行联系原作者
上一篇:看一看大数据如何改变我们的城市和生活


下一篇:linux 搭建 vsftpd