安装Xen、创建Xen虚拟机、使用Xen虚拟机过程中经(3)

[root@gmnode14 vm01-CentOS-5.5]# virt-install -n vm01-CentOS-5.5 -r 1024 --vcpus=4 -f vm01-CentOS-5.5.img -s 20 --nographic -l nfs:10.10.113.14:/opt/CentOS/mirrors/5.5
ERROR 无法连接到 'localhost:8000': 拒绝连接
Traceback (most recent call last):
File "/usr/sbin/virt-install", line 861, in ?
main()
File "/usr/sbin/virt-install", line 636, in main
conn = cli.getConnection(options.connect)
File "/usr/lib/python2.4/site-packages/virtinst/cli.py", line 126, in getConnection
conn = libvirt.open(connect)
File "/usr/lib64/python2.4/site-packages/libvirt.py", line 159, in open
if ret is None:raise libvirtError('virConnectOpen() failed')
libvirtError: 无法连接到 'localhost:8000': 拒绝连接
----------------------------------------------------------------------------------------
############################################
解决:

修改 Xend 配置文件,然后,xend restart

[root@gmnode14 yum.repos.d]# vim /etc/xen/xend-config.sxp

(xend-http-server yes)
(xend-unix-server yes)

(xend-port 8000)

############################################

(5) virt-manager 安装Xen虚拟机连接网络时nat和桥接设备均为空,无法选择,安装不能继续

virt-manager创建虚拟系统选择网络连接时没有设备

############################################

分析原因:

出现此报错应该是主机的libvirtd服务没有启动,

而virt-install工具在进行客户机系统安装的时候错误地将客户机的网卡连接到libvirtd服务起的网桥virbr0上,此时libvirtd是关闭的,所以virbr0也不存在了,就出现了上面的错误信息。

解决方法:

启动libvirtd服务后重新运行 virt-manager 来安装客户机操作系统;

#/etc/init.d/libvirtd start
但是这也只能保证 nat 选项中有 default 选项,桥接仍不能选择设备,要彻底解决Xen虚拟机网络设备问题请参考问题(6)

############################################

(6) virt-manager 或者 virt-install 安装虚拟机系统过程中出现错误:

'libvirt.libvirtError virDomainCreateLinux() failed POST操作失败: (xend.err 'Device 0 (vif) could not be connected. Hotplug scripts not working.
---------------------------------------------------------------------------------------
Unable to complete install 'libvirt.libvirtError virDomainCreateLinux() failed POST操作失败: (xend.err 'Device 0 (vif) could not be connected. Hotplug scripts not working. ')
Traceback (most recent call last):
File "/usr/share/virt-manager/virtManager/create.py", line 611, in do_install
dom = guest.start_install(False, meter = meter)
File "/usr/lib/python2.4/site-packages/virtinst/Guest.py", line 813, in start_install
return self._do_install(consolecb, meter)
File "/usr/lib/python2.4/site-packages/virtinst/Guest.py", line 834, in _do_install
self.domain = self.conn.createLinux(install_xml, 0)
File "/usr/lib64/python2.4/site-packages/libvirt.py", line 573, in createLinux
if ret is None:raise libvirtError('virDomainCreateLinux() failed', conn=self)
libvirtError: virDomainCreateLinux() failed POST操作失败: (xend.err 'Device 0 (vif) could not be connected. Hotplug scripts not working.')
'---------------------------------------------------------------------------------------
############################################

原因分析:
从错误提示中可以查看到设备(vif) 不能连接,突然想到之前创建虚拟机时在网络连接设置时桥接方式不能选择,只能选择nat方式连接网络(见问题5),很可能和这个问题也有关系;


解决办法:

因为我使用的机器是好几年前的,系统是 Cent OS 5.2,不知道xen相关包有没有安装正常,于是使用 yum -y install xen* 重新安装了 xen 相关包,发现有几个包的确没有安装上 。安装完毕,重启系统后创建虚拟机,该问题不再出现。

如何使用 yum 安装xen相关软件包,请参见 CentOS 5.4下使用yum安装Xen 

2011-04-29 更新该问题 

后来我在另外一台机器上做实验室时一直提示该错误,就算重新安装了 xen,还是无法解决问题,后来终于从一个国外的网站上得到了提示,这个网站现在不记得了,忘记搜藏了。

网站上说,启动虚拟机桥接设备需要这样几个内核模块支持:netbk ,netloop,于是我使用 modprobe 命令手动加载了这两个模块,并且重新启动了 xend,这是生成了网桥设备 xenbr0,

我的测试和使用日志如下:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/18672.html