本文目录
ConVirt 是一个直观的、图形化的虚拟机管理工具,可以对虚拟机的整个生命周期进行管理。
本文主要以管理KVM虚拟机为例,话不多说,先上几张部署完成后的效果图:
下面我们就根据官方文档的步骤来搭建这个平台。
背景
为了能够更好地管理KVM(Xen)虚拟化平台、直观迅速地了解虚拟资源池的使用情况。
Convirt是一个对虚拟机集中式管理的数据中心,从安装虚拟机到监控虚拟机有一个全方位的管理功能。
环境
物理宿主机1:172.16.57.23
物理宿主机2:172.16.57.24
物理虚拟机3:172.16.57.25 (系统均为centos6.7,在官方文档中这些机器称为Managed Servers,下面简称为MS)
Convirt管理服务器:172.16.57.23(官方文档称之为ConVirt Management Server,下面简称为CMS)
Convirt版本为2.5
整个安装的过程主要是两大过程,安装CMS,然后在MS上安装插件,CMS把获取MS上的虚拟机的信息记录到数据库中,并通web界面显示出来。
CMS部署
备注:由于之前安装过一遍,所以安装之前这里有个提示:在安装过程中,CMS的机器会yum来安装mysql,所以尽量选一台之前没有安装过mysql的机器来充当CMS的角色,以免发生冲突。
下载相关软件包
下载yum源
- cd /etc/yum.repos.d - wget --no-cache http://www.convirture.com/repos/definitions/rhel/6.x/convirt.repo
安装socat
- yum install socat
安装convirt相关软件包
- wget --no-cache http://www.convirture.com/downloads/convirt/2.5/convirt-install-2.5.tar.gz - wget --no-cache http://www.convirture.com/downloads/convirt/2.5/convirt-2.5.tar.gz - wget --no-cache http://www.convirture.com/downloads/convirture-tools/2.5/convirture-tools-2.5.tar.gz
安装与配置
解压此安装包
- tar -xzf convirt-install-2.5.tar.gz
解压此安装包
- vim convirt-install/install/cms/common/functions 将下面这一行 $SUDO easy_install virtualenv 替换为$SUDO easy_install virtualenv==1.11.6
执行脚本,安装依赖关系,安装过程中会yum安装mysql,也会让你确认初始账户、密码和一些相应的安全操作,可以根据提示来设置
- cd convirt-install/install/cms/scripts/ - ./install_dependencies
添加mysql的一些配置
- vim /etc/my.cnf,在mysqld中添加 innodb_buffer_pool_size=1G innodb_additional_mem_pool_size=20M 重启mysql服务 - /etc/init.d/mysqld restart
修改convirt安装目录
- vim install/cms/scripts/install_config file. 原配置:CONVIRT_BASE=~ 修改后如:CONVIRT_BASE=~/cms 那么convirt会安装在~/cms/convirt下,这个可以自己定义
解压convirt-2.5到指定的安装目录
- source convirt-install/install/cms/scripts/install_config - tar -xzf ./convirt-2.5.tar.gz -C $CONVIRT_BASE
安装TurboGears环境
- ./convirt-install/install/cms/scripts/setup_tg2
指定配置文件中数据库的类型账号密码等
- vim src/convirt/web/convirt/development.ini 官方的例子是下面这个,很简单,把账户密码按照正确的格式写即可: For example in the following url, username = root, password = convirt, server=localhost, database port = 3306 and database name is convirt (the one before '?' in the url) sqlalchemy.url=mysql://root:convirt@localhost:3306/convirt?charset=utf8 执行安装操作 - ./convirt-install/install/cms/scripts/setup_convirt
如果以上步骤到完成了,那么离CMS安装大功告成就不远了,下面我们就来启动和验证一下:
- cd $CONVIRT_BASE/convirt ./convirt-ctl start (./convirt-ctl stop相应的关闭操作)
打开浏览器访问http://ip-address:8081/
默认的账户密码均为admin。查看是否可以访问到如下界面,当然你目前还没有我现在的这些MS监控数据,因为还没配置MS被监控端。下面进行MS端配置。
MS部署
备注:部署之前,同样有一个提醒:需要提前做好CMS端无密码登录到MS端,而且必须是root@MS-IP。
安装与配置
还记得刚刚在CMS端下载的那个convirture-tools包吗,把它拷贝到MS机器上
- scp convirture-tools-2.5.tar.gz root@managed-server:/目标目录
解压
- tar -xzf convirture-tools-2.1.1.tar.gz
执行setup脚本
- # cd convirture-tools/install/managed_server/scripts 启动之前,可以看下脚本的帮助: - ./convirt-tool -h 如果不要做任何设置和改变的话就执行吧: - ./convirt-tool --detect_only setup 安装依赖关系 - ./convirt-tool install_dependencies
在CMS添加MS以及导入KVM虚拟机
步骤一:右击添加server 。我在做好了ssh-key认证的情况下,死活没有添加成功,后来google得到了解决。原因是最近的paramiko库有一些变动,我们要手动地修改一个文件的调用函数,参考地址如下:http://www.convirture.com/forums/viewtopic.php?f=36&t=6255
步骤二:选择虚拟化平台类型,kvm or xen
步骤三:输入ip和root密码即可添加成功
- 导入MS的KVM虚拟机
在本案例中,KVM虚拟机已经在MS端创建了,我们需要做的是导入文件,使其能够监控到,当然在构建完这个平台之后,完全可以在这个平台上进行管理虚拟机。
步骤一:修改KVM虚拟机的配置文件
原本的KVM虚拟机的配置文件为xml格式,需要转换为cfg给文件,才能支持,所以我们需要下载一个脚本工具来转换一下,下载地址:http://download.csdn.net/detail/csdn_yumi/9494305
解压后,执行./batch_convert.sh /etc/libvirt/qemu(xml文件存放目录),它会把文件夹下所有的xml文件转化,转化后把cfg文件放回/etc/libvirt/qemu下
步骤二:修改cfg文件
转化完后,还有一些小地方需要修改:
原本的磁盘格式:
disk=[‘qemu:raw:/var/lib/libvirt/images/Dev_02.img,hda,w’, ‘qemu:raw:None,hdc:cdrom,r’]
修改后的:
disk=[‘file:/var/lib/libvirt/images/Dev_02.img,/dev/hda,w’]
drive=[‘file=/var/lib/libvirt/image/Dev_02.img,if=virtio,format=raw,index=0,boot=on’]
改称这样之后,就可以添加了。
步骤三:导入cfg配置文件:
步骤四:在配置文件的目录添加相应虚拟机的cfg就ok了。
结语:convirt管理平台很强大,大家可以按照官方文档了解更多的功能,比如利用VNC可视化管理虚拟机等等
参考网址:
http://www.convirture.com/wiki/index.php?title=C2_fedora_installation
http://www.convirture.com/wiki/index.php?title=Convirt2_Installation#Firewall_setup_for_VNC