
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
