ConVirt是一个虚拟化管理平台,使用无代理模式工作。当需要管理的目标节点提供SSH登录方式时,ConVirt通过SSH登陆到计算节点,在计算节点上直接运行相对应的虚拟化管 理命令。当需要管理的目标节点提供HTTP/HTTPS/XML-RPC远程调用接口时,ConVirt插件通过目标节点所提供的远程调用接口实现对目标平台的管理,目前最新版本为2.0.1。ConVirt2.0是一款使用python和extjs结合编写的基于web的集中管理xen服务的程序。该程序在xen 社区项目,管理项目中被使用的量很高,ConVirt开发有开源版本与企业版本,企业版拥有服务支持,并增强了xen动态资源调整的功能。
ConVirt起源于2006年发起的XenMan项目,与Xen项目的发展基本同步。现任CEO和工程部门EVP均来自Oracle。
安装之前,最好确认防火墙开启了8081端口,并且关闭了机器的SELinux。
如果防火墙没有关闭,可运行以下命令开启8081端口
#iptables -I INPUT -p tcp --dport 8081 -j ACCEPT
一、 安装convirt管理节点(汉化版)
目前convirt管理节点在ubuntu10.04上已经成功安装,rhel5.5下似乎需要修改代码,可能原因是某些依赖的网站已经关闭或者网络不稳定造成,可以通过修改代码解决,这个在后期时间充裕的时候再寻找解决方案。
下载安装包:
#wget http://www.convirture.com/downloads/convirt/2.0.1/convirt-install-2.0.1.tar.gz
#wget http://www.qyjohn.net/ConVirt/convirt-2.0.1-chinese.tar.gz
安装依赖关系:
#sudo apt-get install libmysqlclient-dev
#tar -xzf convirt-install-2.0.1.tar.gz
#sudo ./convirt-install/install/cms/scripts/install_dependencies
修改MySQL配置,在/etc/mysql/my.cnf文件的[mysqld]部分添加如下内容:
innodb_buffer_pool_size=1G
innodb_additional_mem_pool_size=20M
重新启动MySQL:
#sudo /etc/init.d/mysql restart
#vi convirt/src/convirt/web/convirt/development.ini
修改下面这行,将字符串'root:root'替换成你的数据库用户名和密码,然后保存。
sqlalchemy.url=mysql://root:root@localhost:3306/convirt?charset=utf8
安装ConVirt 2.0.1:
source convirt-install/install/cms/scripts/install_config
tar -xzf ./convirt-2.0.1-chinese.tar.gz -C $CONVIRT_BASE
./convirt-install/install/cms/scripts/setup_tg2
修改convirt/src/convirt/web/convirt/convirt/websetup.py,将# -*- coding: utf-8 -*-这一行放到第一行,这个可能是汉化时的疏忽,一定要改哦。
./convirt-install/install/cms/scripts/setup_convirt
启动ConVirt服务:
cd ~/convirt
./convirt-ctl start
通过浏览器访问管理界面,缺省的用户名和密码都是admin。
http://ip-address:8081/
二、 安装convirt计算节点
计算节点安装前需要将cpu的虚拟化开启,在安装操作系统的时候,需要将Xen或Kvm之一提前安装。
下载convirt工具包
wget --no-cache http://www.convirture.com/downloads/convirture-tools/2.0.1/convirture-tools-2.0.1.tar.gz
在计算节点上解压文件:
tar -xzf convirture-tools-2.0.1.tar.gz
进入执行脚本目录:
cd ./convirture-tools/install/managed_server/scripts
查看帮助,运行:
./convirt-tool -h
安装依赖:
./convirt-tool install_dependencies
可以先查看执行安装会有什么效果,但是并不真正安装:
./convirt-tool -detect_only setup
真正的安装:
./convirt-tool setup
三、 离线安装convirt计算节点
计算节点离线安装在RHEL5.5下进行,其它操作系统略有不同,请酌情修改。
安装本地源
1.新建/yum文件夹,将光盘中的Server文件夹下的包全部拷贝到yum下
2.新建配置文件
#vi /etc/yum.repos.d/convirt.repo
[convirt]
name=ConVirt repository
baseurl=file:///yum
enabled=1
gpgcheck=0
将其它配置文件删除
3.修改vi /usr/lib/python2.4/site-packages/yum/yumRepo.py
找到remote = url + '/' + relative
修改为remote = url + '/yum' + relative
4.安装createrepo包
#rpm -qa|grep createrepo
如果没有安装,到关盘中找到createrepo-0.4.11-3.el5.noarch.rpm并安装
5.创建资源库:createrepo 本地源目录
#createrepo /yum
6.清空更新信息
#yum clean all
修改/root/convirture-tools/common/scripts/RedHat_functions
找到install_dependencies函数修改为
install_dependencies(){
$SUDO yum -y install dnsmasq tunctl tcp_wrappers socat expect pexpect
}
安装
#cd ./convirture-tools/install/managed_server/scripts
查看帮助,运行:
#./convirt-tool -h
安装依赖:
#./convirt-tool install_dependencies
可以先查看执行安装会有什么效果,但是并不真正安装:
#./convirt-tool -detect_only setup
真正的安装:
#./convirt-tool setup
四、 其它
1、 如果我们使用管理节点添加Xen的服务器,会报出“No module named xen.xend.XendClient”的错误,这是因为无法加载XendClient.py造成的。
在管理机执行如下操作:
#sudo find / -name XendClient.py
/usr/share/pyshared/xen/xend/XendClient.py
/usr/lib/python2.6/dist-packages/xen/xend/XendClient.py
#vi $HOME/convirt/src/convirt/web/convirt/convirt/core/platforms/xen/XenServerProxy.py
在开头添加如下两行
import sys
sys.path.append('/usr/lib/python2.6/dist-packages')