Xen是个不错的虚拟化软件,有些时候服务器由于必须使用到微软那套.net框架的程序,就需要开设Windows主机,对比了多种开源虚拟化软件之后,我选择Xen,拥有较好的性能和灵活的配置、以及完全虚拟化方案的实现。
Xen老版本对Windows的支持不是很好,需要对Xen进行升级,版本从3.0.3 升级到 3.4.3,相应的virt-manager版本也会被升级到0.7.0。不过这个virt-manager版本似乎有一些问题,例如:local install media(ISO。。。)这个选项是灰色的,只有一个网络安装选项network install tree可以选择。需要升级版本。
源码安装官方有文档,这里不阐述了,由于xen和xen内核都是用rpm安装的,所以这里也用rpm打包一个出来,方便使用些。
首先到红帽FTP站找最新的源码包.src.rpm 地址:http://ftp.redhat.com/pub/redhat/linux/enterprise/6Server/en/os/SRPMS/ ,由于virt-manager最新版本0.8.6 需要相应python-virtinst版本大于0.500.3,所以这里也要进行打包。
# wget http://ftp.redhat.com/pub/redhat/linux/enterprise/6Server/en/os/SRPMS/virt-manager-0.8.6-4.el6.src.rpm
# wget http://ftp.redhat.com/pub/redhat/linux/enterprise/6Server/en/os/SRPMS/python-virtinst-0.500.5-3.el6.src.rpm
# rpm -ivh virt-manager-0.8.6-4.el6.src.rpm
# rpm -ivh python-virtinst-0.500.5-3.el6.src.rpm
build 源码包得到二进制安装包
# cd /usr/src/redhat/SPECS/
# rpmbuild -bb python-virtinst.spec
# rpmbuild -bb virt-manager.spec
OK,打包完毕,然后安装新的rpm包...
# cd/usr/src/redhat/RPMS/noarch
# rpm -ivh python-virtinst-0.500.5-3.noarch.rpm --force
Preparing... ########################################### [100%]
1:python-virtinst ########################################### [100%]
# rpm -ivh virt-manager-0.8.6-4.noarch.rpm --force
Preparing... ########################################### [100%]
1:virt-manager ########################################### [100%]
这么打包出来安装的会遇到问题,例如下面的出错信息:
Error starting Virtual Machine Manager: 'gtk.CheckMenuItem' object has no attribute 'get_label'
Traceback (most recent call last):
File "src/virt-manager.py", line 456, in ?
main()
File "src/virt-manager.py", line 443, in main
options.no_conn_auto)
File "src/virt-manager.py", line 257, in show_engine
engine.show_manager()
File "/root/Desktop/src/virt-manager/src/virtManager/engine.py", line 749, in show_manager
self._do_show_manager(None)
File "/root/Desktop/src/virt-manager/src/virtManager/engine.py", line 688, in _do_show_manager
self.get_manager().show()
File "/root/Desktop/src/virt-manager/src/virtManager/engine.py", line 654, in get_manager
obj = vmmManager(self)
File "/root/Desktop/src/virt-manager/src/virtManager/manager.py", line 190, in __init__
self.enable_polling(None, None, init_val, typ)
File "/root/Desktop/src/virt-manager/src/virtManager/manager.py", line 1065, in enable_polling
current_text = widget.get_label().strip(disabled_text)
AttributeError: 'gtk.CheckMenuItem' object has no attribute 'get_label'
不过这个问题已经被修复了。http://comments.gmane.org/gmane.comp.emulators.virt-tools/1006
按照Cole的方法(链接:http://hg.fedorahosted.org/hg/virt-manager/rev/7b6f5d8bed5d),我们进行修改。
# cd /usr/src/redhat/SOURCES/
# tar -zxf virt-manager-0.8.6.tar.gz
# cd virt-manager-0.8.6/src/virtManager/
需要修改两个文件,manager.py 和 details.py,修改完毕之后,重新打包。
# cd /usr/src/redhat/SOURCES/
# rm -f virt-manager-0.8.6.tar.gz ;tar -zcf virt-manager-0.8.6.tar.gz virt-manager-0.8.6
# cd ../SPECS/
# rpmbuild -bb python-virtinst.spec
# rpmbuild -bb virt-manager.spec
打包结束后再重新安装一遍安装包就可以了。正常运行后如下图:
最后,放出我打包好的适合CentOS 5系列的Virt-manager 0.8.6 rpm安装包下载地址。
http://icodex.org/dl/rpms/python-virtinst-0.500.5-3.noarch.rpm
http://icodex.org/dl/rpms/virt-manager-0.8.6-4.noarch.rpm
最后,谢谢浏览本文。

2 comments
Add comment