分类: 云计算
2011-10-12 22:15:14
先试下convirt1.1
convirt1.1安装
wget --no-cache
yum install convirt
完成后直接执行convirt,需要在有图形的情况下打开
----------------------------------------------------------------------------
convirt2.0.1安装
解压源码包后,执行
/root/convirt/install/cms/scripts/下的install_dependencies、setup_tg2、setup_convirt三个脚本,完成后通过打开,用户名密码是admin:admin
加入服务器
在物理机上执行
./convirt-tool install_dependencies
./convirt-tool --detect_only setup
然后登到系统里添加到组中,如果碰到不能添加到组中的问题,可以试下参数 –all
现在创建一个模析,进行远程安装,当然需要配置pxe + dhcp + yum 环境,需要把vmlinuz、initrd.img两文件放到系统所在的某个目录下
部署模板,完成
附
需要注意的问题是:
问题1、需要有外网网络支持,会有很多的依赖包需要下载安装
在安装的过程中经常会报错误“AttributeError: 'NoneType' object has no attribute 'clone'”,是因为网络比较慢,经常会下载中断,导致后续脚本没有目标。
问题2、convirt2.0版本安装后会有字符集的问题,
曾经试过安装成功,输入用户名密码admin:admin后验证失败的。
问题3、物理机无法添加到系统中
对于xen 3.4版本, convirt-tool工具中没有支持的脚本,执行时出现错误“Hunk #1 FAILED at 95.”,可以用以下链接中的办法处理,
4. edited ~/convirture-tools/common/scripts/RedHat_functions to comment out the get_xen_userspace function [lines 30..36]
5. cd convirture-tools/install/managed_server/scripts
6. cp -r xen-3.3 xen-3.4
7. change all instances of 3.3 to 3.4 in xen-3.4 files, had to change 3 lines in xen-3.4/configure-xend.sh
8. ./convirt-tool install_dependencies
9. ./convirt-tool setup
客户端可以初始化成功,测试环境还是不能加到系统,待查。
问题4、安装后重启,因为有ksstart参数的原因,发现虚拟机又进入重新安装的过程,修改虚拟机的配件文件也不能解决
解决方案:
问题5、通过convirt系统安装的系统,在关机状态下不能通过virsh start命令启动(在xen 3.1.2版本中,xm start也不能启动处于关机状态下的虚拟机,原因待查)
解决方案:经过测试,把convirt系统安装的镜像文件拷贝成以.img为结尾的文件,经virsh define命令加到域中后,已经可以通过virsh start进行启动,由此猜想,virsh 不能识别以.xm为结尾的镜像。把相应的文件改过来即可。
问题6、不是通过convirt系统安装的虚拟机,在系统里面可以被识别到,但是不能管理
分析:经过问题2的处理,发现复制后经virsh start启动的虚拟机又不能让convirt系统识别,问题2已经说明虚拟机是一样的,那么问题应该还是在文件的后缀上面。
问题7、convirt系统支持vnc,但有些模板默认是未打开vnc的,如果需要vnc,要手工打开。
解决方案:在数据库中修改images表的vm_config字段,字串中加上vnc = 1,以后以此模板部署的虚拟机都支持vnc了。
问题8、关于模块的创建
解决方案:以现有的模板为基础,创建一个新的模板,如果有什么内容需要修改,在数据库中修改images表的images_config字段,修改相应内容,并保存。
备注:convirt是基于TurboGears2框架的应用程序,最早起作用的是controllers.py模块的Root类,convirt的程序入口是在root.py中的index函数里,指定打开默认的链接是
参见样例
class Root(controllers.RootController):
"""The root controller of the application."""
@expose('tgcommerce.templates.welcome')
def index(self):
"""Show the welcome page."""
# log.debug("Happy TurboGears Controller Responding For Duty")
flash(_(u"Your application is now running"))
return dict(now=datetime.datetime.now())