通过 libvirt和convirt来管理 KVM 虚拟机

首先稍微介绍下convirt,这是一个开源的虚拟机管理软件,有良好的操作界面,是基于web开发的,最近对convirt也研究了一段时间,它目前是可以支持xen和kvm的,它的安装过程从网上是挺好找的。与libvirt相比,convirt操作kvm的参数有点老了,有时候会影响到虚拟机的性能,个人推荐使用libvirt,libvirt目前几乎支持所有的虚拟化工具,他是一个封装好了的C库,支持Python。这里重点说一下libvirt操作kvm虚拟机,如果是在桌面版的Ubuntu上装libvirt,是可以安装界面版的libvirt的,这个用起来就比较简单了,这里说一下在服务器版的ubuntu上的操作。

先稍微说下convirt:

这个很简单,安装好,打开浏览器访问,会出现一个web界面,这网速太烂就先不传图片了,稍微描述一下:它主要管理两个部分,一个是  数据中心(Data Center)一个是模板管理(模板创建虚拟机的使用用),两个树节点,他是以右键菜单的形式操作,在 Data Center下添加 Server Pool,然后在Server Pool下添加服务器,添加服务器的时候会让你选择是 kvm的还是 xen的,添加好服务器以后就可以定制虚拟机了,添加完虚拟机就可以通过右键菜单来操作虚拟机了,还可以通过右边界面来看虚拟机的状态,最近工作比较忙,白天没时间写,如果有需要的话,我再详细写一下如何用convirt来管理虚拟机。

详细介绍一下libvirt的使用:

一、环境
role hostname ip OS
kvm_server target 192.168.32.40/24 rhel6.0_x64
vir_guest1 node4 192.168.32.34/24 rhel5.5_i386
vir_guest2 node5 192.168.32.35/24 rhel5.5_i386
manager manager 192.168.32.33/24 rhel5.5_i386
ESXi ESXi 192.168.2.251/24 ESXi 3.5
二、安裝kvm
[root@target ~]# yum install -y qemu-kvm.x86_64 qemu-kvm-tools.x86_64 #安装kvm内核
[root@target ~]# yum install libvirt.x86_64 libvirt-cim.x86_64 libvirt-client.x86_64 libvirt-java.noarch libvirt-python.x86_64 #安装virt管理工具
[root@target ~]# modprobe kvm #加载kvm内核
[root@target ~]# modprobe kvm-intel #intel cpu加载kvm-intel内核,要支持全虚拟化,必须开启;要求cpu支持,通过bios可设置。
[root@target ~]# modprobe kvm-amd #amd cpu加载kvm-intel

[root@target ~]# modprobe -ls | grep kvm #查看内核是否开启
kernel/arch/x86/kvm/kvm.ko
kernel/arch/x86/kvm/kvm-intel.ko
kernel/arch/x86/kvm/kvm-amd.ko
[root@target ~]# modprobe -ls | grep kvm-intel
kernel/arch/x86/kvm/kvm-intel.ko

三、安装guest虚拟机
1、直接通过virt-manager安装、管理虚拟机(略)

2、通过命令行安装guest虚拟机
[root@target ~]# yum install virt-viewer #开启图形控制台安装虚拟客户机需要,
[root@target ~]# virt-install \ #安装选项可用virt-install --help查看
--name node4 \ #虚拟机名
--ram=1024 \ #分配内存大小,MB
--arch=x86_64 \ #模拟的CPU 构架
--vcpus=1 \ #配置虚拟机的vcpu 数目
--check-cpu \ #检查确定vcpu是否超过物理 CPU数目,如果超过则发出警告。
--os-type=linux \ #要安装的操作系统类型,例如:'linux'、'unix'、'windows'
--os-variant=rhel5 \ #操作系统版本,如:'Fedora6', 'rhel5', 'solaris10', 'win2k'
--disk path=/virhost/node7.img,device=disk,bus=virtio,size=20,sparse=true \ #虚拟机所用磁盘或镜像文件,size大小G
--bridge=br0 \ #指定网络,采用透明网桥
--noautoconsole \ #不自动开启控制台
--pxe #网络安装

四、利用virsh对虚拟机管理
1、开关机
[root@target ~]# virsh start node4 #开机
[root@target ~]# virsh create /etc/libvirt/qemu/node4.xml #直接通过主机配置文档启动主机
[root@target ~]# virsh shutdown node4 #关机
[root@target ~]# virsh destroy node4 #强制关闭电源
[root@target ~]# virsh list --all #查看虚拟机状态
Id 名称 状态
----------------------------------
18 node4 running
- node5 关闭
- win8 关闭

2、添加删除虚拟机
[root@target ~]# virsh define /etc/libvirt/qemu/node5.xml #根据主机配置文档添加虚拟机
[root@target ~]# virsh list --all #node5已经添加
Id 名称 状态
----------------------------------
18 node4 running
- node5 关闭
- win8 关闭

[root@target ~]# virsh undefine node5 #移除虚拟机
[root@target ~]# ls /etc/libvirt/qemu
networks node4.xml win8.xml
[root@target ~]# virsh list --all #node5已经被移除
Id 名称 状态
----------------------------------
18 node4 running
- win8 关闭

3、远程管理虚拟机(qemu+ssh连接)
[root@target ~]# yum install virt-viewer
[root@target ~]# export DISPLAY=192.168.40.18:0.0
[root@target ~]# virt-viewer -c qemu///system node4 #本地管理虚拟机,system:获取system权限,注意qemu后是三个/
[root@manager ~]# virt-viewer -c qemu+ssh://[email protected]/system node4 #远程linux通过virt-viewer+ssh管理虚拟机
Xlib: extension "RANDR" missing on display "192.168.40.18:0.0".
[email protected]'s password:
[email protected]'s password:
#会弹出virt-viwer的gtk管理界面

相关推荐