找回密码
 注册
查看: 529|回复: 0

安装Xen、创建Xen虚拟机、使用Xen虚拟机过程中经常出现的错误总结

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2023-3-13 15:15:44 | 显示全部楼层 |阅读模式
(1) 启动 Xend 时出现错误 ImportError: /usr /lib/python/xen/lowlevel/acm.so: undefined symbol: Py_InitModule4 5 ?0 D9 D& r8 u( g$ ]
(2) 使用 virt-install 创建Xen虚拟机时出现错误:ERROR virDomainCreateLinux() failed XML描述 domain 不是良好的格式或者无效
6 y' t) H9 O2 }(3) virt-manager 中连接虚拟机管理者Dom 0时出现错误:虚拟机管理者连接失败 libvirtError: virConnectOpenReadOnly() failed
5 r0 Y7 e7 Q" s1 P5 p(4) virt-install 安装虚拟机是出现错误:ERROR    无法连接到 'localhost:8000': 拒绝连接
" y! n$ A! e4 e( [! |(5) virt-manager 安装Xen虚拟机连接网络时nat和桥接设备均为空,无法选择,安装不能继续- n7 F: t1 w$ I3 F5 w! m" o. N$ `
(6) virt-manager 或者 virt-install 安装虚拟机系统过程中出现错误:7 Y' a0 m1 w+ u0 R5 m1 }5 \  g5 L# f
'libvirt.libvirtError virDomainCreateLinux() failed POST操作失败: (xend.err 'Device 0 (vif) could not be connected. Hotplug scripts not working.8 b% ^. @) i! H" s" e
$ H( ?2 _, N. p& n( j
(7)半虚拟化安装,选择nat上网方式、IP配置使用 DHCP 方式时,虚拟机系统安装过程卡在 TCP/IP 配置界面,停滞不前
- L9 ]) e( X& q" d* r  D% ~" c6 ?( R, i' s

7 U9 N, E( Z' \- h( |! A+ ?( s0 A5 C5 U) i

9 {, P: c. n. `( X+ q" T$ O  Z* S0 U8 o. D" B! h
错误总结1 W/ z. N1 a  K2 |9 ]5 k" i! v
4 b6 j- k- ~# j1 u$ C
使用 CentOS 5.2 默认安装的 Xen,启动 Xend 时出现如下错误:
. n; S+ [/ d) ]7 q" N1 v(1)  启动 Xend 时出现错误 ImportError: /usr /lib/python/xen/lowlevel/acm.so: undefined symbol: Py_InitModule4 6 q; ^& z6 p/ O
--------------------------------------------------------------------------------------. [2 f# {( h  C3 o
[root@glnode04 ~]# xend! m$ W* M8 s' y+ @
Traceback (most recent call last):
* g" O- q4 G7 d. R  File "/usr/sbin/xend", line 51, in <module>+ s  [3 H6 M. ?
    from xen.xend.server import SrvDaemon2 C2 u3 s# ^. f
  File "/usr/lib64/python/xen/xend/server/SrvDaemon.py", line 20, in <module>8 t* D8 O( T( k( v: Z
    import xen.lowlevel.xc
, c3 v# ]2 q4 R9 o% s$ Y/ jImportError: /usr/lib64/python/xen/lowlevel/xc.so: undefined symbol: Py_InitModule4
8 @5 d3 c4 R2 N% w3 T[root@glnode04 ~]# xm list
* q8 H3 r$ J( V, Y) [Traceback (most recent call last):
5 ~8 j+ W/ z5 ~! a8 {! \  File "/usr/sbin/xm", line 8, in <module>* o) G* q; `+ g. t: Q- W4 ~! n& w
    from xen.xm import main2 |& a/ j* M" ~3 N) |( P9 G; T
  File "/usr/lib/python/xen/xm/main.py", line 45, in <module>1 i% N+ ]$ f' A$ |# r' ~/ h$ c0 F
    from xen.util import security
7 `$ x9 c  l4 h6 n" c  N  File "/usr/lib/python/xen/util/security.py", line 25, in <module>
% Z( g" F. l) c+ u6 x" I& O, P    from xen.lowlevel import acm
( B, E1 G1 V. o/ mImportError: /usr/lib/python/xen/lowlevel/acm.so: undefined symbol: Py_InitModule4 . C9 m; \; ]9 `% O/ t( j
----------------------------------------------------------------------------------------* B$ R% T& x2 q/ k5 u6 d" l
############################################2 \2 l% b0 {5 c: N9 M
, g7 ?4 G+ U( H# V
原因分析和解决办法:
/ w3 l+ J! v2 z5 z/ H, }  s; V直觉是 python import 时出现的错误,查看文件/usr/sbin/xend,第51行是“from xen.xend.server import SrvDaemon”,就是这行出错。' w( ]5 Y1 f3 n* \
查看 python 版本( I; O. m' r5 S1 ^( |; F
[root@glnode04 ~]# python -V) b" J5 u' x% ]
Python 2.5( L  [$ R( C% n
查看 python 安装路径- K  J% ~9 t1 h1 A
[root@glnode04 ~]# which python
: L* s1 Q* k4 v/usr/local/bin/python
% {3 Z! m2 ~. G4 y查看系统安装的 python 的rpm包版本' p4 n& k+ @. n, I7 _
[root@glnode04 ~]# rpm -q python2 ]# F7 v7 ?) _; {0 c1 K1 f
python-2.4.3-21.el5  从这可以看出 python 版本和 rpm 包所示的版本不一致,这个 rpm 包是 CentOS 5.2 自带的.
6 k2 J9 p) Q6 K7 `7 U* A5 R+ e. J; @8 Y. }8 b
系统是CentOS 5.2, 我们发现使用的不是CentOS 5.2 默认安装的 python,默认安装的是 Python 2.4.3,CentOS 5.2 默认将python安装在/usr/bin下。  
. q( I- Z; Q$ k- a; P6 z) p# v8 J[root@glnode04 ~]# /usr/bin/python -V
$ W' F7 v+ S, nPython 2.4.38 O* t3 w. V7 @* b  q$ R7 N( e
由此可以想到可能是环境变量 PATH 的设置导致我们在命令行执行 python 时使用的是 /usr/local/bin/python,可能是 PATH 的值中 /usr/local/bin 在 /usr/bin 之前; , m# T6 G$ p* g: Y! |7 z. d
检查 ~/.bashrc 发现的确如此,环境变量 PATH 设置是 export PATH=/usr/local/bin:$PATH,将其修改为
, @+ m1 j8 M4 }/ ~6 f+ T* Yexport PATH=$PATH:/usr/local/bin,然后 source ~/.bashrc,或者退出 shell,重新开启一个 shell,
- |7 o# \0 c6 E; y/ e. P测试 python ,发现使用的是默认版本。
! {5 s2 O$ K7 }" {0 n3 r; z9 l# k[root@glnode04 ~]# python -V$ h+ g; \! T2 Q3 f7 F: c$ p6 Y
Python 2.4.3% s' m2 G7 K3 K$ v# Y5 w

9 B" W- k# H: H( b+ i启动 Xend ,正常,没有问题。9 j/ z" k7 t/ b6 G/ c: x+ E+ A
[root@glnode04 ~]# xm list
% a7 l) C4 y! i/ UError: Unable to connect to xend: No such file or directory. Is xend running?
, w0 I8 O+ s: p0 x, [+ T, K[root@glnode04 ~]# xend/ g1 q  d$ ~+ p3 j, G& ^
usage: /usr/sbin/xend {start|stop|restart}1 Z( b# d2 }, n; E0 ^& c( ~
[root@glnode04 ~]# xend start: @6 Y' d9 s1 D
[root@glnode04 ~]# xm list
7 Z# u1 x0 l+ yName                                      ID Mem(MiB) VCPUs State   Time(s)
+ n! P6 M8 S. w5 v8 t1 EDomain-0                                   0     7931     8 r-----    463.9: x( v: S/ M7 C: O7 b
2 _4 m. w7 ]% I$ a6 e! |
分析原因,是因为 Xen 是python写的,执行 Xen 相关工具时需要调用 python 相关库,如果版本对应不一致,或者库路径不一致,则会出错。
5 `, @" k* m& h3 l  |; ~/ ]9 l: A( H9 h- o! x
############################################: R1 Y/ g5 [+ I8 O( \$ G

  r: o+ b7 S/ g2 C; R
9 v+ a" F( p4 P+ C" b
7 h) a5 l0 B  o3 C7 ](2) 使用 virt-install 创建Xen虚拟机时出现错误: ERROR virDomainCreateLinux() failed XML描述 domain 不是良好的格式或者无效" f. n9 s; `5 F' i* C

) u6 V& h5 W" E% S: J----------------------------------------------------------------------------------------
7 F) c' k0 t5 w6 u  v1 C6 u* \; ^" b8 u1 T" _
[root@glnode04 vm02-CentOS-5.5]# virt-install -n vm01-CentOS-5.5 -r 1024 --vcpus=4 -f vm01-CentOS-5.5.img -s 20 --nographic -l http://10.10.113.14:8888/mirrors/CentOS/5.5/
. \# K" w5 A8 X) ^: S# h! s- n, m+ y  H
) y  I2 U3 g$ {$ F$ r8 kWould you like a fully virtualized guest (yes or no)?  This will allow you to run unmodified operating systems.no
5 D+ Y; j3 \$ g) u- S) c9 S
7 U+ T3 _# u5 J0 v  C" yStarting install...
8 x8 c6 S9 f" L, pRetrieving file .treeinfo 100% |=========================|  417 B    00:00     
+ S/ l# e& O, Y" ~0 U8 oRetrieving file vmlinuz.. 100% |=========================| 2.0 MB    00:00     
4 c* C0 y  Y: a1 D5 TRetrieving file initrd.im 100% |=========================| 7.7 MB    00:00     
# v: D* ?) Z$ b; B* M$ P7 r7 MvirDomainCreateLinux() failed XML描述 domain 不是良好的格式或者无效
) Z7 B( J6 I6 w) f- Q+ EDomain installation may not have been
2 Q' L- x1 }/ P successful.  If it was, you can restart your domain: S) ?+ p, c  `
by running 'virsh start vm02-CentOS-5.5'; otherwise, please% |  X1 k7 V' r5 ~! p) Q, j
restart your installation.
1 x# d( I; _- V* k0 R+ I, Q0 m三, 20  4月 2011 19:21:08 ERROR    virDomainCreateLinux() failed XML描述 domain 不是良好的格式或者无效/ j( h) b' \/ f6 z6 q5 U! c% e
Traceback (most recent call last):
5 n; V; l, E, l& N/ h7 o, C  File "/usr/bin/virt-install", line 502, in ?
+ {% Z% N! w; a, h/ `0 q    main()
+ G, X* r# o$ ^  o  z  File "/usr/bin/virt-install", line 462, in main7 j+ Z# I) Y5 ?" I4 X
    dom = guest.start_install(conscb,progresscb)% u: g) \4 _5 N) P3 W& C
  File "/usr/lib/python2.4/site-packages/virtinst/Guest.py", line 813, in start_install
" P2 A! x! Z1 K; e# v    return self._do_install(consolecb, meter)" N+ s5 y; a8 I: {
  File "/usr/lib/python2.4/site-packages/virtinst/Guest.py", line 834, in _do_install7 }' A3 e  z# k* {1 V
    self.domain = self.conn.createLinux(install_xml, 0): V# l- z% f* K
  File "/usr/lib64/python2.4/site-packages/libvirt.py", line 573, in createLinux
4 q- B1 S0 _; s9 h  ~) p    if ret is None:raise libvirtError('virDomainCreateLinux() failed', conn=self)
) h- @0 I5 ~" `0 g; {$ I6 y1 V  d9 j8 LlibvirtError: virDomainCreateLinux() failed XML描述 domain 不是良好的格式或者无效 3 v+ V( d- a4 \4 D3 k
----------------------------------------------------------------------------------------* z" A% D! E0 y7 a
############################################
* G0 M, J# a- j' g2 e解决办法:
5 T# n8 Y( N: o% Q, C" y! U7 E8 g" A1 x: @$ b8 G
安装前先启动 libvirtd 服务。
: B7 r  L* o3 c9 X) ]9 r0 [% J4 `0 B0 r7 {* ^7 K
[root@glnode04 vm02-CentOS-5.5]# /etc/init.d/libvirtd status
; m# r$ b! j  rlibvirtd is stopped
- H5 {$ }! z. I$ v* s6 F: Y[root@glnode04 vm02-CentOS-5.5]# /etc/init.d/libvirtd start1 ]+ Q" x. s3 ?) v! `% Z; y
Starting libvirtd daemon:                                  [  OK  ]
, ^% I2 j/ c3 \. i4 n/ }: u
  p  o$ D, O) L; y! `
$ h( W7 [' x# D! G$ \; k9 j
3 i0 ^2 I; j& O# A原因分析:
, Z1 L( `6 y0 m' ^出现此报错应该是主机的libvirtd服务没有启动,而virt-install工具在进行客户机系统安装的时候错误地将客户机的网卡连接到libvirtd服务起的网桥virbr0上,此时libvirtd是关闭的,所以virbr0也不存在了,就出现了上面的错误信息。* b5 k) k) s: s- f6 S# T4 R
解决方法有两个:
& d, v6 _  Z/ ]" `(i)启动libvirtd服务后重新用原来的virt-install命令安装客户机操作系统;! f# q# W( F5 H  ^# M
#/etc/init.d/libvirtd start
: B/ l+ H, e5 @0 z2 z
( D" x1 S) |: D/ c0 }: e' R(ii)、在原来的virt-install命令后面加-b参数指定需要连接的网桥,如果未调整网络,一般默认的网桥应该为xenbr0
1 `4 P' \" U8 n: i) S5 V要查看网桥的名称可以使用brctl命令查看. Z: i+ e3 ~& M! e" N
9 e1 Z& P1 _) Q0 @; X2 _. E/ J8 C
[root@glnode04 vm02-CentOS-5.5]# /etc/init.d/libvirtd status- P3 v* a. A1 V' {5 Z
libvirtd is stopped
( ?3 o! ~( M  Y6 w1 n1 ~[root@glnode04 vm02-CentOS-5.5]# brctl show  # libvirtd是关闭时网桥virbr0也不存在+ B# z3 S& G0 E& i
bridge name    bridge id        STP enabled    interfaces
! z% j# @; J9 t( d5 N2 F- m[root@glnode04 vm02-CentOS-5.5]# /etc/init.d/libvirtd start
. V7 V# C! C  ~" [Starting libvirtd daemon:                                  [  OK  ]
8 G& [8 C; \3 p. m* J[root@glnode04 vm02-CentOS-5.5]# /etc/init.d/libvirtd status0 F1 p4 k4 h" g
libvirtd (pid 20863) is running.../ R- x0 M- ]" {  M
[root@glnode04 vm02-CentOS-5.5]# brctl show
# x# m! o" a3 k6 N! r1 Abridge name    bridge id        STP enabled    interfaces
4 }* m/ ~7 l6 R  ^7 Qvirbr0        8000.000000000000    yes   
) f' ^* T- _% Z; K) @3 c  j& j: f# R. Z# l( i6 h: f% E1 s
此处我们已经关闭了libvirtd服务,剩下的网桥的名称为xenbr0(如果创建了多个网桥,选择自己需要的网桥名称)
8 ^2 x2 `" q+ a7 T2 H8 a! W: [#virt-install -n kiro-test -r 256 --vcpus=1 -f /data/rh5 --nographics -p -d -l "http://192.168.0.1" -b xenbr05 y5 I7 d( ]4 s+ a7 ]

( w+ {+ d* |2 `& Y/ b' y7 c4 {参考:   XEN故障与解决方法汇总  J9 X2 U/ \6 T, a# Q4 A3 s

4 A) v: v5 D) n: o1 |7 r! h- O$ M& I2 k
############################################' Y3 G4 K' d3 p2 k* P3 w
3 W; ]0 L- q, n: d
5 u, h4 ]8 }5 d; A% k. |

  V, W$ {4 N4 X! v0 }  T(3) virt-manager 中连接虚拟机管理者Dom 0时出现错误:虚拟机管理者连接失败 libvirtError: virConnectOpenReadOnly() failed
& i& m" Q- U- ?: d" C; `+ a
4 s1 ^5 ^9 ^/ E$ b9 `4 ^( t----------------------------------------------------------------------------------------
6 I3 U0 a$ f# KUnable to open connection to hypervisor URI 'xen:///':6 a3 h  B( o( S' x1 V2 \$ K
libvirt.libvirtError virConnectOpenReadOnly() failed
. T6 t2 L/ O; O1 f3 ZTraceback (most recent call last):4 E8 A6 u- N+ o# T, q" q& E( y
  File "/usr/share/virt-manager/virtManager/connection.py", line 307, in _open_thread
( b3 `9 Y; ?, X% h1 T8 x' y    self.vmm = libvirt.openReadOnly(self.uri)8 G2 l- y/ [( e1 e
  File "/usr/lib64/python2.4/site-packages/libvirt.py", line 132, in openReadOnly
, K: m3 V4 ~4 q    if ret is None:raise libvirtError('virConnectOpenReadOnly() failed')+ s9 k% t2 X% A5 e& J
libvirtError: virConnectOpenReadOnly() failed$ `5 T# [' C! ~8 X4 F' P

( f, e' g! ~/ F( P" i1 M& n$ a0 P7 |& r

$ Z# c& |% {! }; E; H1 {7 V
) u+ u8 `1 D* v) R8 C9 E  h# y/ R5 p- o+ e; C9 O
----------------------------------------------------------------------------------------
) n# r2 I) J5 Q2 v) ]4 N- B4 [: W3 ~) B
############################################- I3 D3 S+ P) o- t# O4 _
解决:- C( ?5 P0 u( L9 K6 k" R. c
# t# y: ^6 f+ l- ?! @8 R
修改 xen 配置文件,按如下方式修改:& [: l* X+ z/ C* f! O* L9 S# a4 f
[root@glnode04 ~]# vim /etc/xen/xend-config.sxp0 y( p2 ?! c2 E

# o' K; |, C- L. Q/ e3 f% T* p. B(xend-http-server yes)3 j4 D3 A1 k0 c" A
(xend-unix-server yes)
- y2 ]8 k; I% M+ q! h  Y. d8 ^" l! S2 R( V+ Y! K* q4 S
重新启动 Xend 服务
7 ]" R9 u2 x2 M" I# x7 e& Z
# O7 q0 T1 Y, j[root@glnode04 ~]# xend restart3 D3 C% {. c4 \4 f" t0 {: V
############################################
  Z. T7 W5 a# }- p0 r: I" W  q# B; _
# f3 ?% s( a. U0 r( j4 u8 n+ V& D1 Y9 Y. i* ^0 S

5 i" G7 S$ b5 R' l6 N3 B% `( k6 T(4) virt-install 安装虚拟机是出现错误:ERROR    无法连接到 'localhost:8000': 拒绝连接
6 f. a/ f1 B& w3 G& M/ d/ l( P6 d3 A1 h3 _
----------------------------------------------------------------------------------------
8 G) F; R2 w) G& \1 o2 B2 u# w/ Q1 z; J, [4 g2 p
[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& \& S3 @8 b: y
ERROR    无法连接到 'localhost:8000': 拒绝连接
* v' |' q! ]( o- w& f/ h" kTraceback (most recent call last):
. r& Q+ ]+ z& V# @  File "/usr/sbin/virt-install", line 861, in ?$ {: i4 Q3 f" G9 v9 x3 d
    main()
  m+ _& T/ i( k( h0 \8 V( k4 S  File "/usr/sbin/virt-install", line 636, in main
  o) q; Q& \7 r' @3 X- f    conn = cli.getConnection(options.connect)
* a) w6 o. Y$ i# V$ h% L  File "/usr/lib/python2.4/site-packages/virtinst/cli.py", line 126, in getConnection* O) X+ r; m' ]; ^7 u) |3 E) k
    conn = libvirt.open(connect)" G+ k5 o) d3 p% N
  File "/usr/lib64/python2.4/site-packages/libvirt.py", line 159, in open6 N, c. I! n/ c
    if ret is None:raise libvirtError('virConnectOpen() failed')
. a1 r$ l  v0 X$ B8 m0 v/ clibvirtError: 无法连接到 'localhost:8000': 拒绝连接7 k- i. j9 Y6 [% N: X
----------------------------------------------------------------------------------------
5 ?) {% e. U& X1 v5 Q+ U6 J- l/ z############################################
5 O+ |2 o  b+ B/ }" ?: Q解决:# H& o+ q5 S6 N: B/ X7 ?

6 {* V8 s, Z4 ]  Q& i4 m' k( w2 P9 \$ F0 J+ ^3 Q5 G7 m
1 \: \3 j( c% t7 f. w6 I
修改 Xend 配置文件,然后,xend  restart 5 a. @" ^) k7 N! `7 B

; x  w: {- U  I5 m+ f, N[root@gmnode14 yum.repos.d]# vim /etc/xen/xend-config.sxp
6 y+ A# D) g9 P% r' `" |4 \& G
$ }7 P# ?  ], k% {$ _, J  H(xend-http-server yes)5 n. g- `- n1 t
(xend-unix-server yes)
' H+ _& @- F1 [  \$ P) W8 g6 \  P
7 b+ W* L0 b+ Z(xend-port            8000)
, s" w3 u7 }7 C1 h& g. F2 l' ?3 T* p3 f
############################################
1 ^1 c' s% n: V; i5 x2 x* n
1 R" o/ _, g- c2 C  M(5) virt-manager 安装Xen虚拟机连接网络时nat和桥接设备均为空,无法选择,安装不能继续
# S1 C/ T* K0 m2 H
3 }, J. z* ^. {8 u) f" J3 y4 I2 D3 G2 D  |

! d- }# D( ]" @5 F! _7 A& b" _7 U! v
0 C2 l; T* z4 t. }- [+ X( Y& J
* Q- |* y- X" y2 d% l# I! Q1 k. w7 _' \4 ?& \, ]$ W

  j) z0 d5 R7 k" Z2 _: h############################################( G& m5 o2 _) m2 H! ]7 L2 A

% F. W) _! M9 \/ D# J4 o8 {分析原因:
7 O  d% E. I; w4 o$ A# V, A
( w* A: z3 m0 x! [9 g" ~$ u出现此报错应该是主机的libvirtd服务没有启动,
/ _+ o! q# `3 Q4 V+ p0 d: B# ~& L$ Q$ ~
而virt-install工具在进行客户机系统安装的时候错误地将客户机的网卡连接到libvirtd服务起的网桥virbr0上,此时libvirtd是关闭的,所以virbr0也不存在了,就出现了上面的错误信息。- y. f; n* c' X( U
' Z# a. y  P4 P( V; m* [
解决方法:# A9 ~- }. K2 U0 _' M- l
# R& w2 @; J  _" r. T- N
启动libvirtd服务后重新运行 virt-manager 来安装客户机操作系统;
% ]( B; z  y, E; k: X8 y
7 @9 b/ C3 a% ?5 w# N#/etc/init.d/libvirtd start* J* v/ e3 f, I5 z* k7 r2 L: G
但是这也只能保证 nat 选项中有 default 选项,桥接仍不能选择设备,要彻底解决Xen虚拟机网络设备问题请参考问题(6)8 G/ o5 H, m% g5 _9 a3 w/ M

% h  C5 Q* T* [1 d4 a. U参考:   XEN故障与解决方法汇总
3 U7 g# S! ]# _* _) `* Q* y$ x: ^2 ?1 g' S$ B
############################################
' L1 m) K. L! \4 P  l1 P3 G; r7 {9 @

! a/ v2 A) \  l/ {- U* ?( b$ p, E" \3 G8 f7 {
(6) virt-manager 或者 virt-install 安装虚拟机系统过程中出现错误:$ Q& D5 C) H+ h+ S. \0 p
8 w& ~$ ]* t9 C7 {
'libvirt.libvirtError virDomainCreateLinux() failed POST操作失败: (xend.err 'Device 0 (vif) could not be connected. Hotplug scripts not working.
1 F0 F6 N) v) p! T2 T---------------------------------------------------------------------------------------
% \, L* B+ `# }( ^7 y. T  E: j# BUnable to complete install 'libvirt.libvirtError virDomainCreateLinux() failed POST操作失败: (xend.err 'Device 0 (vif) could not be connected. Hotplug scripts not working. ')
) U7 \* T- u! ]1 o# RTraceback (most recent call last):, \* X4 J/ R: B) B
  File "/usr/share/virt-manager/virtManager/create.py", line 611, in do_install
  A! B& L$ k+ Y. v' n0 l/ X# N    dom = guest.start_install(False, meter = meter)8 E8 n5 M: w8 j' m& p
  File "/usr/lib/python2.4/site-packages/virtinst/Guest.py", line 813, in start_install
+ J9 Y. K# S9 |* ~! S    return self._do_install(consolecb, meter)
2 b- f7 G* j5 G; S% S7 k' _+ g4 l  File "/usr/lib/python2.4/site-packages/virtinst/Guest.py", line 834, in _do_install
. w& z' x2 [2 U0 I; Q" w    self.domain = self.conn.createLinux(install_xml, 0)% i% t# d1 o# @! r9 d, K0 l% f: s
  File "/usr/lib64/python2.4/site-packages/libvirt.py", line 573, in createLinux+ E9 e6 @3 w$ ~( b) e# W1 `5 u
    if ret is None:raise libvirtError('virDomainCreateLinux() failed', conn=self)5 B. l: Q2 I: U2 m3 ?( c
libvirtError: virDomainCreateLinux() failed POST操作失败: (xend.err 'Device 0 (vif) could not be connected. Hotplug scripts not working.') : X. O' u! b( k& g  x8 W
'---------------------------------------------------------------------------------------0 i  |4 f# o# [8 B
############################################
+ \: g5 \- b" h1 w* g  Y- H4 Y, Y2 L- G5 q) Y% {# {% ^5 [
原因分析:
: R6 r9 h, R/ L' x, m从错误提示中可以查看到设备(vif) 不能连接,突然想到之前创建虚拟机时在网络连接设置时桥接方式不能选择,只能选择nat方式连接网络(见问题5),很可能和这个问题也有关系;4 x' u/ u" S. [/ o

! O) d$ j& n* m( _3 _
( T& M: K. J# P; T, q5 @解决办法:
; A: j% r0 M. W, l( x1 f
, p1 ]+ J# W. K+ v0 }* M% j- N& A6 t1 f1 z' g5 L

0 d8 C4 b! R/ N! ^因为我使用的机器是好几年前的,系统是 Cent OS 5.2,不知道xen相关包有没有安装正常,于是使用 yum -y install xen* 重新安装了 xen 相关包,发现有几个包的确没有安装上 。安装完毕,重启系统后创建虚拟机,该问题不再出现。! V# o9 A- E' l; Y  m0 [. b

$ j$ ?8 `( s5 a# i3 x如何使用 yum 安装xen相关软件包,请参见  CentOS 5.4下使用yum安装Xen& r$ @" d0 _5 M0 w: u& ]' a% e' f

7 d- ?8 }, A% i5 v+ T+ U1 H
1 g$ Y7 P, ~5 S' _7 F8 q. K, V# T0 d6 M% v8 j6 D
2011-04-29  更新该问题; \+ e& m) m! X6 T* a
2 ?0 u8 \) b0 }# R

% K& B$ V4 K& f* {# N4 |0 C: r( h) O! g/ c" C% a2 k
后来我在另外一台机器上做实验室时一直提示该错误,就算重新安装了 xen,还是无法解决问题,后来终于从一个国外的网站上得到了提示,这个网站现在不记得了,忘记搜藏了。
7 m. \* D4 b0 l1 C# @7 {6 k. G) ?3 {( d  f  [; ~$ {. F

3 n8 ?* Z( b2 e; N3 g. s4 f. q, z6 v( U4 j- |1 w
网站上说,启动虚拟机桥接设备需要这样几个内核模块支持:netbk ,netloop,于是我使用 modprobe 命令手动加载了这两个模块,并且重新启动了 xend,这是生成了网桥设备 xenbr0,: D8 t  N# L7 k. z: G) d# C
. p& `* x+ Q) I
我的测试和使用日志如下:) n8 T& h" q( \" D
2 p+ z  X+ D" i- @' s- G" b. q
5 o$ ^) k  b+ K$ L* C1 Q) j) N: N0 F
  H, z& l$ h: }3 D8 n9 w% ?; p* u
安装虚拟机系统时,出现以下错误:
; W3 _+ {, b3 i
3 q# z% K) n& m- p9 O& D! Hvirt-install -n vm02-CentOS-5.5-full -r 2048 --vcpus=4 -f vm02-CentOS-5.5-full.img -s 20 --nographic -l http://10.10.103.14:8088/CentOS/5.5/   
: R1 g& V( [; O$ H$ T; O. S: n0 P* L  Q* z$ l: e# f
[root@hdfs05 vm01-CentOS-5.5-full]# ./install_vm.sh
4 y/ k- H. N% v. S1 f) CWould you like a fully virtualized guest (yes or no)?  This will allow you to run unmodified operating systems. yes7 F. J- t9 \8 B: W- l8 _

/ G; H7 N+ i4 I2 x' D- v) K; v* ?, T, W7 Y1 t9 A, S
Starting install...! q. V1 ^% P3 M2 V1 w2 r7 y* D5 `3 j, |$ }
Retrieving file .treeinfo 100% |=========================|  417 B    00:00     + a+ ?. R7 ]$ b) i: Y
Retrieving file boot.iso. 100% |=========================|  10 MB    00:00     5 }5 V2 B* W# F
Creating storage file...  100% |=========================|  20 GB    00:00     0 r4 r7 Z1 e8 |
virDomainCreateLinux() failed POST操作失败: (xend.err 'Device 0 (vif) could not be connected. Hotplug scripts not working.')3 ?$ H# |3 [2 a
Domain installation may not have been/ J% _1 y. D# f5 @& H1 x
successful.  If it was, you can restart your domain
. `+ Q6 D1 Y; Y1 g3 T by running 'virsh start vm02-CentOS-5.5-full'; otherwise, please* y' ^# {0 N/ Q6 w
restart your installation.
4 ~1 G9 |/ H5 L6 a5 p% o/ M0 r二, 26  4月 2011 09:23:28 ERROR    virDomainCreateLinux() failed POST操作失败: (xend.err 'Device 0 (vif) could not be connected. Hotplug scripts not working.')
, T' Y+ I# M8 \+ VTraceback (most recent call last):
, C  r2 A- f/ i0 @9 V' n5 E# i  File "/usr/bin/virt-install", line 502, in ?9 I" t; k! j/ N
    main()
0 G$ e' g, T/ {! p8 B  File "/usr/bin/virt-install", line 462, in main7 u5 {4 U! U3 Z0 n8 U
    dom = guest.start_install(conscb,progresscb)
5 F* h; H, O; s6 ]* R" K! t6 o8 W" m  File "/usr/lib/python2.4/site-packages/virtinst/Guest.py", line 813, in start_install
! A3 b) t; }  z- K    return self._do_install(consolecb, meter)
1 s3 M5 I; {4 v, Y, L  File "/usr/lib/python2.4/site-packages/virtinst/Guest.py", line 834, in _do_install8 A) A  _2 @$ Z5 S# m/ A
    self.domain = self.conn.createLinux(install_xml, 0)
+ \/ p$ P5 }5 B  File "/usr/lib64/python2.4/site-packages/libvirt.py", line 573, in createLinux
3 W+ q, H1 v8 k. {# n    if ret is None:raise libvirtError('virDomainCreateLinux() failed', conn=self)% u; W7 B, x+ }. C+ Y; O
libvirtError: virDomainCreateLinux() failed POST操作失败: (xend.err 'Device 0 (vif) could not be connected. Hotplug scripts not working.')
; n/ {( l' U1 S( S9 X
6 R: {& ^& \) N这是 xenbr0、vif0.0 未启动导致的问题。0 K0 @- P/ b  Z+ P5 _' c! L

" h% o$ V/ u6 @$ P0 _6 Y5 D" L  {) |  _重启机器后( o, a' R$ W& g
; r2 K* E. e( p; m
[root@hdfs05 ~]# xend start
5 }$ F9 A2 R7 D1 q: t[root@hdfs05 ~]# xm list* C6 g7 @! y0 X9 |; q1 h' \& ?
Name                                      ID Mem(MiB) VCPUs State   Time(s)
; e2 H7 w$ H$ m7 O; |' UDomain-0                                   0     7931     8 r-----     40.57 m7 R0 R' _  e4 u. n" S
[root@hdfs05 ~]# ifconfig
2 y/ u  M1 n5 x0 [0 B; [eth0      Link encap:Ethernet  HWaddr 00:1D:7D:48:38:1A  
1 B5 c* n6 H; D* A* T          inet addr:10.10.111.5  Bcast:10.10.255.255  Mask:255.255.0.0* T  Y& W+ B% G* Q3 X: e* t  z4 ^
          inet6 addr: fe80::21d:7dff:fe48:381a/64 Scope:Link; _/ i" ?- }& h2 E, ~5 C. \
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
7 c7 A9 N( c/ W$ ]+ m: w          RX packets:4942 errors:0 dropped:0 overruns:0 frame:0
3 F+ B4 [9 `0 t; g9 |% q          TX packets:111 errors:0 dropped:0 overruns:0 carrier:0
5 m) x0 U. n) E4 R# r: x          collisions:0 txqueuelen:1000 ( @6 i; Z! z6 w$ t
          RX bytes:681358 (665.3 KiB)  TX bytes:14358 (14.0 KiB)
' [/ {9 s) b! z3 i0 R          Memory:d8320000-d8340000 1 S8 {( g5 y* ^- W8 T/ L3 P5 l
7 X7 u4 l7 x2 m* f
eth1      Link encap:Ethernet  HWaddr 00:1D:7D:48:38:1B  2 S! v6 T4 H7 [% q$ i' n
          inet addr:10.10.141.4  Bcast:10.10.255.255  Mask:255.255.0.0! Z% w3 X0 ]9 i5 y% p+ R
          inet6 addr: fe80::21d:7dff:fe48:381b/64 Scope:Link" J7 X) z3 C$ g9 [/ x
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
0 j0 J- ^) a! d# \          RX packets:20 errors:0 dropped:0 overruns:0 frame:0
9 {' ], h; Y2 ?8 t7 Z2 ^7 h+ E( _          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
8 A7 T6 L3 x; k& h$ V$ _          collisions:0 txqueuelen:1000 * f) ]7 o5 b  @, M+ e
          RX bytes:4970 (4.8 KiB)  TX bytes:552 (552.0 b)4 v. L2 o, Y! X
          Memory:d8360000-d8380000 . N0 t7 G! r1 Q2 U1 u7 b9 C
  J7 b) ?& z7 R9 c8 ?! R! U+ N
lo        Link encap:Local Loopback  
1 O9 C- |6 x) b+ [) J          inet addr:127.0.0.1  Mask:255.0.0.0
' z. N9 h) w. R! @          inet6 addr: ::1/128 Scope:Host
) u7 H4 t5 v& S8 s- }* i          UP LOOPBACK RUNNING  MTU:16436  Metric:1
1 m$ Z1 O  D/ k* r5 F# E: B          RX packets:87189 errors:0 dropped:0 overruns:0 frame:09 O% X% z+ s0 n3 y. K# Z
          TX packets:87189 errors:0 dropped:0 overruns:0 carrier:0( P. Y1 G+ ]; k4 J
          collisions:0 txqueuelen:0 ) K  v+ r- F) N/ t: J
          RX bytes:118287320 (112.8 MiB)  TX bytes:118287320 (112.8 MiB)
' G. D% G3 Y  I, S$ s$ d# X* b1 ?1 @/ f1 i
[root@hdfs05 ~]# /etc/init.d/libvirtd
. a* v# p6 Y. \% y* ZUsage: /etc/init.d/libvirtd {start|stop|status|restart|condrestart|reload}( p+ l9 F7 r% k3 f1 y7 c( t
[root@hdfs05 ~]# /etc/init.d/libvirtd status
; K. k8 z( z( ~: Y0 d* alibvirtd is stopped% k% {- i1 ?8 Y- {& ?  o5 p
[root@hdfs05 ~]# /etc/init.d/libvirtd start  启动 libvirtd 服务. }2 O7 Z0 F7 c" G9 m
Starting libvirtd daemon:                                  [  OK  ]
/ R4 W4 w2 a2 g: r3 t[root@hdfs05 ~]# ifconfig ,生成了网桥设备 virbr0 9 l; B7 z  _& \* j: u
eth0      Link encap:Ethernet  HWaddr 00:1D:7D:48:38:1A  
3 x% X: J$ C0 W1 L# a8 t3 A! E          inet addr:10.10.111.5  Bcast:10.10.255.255  Mask:255.255.0.0$ O2 q. P7 Y9 j2 j, Q9 N
          inet6 addr: fe80::21d:7dff:fe48:381a/64 Scope:Link, p3 t9 z  K) {9 Y/ `) s3 Z$ W2 f
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:19 _- W; a1 w0 Q9 h
          RX packets:5082 errors:0 dropped:0 overruns:0 frame:0
! j" O' L1 r4 ^" r2 O          TX packets:175 errors:0 dropped:0 overruns:0 carrier:0" _( `+ k- O! I/ s7 \1 F# L
          collisions:0 txqueuelen:1000
1 Q- o$ C+ G7 R( x5 j1 g          RX bytes:710500 (693.8 KiB)  TX bytes:23050 (22.5 KiB)* l4 `3 Z. s$ W! Y: X+ H
          Memory:d8320000-d8340000
/ h4 F  V+ j+ t0 Z& g& j
) A/ n2 N. j# p! y9 y& n. D# j4 O" Feth1      Link encap:Ethernet  HWaddr 00:1D:7D:48:38:1B  
/ V9 R$ `/ a5 P/ w1 Q, R- j          inet addr:10.10.141.4  Bcast:10.10.255.255  Mask:255.255.0.0
( E5 [0 h1 T* Q4 R1 g& ?9 J& J          inet6 addr: fe80::21d:7dff:fe48:381b/64 Scope:Link
  s: R3 h, E% N( p& ]2 L* o* r          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:14 D  X0 v8 c5 i+ }5 N& k% E
          RX packets:20 errors:0 dropped:0 overruns:0 frame:0
! ~0 A( z; f* H& b7 C0 f          TX packets:8 errors:0 dropped:0 overruns:0 carrier:05 b" A! s4 I) ~: b( n& w
          collisions:0 txqueuelen:1000
7 i0 ?% C$ K' K* c, U8 W0 k, a4 Q          RX bytes:4970 (4.8 KiB)  TX bytes:552 (552.0 b)+ b- i- G! U" X) ?  N1 b
          Memory:d8360000-d8380000
5 B6 Q' [9 E3 `0 e9 T9 T" c1 [' q. Z* b# T
lo        Link encap:Local Loopback  
, R0 Q* b, {5 c          inet addr:127.0.0.1  Mask:255.0.0.0. C. R% d7 y% u+ j4 o
          inet6 addr: ::1/128 Scope:Host
  m) N  ~# `; m. a          UP LOOPBACK RUNNING  MTU:16436  Metric:1
# b( H7 u# P+ g          RX packets:87613 errors:0 dropped:0 overruns:0 frame:0
" [& V5 F, Z# l: _' l# y          TX packets:87613 errors:0 dropped:0 overruns:0 carrier:0
/ H; S3 {( x0 i2 |1 w          collisions:0 txqueuelen:0 * d# b$ ~6 g9 C
          RX bytes:118861744 (113.3 MiB)  TX bytes:118861744 (113.3 MiB)5 U) S: D/ A* v* e; ^) I8 M+ N

* w, ?2 P4 s9 |3 Qvirbr0    Link encap:Ethernet  HWaddr 00:00:00:00:00:00  % Q: G/ [5 F( L0 I4 V% _0 G" R; H
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
5 M/ S# N) y% i0 G          inet6 addr: fe80::200:ff:fe00:0/64 Scope:Link
% l3 m2 n+ ]( r3 [# f" r          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1' V( ?( e" j$ T9 x/ G2 H, {( e
          RX packets:0 errors:0 dropped:0 overruns:0 frame:07 ?$ i- n+ b8 O  e. q
          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
4 `% H# W' }) V( H) p; P9 l          collisions:0 txqueuelen:0   N, |% Z# s, a# c" J4 `0 Y
          RX bytes:0 (0.0 b)  TX bytes:328 (328.0 b)
% ^$ E' v. o+ {/ s$ W% N1 b( K0 Z# \  n
[root@hdfs05 ~]# xend stop
! }3 `' i- U. K7 d% t% |: a) P[root@hdfs05 ~]# /etc/init.d/libvirtd stop
% @. P5 U% ~. _* EStopping libvirtd daemon:                                  [  OK  ]
& O0 f7 K) f2 C4 q1 |* ][root@hdfs05 ~]# /etc/init.d/libvirtd start) s1 \+ w( A. s5 ?
[root@hdfs05 ~]# xend start
3 b, \5 w# K; e4 q[root@hdfs05 ~]# ifconfig
. K% N$ A/ P, a3 l$ Deth0      Link encap:Ethernet  HWaddr 00:1D:7D:48:38:1A  
+ P% t- n8 @7 O7 Q          inet addr:10.10.111.5  Bcast:10.10.255.255  Mask:255.255.0.0
8 K, I. `. v5 c" D          inet6 addr: fe80::21d:7dff:fe48:381a/64 Scope:Link6 a4 G# d. e# v# m* s
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
7 B/ A) q1 H6 m, o- a) x4 T: y          RX packets:5508 errors:0 dropped:0 overruns:0 frame:0" R1 s8 W; ]/ m0 N2 P( e
          TX packets:299 errors:0 dropped:0 overruns:0 carrier:0
8 R8 q) P1 a& N+ L! C3 b4 l          collisions:0 txqueuelen:1000
6 v$ D) ^/ M7 R* W- j1 y: U. b$ S# p7 w7 f          RX bytes:757440 (739.6 KiB)  TX bytes:42402 (41.4 KiB)
6 b7 v8 w! q$ J" y2 N          Memory:d8320000-d8340000   }0 b1 I8 e/ ?5 p5 R+ g1 e6 }

- f; G1 h. t2 s: Zeth1      Link encap:Ethernet  HWaddr 00:1D:7D:48:38:1B  4 u5 H2 ]: x9 h$ j  }2 i+ m3 Q
          inet addr:10.10.141.4  Bcast:10.10.255.255  Mask:255.255.0.0# I( m; p0 r4 s, E2 T
          inet6 addr: fe80::21d:7dff:fe48:381b/64 Scope:Link
$ O9 M, z0 _& J# `' Q# I9 o          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
8 A2 ?, x6 K  V          RX packets:20 errors:0 dropped:0 overruns:0 frame:0
9 H  d) k- u# |+ A# `$ \          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0' I2 T' t, x/ F. ^0 V
          collisions:0 txqueuelen:1000 9 [, O: d* I- O( j9 t
          RX bytes:4970 (4.8 KiB)  TX bytes:552 (552.0 b)) B$ P8 l! @9 E! N
          Memory:d8360000-d8380000 ; e2 Y" C' f$ _  q# A

; R& d  A+ h2 b9 z9 y6 mlo        Link encap:Local Loopback  ( ~9 G  |2 K' G. x! \6 w/ \
          inet addr:127.0.0.1  Mask:255.0.0.0
8 v6 K8 E8 I8 `          inet6 addr: ::1/128 Scope:Host
- H9 f; s1 F  {          UP LOOPBACK RUNNING  MTU:16436  Metric:1
* I" S  X% O8 m: C: h          RX packets:91038 errors:0 dropped:0 overruns:0 frame:0
  w* W% F) r& c          TX packets:91038 errors:0 dropped:0 overruns:0 carrier:0
; i: W" m$ W$ ?4 u9 f          collisions:0 txqueuelen:0 - ?5 B+ b2 j& @( v
          RX bytes:123483512 (117.7 MiB)  TX bytes:123483512 (117.7 MiB), ?& l! M3 ]  N

9 f1 j8 t3 l. i- ovirbr0    Link encap:Ethernet  HWaddr 00:00:00:00:00:00  3 w4 t' J# b+ G/ P7 h- ~3 ^8 U( `
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
. L" K7 l' @8 P1 k          inet6 addr: fe80::200:ff:fe00:0/64 Scope:Link0 ~. G3 ~: _6 y  h; A: }! o& l
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
7 b; C" R2 T+ j$ _5 ]9 J          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
' T2 _$ E" d0 P. m; y          TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
2 ~1 N$ \6 ~& i3 r' ?" f          collisions:0 txqueuelen:0 . t3 P2 R$ G9 {% X) ?. r
          RX bytes:0 (0.0 b)  TX bytes:398 (398.0 b)4 E' l5 X, C, N( F( {

4 B9 X2 l; \, I# ixenbr0 未启动,
9 w8 r/ t' n6 i$ o' o: [" D5 j; I8 t4 r9 t# b; A2 R9 m& l' v
查看Xend启动日志,出现错误“Link veth0 is missing”. A; F- c6 m- P) R
, {5 y6 K7 m$ P- K* K+ u7 L
[root@hdfs05 ~]# vim /var/log/xen/xend-debug.log
$ }9 T- L7 g8 Z  y9 a! N/ {! R  1 2 Z1 X0 ]* Q; [% i8 R
  2 Link veth0 is missing.0 F8 \6 w" G; l$ o5 L* U( Q6 \
  3 This may be because you have reached the limit of the number of interfaces- e! V8 N3 _7 @+ c: d
  4 that the loopback driver supports.  If the loopback driver is a module, you
+ Y" _8 V6 g: a6 u) N4 [  5 may raise this limit by passing it as a parameter (nloopbacks=<N>); if the/ N1 n' `& b: v5 @' f7 y
  6 driver is compiled statically into the kernel, then you may set the parameter( O1 U* h4 j. l- w% j
  7 using loopback.nloopbacks=<N> on the domain 0 kernel command line.; e, x. A# @; S- P% ^- X, G0 K
  8
: V$ Y9 @3 K# a- t
4 R7 C" E: h$ M0 B" B使用脚本手动启动,出现错误* \) P8 O5 P+ p& q$ v. m2 G/ e

' v% |0 G6 M1 q! {% _! B6 a. ?[root@hdfs05 ~]# /etc/xen/scripts/network-bridge status
% |6 ~$ Q/ P% x4 r! {============================================================5 d/ [& H) Y! K9 ~. F: a& l; T
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000/ v: D, M; P0 X+ g
    link/ether 00:1d:7d:48:38:1a brd ff:ff:ff:ff:ff:ff
. v8 A% |0 ]- i$ }8 W: q    inet 10.10.111.5/16 brd 10.10.255.255 scope global eth0
/ k" z) [% {6 H- `; [0 T& J- x    inet6 fe80::21d:7dff:fe48:381a/64 scope link # ]; M- p6 V  Q1 K( o6 k2 K/ A
       valid_lft forever preferred_lft forever
  W+ m1 D5 Y0 p- ?3 }. y& N/ vDevice "xenbr0" does not exist.# N7 }  Q) O6 f5 r& r% `
2 W  ~. j) F! ?$ F: C
[root@hdfs05 ~]# /etc/xen/scripts/network-bridge start
8 q5 |0 l' E" s6 S  A( h9 X  \
5 X9 L. r! p, q( m$ yLink veth0 is missing.
2 _1 _5 u9 h* s8 k, U; xThis may be because you have reached the limit of the number of interfaces0 K$ f- }# I( t; Z7 V  T
that the loopback driver supports.  If the loopback driver is a module, you; E2 X! O, O! P2 Q' ^
may raise this limit by passing it as a parameter (nloopbacks=<N>); if the
, S. L+ F" ~0 [; l$ t8 ~8 k) Cdriver is compiled statically into the kernel, then you may set the parameter3 H6 d2 G7 d& J
using loopback.nloopbacks=<N> on the domain 0 kernel command line.0 ~+ B' R! z; G2 T" |# D1 r
! _  o( _. u1 t! R
查看加载的模块
- S2 m$ N. Z- K1 s1 w( B: |
. Q' o0 E7 O( r! s, L: G[root@hdfs05 ~]# lsmod | grep net
- t4 T8 B2 _$ y7 R6 {- M; znfnetlink              40457  2 ip_nat,ip_conntrack
  u4 o! @  p0 ~% C2 @/ e4 _9 x: u( E% y1 n3 n+ t4 z; H7 X
正常情况下的 glnode04 上是:# f7 D( `! x+ h+ W3 `
[root@glnode04 Xenoprof]# lsmod | grep net3 r8 R' p) i, J( ^" G+ @& A
netloop                40129  0
  [1 I0 `3 U. ]5 k+ pnetbk                 129153  0 [permanent]! p* o& v5 g% X8 k% l
8 c- u( m6 R% ]) p2 R1 j" G- J
手动加载模块 netbk ,netloop
$ ~" [; u2 E$ C( l9 D7 l
& y# n. F9 A( J% A6 w[root@hdfs05 ~]# modprobe netloop2 s) `4 S% \8 }: `( i, |
[root@hdfs05 ~]# modprobe netbk
( ~: F0 T" Y+ S1 \: `+ L. p' v  b[root@hdfs05 ~]# lsmod | grep net
0 {$ L) p; y5 y! U2 }. R: b! K' I& D0 unetbk                 129153  0 [permanent]+ X' I# l+ O/ x+ p( y
netloop                40129  0
( e/ T' ^2 A5 G/ d9 @  Hnfnetlink              40457  2 ip_nat,ip_conntrack2 [9 {3 ^; K: e9 a' H/ G* a2 G9 \

& B# W9 j  d: r3 \4 R模块加载后重启 xend,
! ]7 a' B0 C. p7 g& m
! z5 y9 I  t# e[root@hdfs05 ~]# xend stop# L4 `' n7 n- }3 e
[root@hdfs05 ~]# xend start 启动消耗很长时间,像死机一样,网络跟断了一样,bash关闭了,过一段时间后网络好了。
; N% w8 ~' x  E) U......
9 n. p% d# @: p/ O9 B+ e+ H[root@hdfs05 ~]# ps -ef | grep xend9 l. r0 J# _$ p( w
root      4504     1  0 09:35 ?        00:00:00 python /usr/sbin/xend start
3 I  v* ?2 U5 h7 U& i* D8 ?root      4505  4504  0 09:35 ?        00:00:00 python /usr/sbin/xend start
9 o+ M! v. B+ @, D8 sroot      4813  4773  0 09:37 pts/1    00:00:00 grep xend
( i% d  J# o3 s$ R* b0 L! A) n4 R6 Z; a- w9 i. ?
开启另外一个 bash,查看设备,发现 xenbr0 设备启动了
5 r/ q. z, |& L% e2 c# J/ r1 s- |9 y
[root@hdfs05 ~]# ifconfig: c, E+ b1 r2 T! `  Q
eth0      Link encap:Ethernet  HWaddr 00:1D:7D:48:38:1A  2 `0 L& z8 o' a2 T0 X
          inet addr:10.10.111.5  Bcast:10.10.255.255  Mask:255.255.0.01 v- |# X; X) a1 ?* I, p, N7 U
          inet6 addr: fe80::21d:7dff:fe48:381a/64 Scope:Link- g$ U5 T+ b8 t3 d
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1/ z" |. s# j" ]: E
          RX packets:1079 errors:0 dropped:0 overruns:0 frame:0
7 e4 v2 o' M( U; Q0 Q6 U          TX packets:80 errors:0 dropped:0 overruns:0 carrier:0
5 R0 s: K# E4 C) r, g5 C) n# o          collisions:0 txqueuelen:0
  r8 A5 w6 {8 x/ l$ F$ P          RX bytes:158475 (154.7 KiB)  TX bytes:12704 (12.4 KiB)
/ B4 `" {8 x4 m9 t2 |, I6 D2 T1 S% Y5 k: \4 v- |: [
eth1      Link encap:Ethernet  HWaddr 00:1D:7D:48:38:1B  1 {  b6 h6 s6 R
          inet addr:10.10.141.4  Bcast:10.10.255.255  Mask:255.255.0.0
) q' b/ z4 Y1 n. o          inet6 addr: fe80::21d:7dff:fe48:381b/64 Scope:Link
1 X: Q% _* Y) F: F          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1, B' O8 l. Q% d: A
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
3 a( m- L# \/ |9 k7 L2 w. b) a1 B/ [          TX packets:8 errors:0 dropped:0 overruns:0 carrier:09 O" a" @' X5 r$ R
          collisions:0 txqueuelen:0 / R/ [" s  s" O5 G  Y
          RX bytes:0 (0.0 b)  TX bytes:552 (552.0 b)  H* h0 j/ C8 m0 `9 t! ~

2 ~9 Y; G& i- Y8 m; ]1 w8 u  s, C; Vlo        Link encap:Local Loopback  
; {: Y' C5 u% U          inet addr:127.0.0.1  Mask:255.0.0.0
0 m1 u8 w+ {* }, ?8 b          inet6 addr: ::1/128 Scope:Host
8 I/ `# v3 d( A; X) i3 X          UP LOOPBACK RUNNING  MTU:16436  Metric:1
; k8 I7 b9 G) V' K% P5 X          RX packets:107602 errors:0 dropped:0 overruns:0 frame:0
) I$ \- M, S8 G0 R  F+ K          TX packets:107602 errors:0 dropped:0 overruns:0 carrier:0
5 P3 m4 H7 n/ e7 d          collisions:0 txqueuelen:0 ( G/ u' m: S# Y2 Y) h) P& `
          RX bytes:145810320 (139.0 MiB)  TX bytes:145810320 (139.0 MiB)7 i: d( E# `/ w/ ^: G) D

; `* }' t3 M8 }0 Dpeth0     Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF  
" n* V2 u+ @" w/ i7 o, {          inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link+ g/ G) i) a" Q
          UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1, W+ v! ?: x- @7 f. H0 o
          RX packets:7926 errors:0 dropped:0 overruns:0 frame:0
7 H4 v. h" p( q1 d. D: g          TX packets:803 errors:0 dropped:0 overruns:0 carrier:0
: r, V' _1 t. s" L' X2 @          collisions:0 txqueuelen:1000
# c9 }% c2 x9 j" D2 x, a8 x          RX bytes:1048526 (1023.9 KiB)  TX bytes:140794 (137.4 KiB)- Y) b- d! M' R% h
          Memory:d8320000-d8340000
6 ~1 }3 T( X+ P
/ ^& e, B* v: ~5 Ppeth1     Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF  ; |3 I1 j, b& m1 X  |, G
          inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link
8 t" D& D$ Q" V/ f4 D2 r          UP BROADCAST RUNNING NOARP  MTU:1500  Metric:15 }9 @7 b1 \1 J/ W( i9 U
          RX packets:32 errors:0 dropped:0 overruns:0 frame:0
" o" L9 \  H' u' L) d: J- y          TX packets:278 errors:0 dropped:0 overruns:0 carrier:0, f2 n. a+ P6 h- {5 c( X1 `
          collisions:0 txqueuelen:1000
+ V9 q  ?: w: l2 `9 x          RX bytes:6444 (6.2 KiB)  TX bytes:35772 (34.9 KiB)9 V! T1 ]& H* {$ N5 X$ O
          Memory:d8360000-d8380000 3 c% s# r0 P. x/ Y0 W( q

+ l; H' ]" i! a, s' ^; t0 X7 tvif0.0    Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF  
: D, q8 S3 G5 N# z7 \8 |# h          inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link
+ R4 x$ q& A: ^          UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1
4 s) L" v. ^5 ?          RX packets:101 errors:0 dropped:0 overruns:0 frame:0
- U) Z7 M5 Q9 V$ h          TX packets:1098 errors:0 dropped:0 overruns:0 carrier:0
# j8 b! j: A& _! ~          collisions:0 txqueuelen:0
6 }. w. n: c5 G7 _3 V          RX bytes:17258 (16.8 KiB)  TX bytes:159729 (155.9 KiB)
* Y9 T( r1 Z& W, |, T3 s- P7 i6 |7 L/ ^8 U$ ^
vif0.1    Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF  
+ p) n, i$ y. o8 k# ~# X9 X          inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link' p, Q9 v9 K, k; Z% }5 D
          UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1$ V) I$ a3 M7 `3 _5 I2 l
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
5 I2 I9 Z8 X0 B8 R          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0& f. T  N& o; ^& V7 n9 n$ H' T
          collisions:0 txqueuelen:0 $ T* l% v/ u5 m- g* k
          RX bytes:552 (552.0 b)  TX bytes:0 (0.0 b)
2 W( ^8 o, o, ?, s) ~* p% s& P$ N2 D& Y, Z
virbr0    Link encap:Ethernet  HWaddr 00:00:00:00:00:00  
1 d9 f' y. Z, a3 q  i          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.06 {3 M+ x* E$ E6 D4 p& W2 g
          inet6 addr: fe80::200:ff:fe00:0/64 Scope:Link
* T; u4 I+ g8 i+ I          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1) I$ L; p  I. F- i
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
" v# y+ Q& b% i5 |/ ?          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
' M; ~, Z, b7 E/ b9 C          collisions:0 txqueuelen:0
. m% _) c6 s6 |. I  V+ E+ `  m          RX bytes:0 (0.0 b)  TX bytes:468 (468.0 b)) E: ]" n; r; {
& X/ q  `3 Q! R- F; V1 X
xenbr0    Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF  
7 ]2 \; T5 R/ D6 Y7 R$ Q9 ^          UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1  R- v& \& ~! |8 [! i
          RX packets:629 errors:0 dropped:0 overruns:0 frame:0' ]$ Y& R1 `% M
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
0 ^& x& [' |# ], F1 w          collisions:0 txqueuelen:0 1 I5 m5 V  k9 G3 m
          RX bytes:107389 (104.8 KiB)  TX bytes:0 (0.0 b), |! p, p. {% [: B! {# X5 g1 |& ?, ]

" S  l8 x  v' U' g/ s' @xenbr1    Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF  
( V4 M$ J& F8 A/ D          UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1, Q9 M! C. h. x0 ^) [0 b
          RX packets:8 errors:0 dropped:0 overruns:0 frame:01 X. I# g# E3 ~
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0/ g& Q/ R5 D4 ]* k0 v
          collisions:0 txqueuelen:0
- [4 T3 X; i5 j( I          RX bytes:440 (440.0 b)  TX bytes:0 (0.0 b)$ d' v$ t" P, h7 n6 @
, ]- i& W/ C4 s/ |* }; z/ {7 K
[root@hdfs05 ~]# xend  stop
9 M: s; G; y+ B, Y' k[root@hdfs05 ~]# xend  start  生成的网桥设备不变,xend启动一次后,设备即生成了
8 q! n7 H7 l: i8 M2 L7 ][root@hdfs05 ~]# xm list
0 [! e3 ^, [$ g1 xName                                      ID Mem(MiB) VCPUs State   Time(s)& }& ~8 M" W* [* [2 d0 q/ y
Domain-0                                   0     7931     8 r-----     52.0
+ a/ k5 }4 A1 a' }& k+ N
  o2 s1 w/ N* |1 k; ^* J查看网桥设备
5 W) ~# M& f) b6 k9 U% Q2 d) p3 _
% V" n- N) \7 @, b7 z/ g" C( y[root@hdfs05 ~]# brctl show
5 I; E$ G. u5 l* S8 ?bridge name    bridge id        STP enabled    interfaces
' N9 f# h7 Z7 bvirbr0        8000.000000000000    yes        2 k. L9 c4 m+ ~! f* K7 b& {5 @
xenbr0        8000.feffffffffff    no        peth0
" g1 H, q- ~% H+ y9 q! O% E) u                            vif0.0  H) J* Y" ?4 A
xenbr1        8000.feffffffffff    no        peth1
, |; P, M5 ~! G/ u4 Y                            vif0.1
% ^, N; N" |" a2 {4 d& U" H: X) u6 r& A4 W) U4 i; ]1 u

0 e& N" ~. p! v# |7 P: l3 F! X. M0 V9 u. s) ]6 M
############################################
% f; Z* |9 ^: o6 C. a9 }. r/ [+ C" r! C- i/ G" X
3 K) j4 _  l- y3 Y

% r3 R1 `) r+ @# l0 l(7)半虚拟化安装,选择nat上网方式、IP配置使用 DHCP 方式时,虚拟机系统安装过程卡在 TCP/IP 配置界面,停滞不前
2 w; d4 r$ \0 W3 P" W
+ F3 ?+ X+ \( @/ N! }9 j) W# M( E--------------------------------------------------------------------------------------------------------( D3 N* k! c: y

1 }; V6 e9 F" J% p半虚拟化安装时,选择 nat 上网方式,IP 配置使用 DHCP 方式,此时卡在 TCP/IP 配置界面,- l# }. U* K" l* C% D- ^5 H
Xen Sending request for IP information for eth0 不能成功, 卡在这里,不能通过。: p6 C1 w$ T$ t/ F( @) y# [9 `& h* `

7 V, N. G; ]! `* M: R--------------------------------------------------------------------------------------------------------! p+ }$ c% F( w; U
############################################
- Z$ h4 S6 x; c. _/ f" Q, o  U' _8 r. D% A5 n. Z$ v" i$ X. v) d3 z- ?
解决办法:; |, B1 Z+ [5 U$ J" o
IP选择手动配置,配置 ip地址/子网掩码;
  n5 d: B& z: S, I8 _9 k6 a( G. [4 g
. v/ F' m% j! _; [/ G全虚拟化安装时不存在此问题。 & S0 |- a- f7 `+ q

3 O, ^; Q+ h, X1 o5 T############################################
# T, h, e3 W, H0 |
8 m5 @0 ~0 L! n6 E& ^& i! \% q! F" [* u( j, d6 R

$ U/ w% R: F  R/ k9 V3 E) d4 ?(8) 启动虚拟机时出现错误:File "/usr/bin/pygrub", line 28, in ? ImportError: No module named LiloConf
5 j3 x# Y" w  ^# Y$ l" }--------------------------------------------------------------------------------------------------------
6 I! Q: Q0 Q3 r+ @[root@glnode04 xen]# xm create /etc/xen/vm01-centos-5.5-pv 7 X5 @9 I7 ^( W: L) I
Using config file "/etc/xen/vm01-centos-5.5-pv".
8 }9 ?( H" I* m! X9 nTraceback (most recent call last):$ P: @( O$ \  H
  File "/usr/bin/pygrub", line 28, in ?
7 e! F/ X; d: O: J    import grub.LiloConf5 R# D+ x* k, p6 q% [# w
ImportError: No module named LiloConf
: z! Z, m! f2 e
* I. Z5 O9 n- C( d2 s1 N提示 /usr/bin/pygrub 文件的第 28 行的 import grub.LiloConf 出错,这又是 python 的问题,import 出错。7 T" V* v$ g3 F$ x
' v- q/ c. W& Q, h  a) P
手动执行 pygrub 命令,仍是出现这样的错误.
- @" V4 `( g$ f6 D9 x[root@glnode04 xen]# /usr/bin/pygrub
: m! Y' A$ E1 M1 x& q% qTraceback (most recent call last):; Z8 k7 e! H/ f" p8 V+ ~
  File "/usr/bin/pygrub", line 28, in ?# Q8 ?* h/ @7 U0 Z) g
    import grub.LiloConf/ S" c) K& y4 l* I) e% j
ImportError: No module named LiloConf% r/ Q6 f% r8 ]0 e/ K
1 l# {* M: k# m  Q" [1 e
正常情况下执行 /usr/bin/pygrub 是这样的
8 E- M* @0 z+ M
1 W8 W& R5 o2 N" Y+ r2 B[root@gmnode14 xen]# /usr/bin/pygrub
9 {: f# y7 [5 kUsage: /usr/bin/pygrub [-q|--quiet] [-i|--interactive] [--output=] [--kernel=] [--ramdisk=] [--args=] [--entry=] <p_w_picpath>! u) k  A1 y) ?3 |, O

# O% I- u! s  I[root@gmnode14 xen]#
6 I* ?1 f8 x0 ~4 l6 S3 f--------------------------------------------------------------------------------------------------------
( u; _) N' v4 O( C- \* _# s
8 ?  C# @8 k% Q1 L# G############################################! ]$ H  P2 ?0 i0 c" q" P4 S3 _

9 @  j' v, y/ G; q* {查看 /usr/lib 下 python 库,发现有3项:
# S' W+ g% C# v[root@glnode04 xen]# ls /usr/lib/python) R) N/ i% n# V9 P
python/           python2.3  python2.4/7 i6 d* M! W9 Y
# ?% ^5 _' }4 U: X2 p4 p3 ]7 u
这地方有问题,CentOS默认安装的是Python 2.4.3,库文件和可执行文件的路径是:# t" i  K! i. a1 [6 S- @
/usr/lib/python2.4; o$ L$ W) N" n8 k
/usr/bin/python2.4
# W5 P7 Z# P" P( _' P
/ j; s6 R5 u7 J; E0 P3 U7 ~( h而现在多了两个库文件python和python2.3,将这两项删除,或者重命名,再次测试,问题解决。 4 s7 X) }0 t: O6 b: W
+ U6 z# m$ A& f
[root@glnode04 xen]# /usr/bin/pygrub
' B- ?8 ^9 \  \/ n% OUsage: /usr/bin/pygrub [-q|--quiet] [-i|--interactive] [--output=] [--kernel=] [--ramdisk=] [--args=] [--entry=] <p_w_picpath>8 u, \7 i# e# X$ l$ D/ c

  X  |: k, \7 |4 o6 H- J# S3 F2 b[root@glnode04 xen]# xm create /etc/xen/vm02-CentOS-5.5-pv
! {  P9 q& u+ WUsing config file "/etc/xen/vm02-CentOS-5.5-pv".5 j7 w; o% d0 T3 @( @
Started domain vm02-CentOS-5.5-pv
0 v. U8 Z. s! ]! F2 _启动虚拟机正常.3 }# a- d4 p5 l( f
: G- }( q! C  l8 A, y  E
###########################################! S; Q7 U! P! B9 E1 }
-----------------------------------
: T! J: o/ A$ F6 j% u, k5 Q安装Xen、创建Xen虚拟机、使用Xen虚拟机过程中经常出现的错误总结: o1 E: @" x; X  \; e/ G; S! M$ Z
https://blog.51cto.com/newyue/855972
+ t1 Q: M! J3 D, Y. z0 U3 F, ~, Z9 q- f2 ?3 s, H
您需要登录后才可以回帖 登录 | 注册

本版积分规则

返回首页|Archiver|手机版|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )

GMT+8, 2026-6-12 01:23 , Processed in 0.018898 second(s), 23 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表