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下需要做一些修改。
rhel5.5按如下步骤修改
1、安装python2.6.5
因为convirt用的是tg2的python框架,所以python的版本需要是2.5或2.6。
下载python2.6.5,然后在本地解压后,./configure;make;make install
2、更新本地yum
这一步我也不确定是否需要执行,但是执行了之后convirt 100%是能安装成功的,如果不执行,有部分人似乎也能安装,我没有测试过,我属于前者。
卸载原来的yum
# rpm -qa|grep yum|xargs rpm -e --nodeps
下载所需要的包
32位
# wget http://centos.ustc.edu.cn/centos/5/os/i386/CentOS/yum-metadata-parser-1.1.2-3.el5.centos.i386.rpm
# wget http://centos.ustc.edu.cn/centos/5/os/i386/CentOS/yum-fastestmirror-1.1.16-16.el5.centos.noarch.rpm
# wget http://centos.ustc.edu.cn/centos/5/os/i386/CentOS/yum-3.2.22-37.el5.centos.noarch.rpm
64位
# wget http://centos.ustc.edu.cn/centos/5/os/x86_64/CentOS/yum-metadata-parser-1.1.2-3.el5.centos.x86_64.rpm
# wget http://centos.ustc.edu.cn/centos/5/os/x86_64/CentOS/yum-fastestmirror-1.1.16-21.el5.centos.noarch.rpm
# wget http://centos.ustc.edu.cn/centos/5/os/x86_64/CentOS/yum-3.2.22-39.el5.centos.noarch.rpm
有时会有变动,只需要到 http://centos.ustc.edu.cn/centos/5/os下找到相应的包下载即可。
安装yum
# rpm -ivh *.rpm
更新源
cd /etc/yum.repos.d
#wget --no-cache http://docs.linuxtone.org/soft/lemp/CentOS-Base.repo
#wget --no-cache http://www.convirture.com/repos/definitions/rhel/5.x/convirt.repo
生成缓存
# yum makecache
至此你的yum就安装成功了。
下面我们安装convirt,官方建议使用个人用户安装,假设我使用convirt用户安装
切换到convirt用户
下载安装包:
#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(ubuntu需要执行,rhel不需要)
#yum install socat(rhel执行)
#tar -xzf convirt-install-2.0.1.tar.gz
切换到root用户,或者sudo执行
#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
安装ConVirt 2.0.1:
切换到convirt用户
#source convirt-install/install/cms/scripts/install_config
#tar -xzf ./convirt-2.0.1-chinese.tar.gz -C $CONVIRT_BASE
#vi convirt/src/convirt/web/convirt/development.ini
修改下面这行,将字符串'root:root'替换成你的数据库用户名和密码,然后保存。
sqlalchemy.url=mysql://root:root@localhost:3306/convirt?charset=utf8
#./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')
2、安装过程中报urllib2.URLError: <urlopen error unknown url type: https>
是因为编译安装python的时候没有将ssl模块编译进去
首先安装openssl
yum install openssl
yum install openssl-devel
修改Setup.dist
vim Setup.dist
修改
# Socket module helper for SSL support; you must comment out the other
# socket line above, and possibly edit the SSL variable:
#SSL=/usr/local/ssl
#_ssl _ssl.c \
# -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
# -L$(SSL)/lib -lssl -lcrypto
为
# Socket module helper for SSL support; you must comment out the other
# socket line above, and possibly edit the SSL variable:
SSL=/usr/local/ssl
_ssl _ssl.c \
-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
-L$(SSL)/lib -lssl -lcrypto
重新配置编译安装python
./configure;make;make install