|
|
(1) 启动 Xend 时出现错误 ImportError: /usr /lib/python/xen/lowlevel/acm.so: undefined symbol: Py_InitModule4 ' T0 l5 e) i c9 e
(2) 使用 virt-install 创建Xen虚拟机时出现错误:ERROR virDomainCreateLinux() failed XML描述 domain 不是良好的格式或者无效
7 b% D# D; h0 r9 ~0 B(3) virt-manager 中连接虚拟机管理者Dom 0时出现错误:虚拟机管理者连接失败 libvirtError: virConnectOpenReadOnly() failed * p- ^# T1 ]4 i9 `" Y
(4) virt-install 安装虚拟机是出现错误:ERROR 无法连接到 'localhost:8000': 拒绝连接 . W7 L2 Y7 a S, [- H- M3 {
(5) virt-manager 安装Xen虚拟机连接网络时nat和桥接设备均为空,无法选择,安装不能继续7 ~3 f$ S# R8 J0 I8 t+ g [
(6) virt-manager 或者 virt-install 安装虚拟机系统过程中出现错误:
4 G& a* @2 \' o'libvirt.libvirtError virDomainCreateLinux() failed POST操作失败: (xend.err 'Device 0 (vif) could not be connected. Hotplug scripts not working.
l% q4 J+ \% K+ d! k& } M/ V W! u6 F; `8 r
(7)半虚拟化安装,选择nat上网方式、IP配置使用 DHCP 方式时,虚拟机系统安装过程卡在 TCP/IP 配置界面,停滞不前3 w, e! b& I" v3 L u1 b
0 D& Y6 R& n3 `% T' o9 N0 H
, [. r \- w5 ?* @ q
+ A; k/ x% b) N' l( t) Z1 p8 m, j
$ H9 I) u e" d! Q# q: v* O( I
" M6 \: u; L7 y! B6 _8 l+ `$ c; g
错误总结! u2 }; Y* H' T# d" M+ d8 Z
) O @' N3 ]7 a `; w( {6 f使用 CentOS 5.2 默认安装的 Xen,启动 Xend 时出现如下错误:$ X8 T" y0 [3 W6 ?' r. h
(1) 启动 Xend 时出现错误 ImportError: /usr /lib/python/xen/lowlevel/acm.so: undefined symbol: Py_InitModule4
" t1 x8 n4 N$ _9 O--------------------------------------------------------------------------------------9 {. E. {" q, }) j5 t
[root@glnode04 ~]# xend! ?; U w: e6 i: w, m% g8 ?+ W
Traceback (most recent call last):% y7 \) i& B- V( v) j
File "/usr/sbin/xend", line 51, in <module>0 Q, i9 s# W( k: H5 y9 L
from xen.xend.server import SrvDaemon
$ k. K6 t9 A) q File "/usr/lib64/python/xen/xend/server/SrvDaemon.py", line 20, in <module>& I+ I% E( q1 q$ m
import xen.lowlevel.xc
1 D' i ]# I; z I$ ^; C0 WImportError: /usr/lib64/python/xen/lowlevel/xc.so: undefined symbol: Py_InitModule4
" Y# e7 O2 Y) R[root@glnode04 ~]# xm list
. ~7 }7 |2 X" P( F' t" i5 @Traceback (most recent call last):
+ e Z4 s5 d o+ q. ^ File "/usr/sbin/xm", line 8, in <module>/ H$ o0 H( E+ M4 _, E
from xen.xm import main
& h" E! X6 J! {% j8 W' j File "/usr/lib/python/xen/xm/main.py", line 45, in <module>
; U: R' l8 ^3 k" l; t from xen.util import security
9 l, z1 L+ L+ f- R9 Y& R File "/usr/lib/python/xen/util/security.py", line 25, in <module>
5 N/ a, M. X' ^* F& s) {3 {& i from xen.lowlevel import acm) ?/ S+ W2 E9 \, w
ImportError: /usr/lib/python/xen/lowlevel/acm.so: undefined symbol: Py_InitModule4
5 e6 @* w. H, o; ~" Z1 J6 m----------------------------------------------------------------------------------------
Y* x9 X# {- p4 C& c! K############################################
$ g5 n. S2 w5 }( u2 q
3 L/ g8 D# w) o1 m0 [) Z! G( n原因分析和解决办法:% c( u( [3 o6 [# R
直觉是 python import 时出现的错误,查看文件/usr/sbin/xend,第51行是“from xen.xend.server import SrvDaemon”,就是这行出错。
6 W+ l0 i) _& o" ^% y查看 python 版本
& b/ h3 p7 m, [1 y7 `0 L* w[root@glnode04 ~]# python -V6 I: e% t0 }. R9 A
Python 2.5
* H7 Q7 I; ?$ _% F查看 python 安装路径
. O4 \ |: r+ x/ I* O* ~[root@glnode04 ~]# which python! D- O7 g/ X3 a. ?1 r
/usr/local/bin/python8 `" U) _4 l. ?% {
查看系统安装的 python 的rpm包版本9 X& B) {$ C% c: z
[root@glnode04 ~]# rpm -q python; q8 x3 p9 A( Q% k( F6 _+ x
python-2.4.3-21.el5 从这可以看出 python 版本和 rpm 包所示的版本不一致,这个 rpm 包是 CentOS 5.2 自带的.* z6 U9 z V) h: {
0 `3 ^7 F- \* H' P& g+ H5 R( Z5 x$ E系统是CentOS 5.2, 我们发现使用的不是CentOS 5.2 默认安装的 python,默认安装的是 Python 2.4.3,CentOS 5.2 默认将python安装在/usr/bin下。 7 u4 W. j' Q" _; ^3 x2 `
[root@glnode04 ~]# /usr/bin/python -V1 G1 l4 t7 p/ x6 E
Python 2.4.39 m" c/ r" O3 V' k0 r
由此可以想到可能是环境变量 PATH 的设置导致我们在命令行执行 python 时使用的是 /usr/local/bin/python,可能是 PATH 的值中 /usr/local/bin 在 /usr/bin 之前;
2 S" o2 J3 U8 d$ m2 S检查 ~/.bashrc 发现的确如此,环境变量 PATH 设置是 export PATH=/usr/local/bin:$PATH,将其修改为6 R5 r2 H1 d5 ?" K8 v. _4 s+ M
export PATH=$PATH:/usr/local/bin,然后 source ~/.bashrc,或者退出 shell,重新开启一个 shell,
@! B. n- c0 M1 O) C9 ?4 u测试 python ,发现使用的是默认版本。
, V) V8 H9 e6 \# i% J t[root@glnode04 ~]# python -V
s [/ y" g5 ?: K0 kPython 2.4.37 o+ N5 _% q, y8 Y/ d
2 X& F7 G) u( B" C! `启动 Xend ,正常,没有问题。+ H; m: w0 j$ ~+ I5 q$ e
[root@glnode04 ~]# xm list
& }, Q% l! K( ^* e: z+ FError: Unable to connect to xend: No such file or directory. Is xend running?
* z( z7 P! F, `( a( L$ Y! N[root@glnode04 ~]# xend8 k8 Z! s$ t& O" e5 w
usage: /usr/sbin/xend {start|stop|restart}
. M6 I2 M0 G+ T9 n: h[root@glnode04 ~]# xend start
: u ~( S- `- s% B[root@glnode04 ~]# xm list
$ ?# R5 y* D* R0 A5 K$ p# U! KName ID Mem(MiB) VCPUs State Time(s)
& h; S$ d. e+ N; {Domain-0 0 7931 8 r----- 463.9
: V. m; F4 S( N( J# R( I: i1 m5 o! h1 X" s& g1 T
分析原因,是因为 Xen 是python写的,执行 Xen 相关工具时需要调用 python 相关库,如果版本对应不一致,或者库路径不一致,则会出错。
/ Q( |% ~+ Z' [, k; D$ y- w3 q. k2 s( E- O# Q
############################################
/ a2 F6 P$ G) r8 ]% Q, V
0 q* E: h H. L1 \- x9 j
% T/ q* j& A' H7 X( f4 p" D* d3 s: i" |# z
(2) 使用 virt-install 创建Xen虚拟机时出现错误: ERROR virDomainCreateLinux() failed XML描述 domain 不是良好的格式或者无效# f7 K- y. ~* U( [5 h& Z+ p8 O
5 L9 m: k" m. X1 g
----------------------------------------------------------------------------------------6 x3 j& K; X! t2 y* ^6 \
# M, J$ m! d( [7 y2 z1 O[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/6 ]* \1 @ e" n8 R6 _* P8 ]; |
# P) j W3 R8 r$ F. k/ x
Would you like a fully virtualized guest (yes or no)? This will allow you to run unmodified operating systems.no & ?) |) P0 K% |, D+ K
% P w+ T. x9 k+ BStarting install...
( t2 I7 w" @7 e7 Z4 w/ xRetrieving file .treeinfo 100% |=========================| 417 B 00:00
6 F! U6 ?1 s2 B6 F* C1 wRetrieving file vmlinuz.. 100% |=========================| 2.0 MB 00:00
# l' T* k, p% ?. ]: |Retrieving file initrd.im 100% |=========================| 7.7 MB 00:00
+ k, [6 B) ] b! o% V5 m4 p9 MvirDomainCreateLinux() failed XML描述 domain 不是良好的格式或者无效 X6 v% x& ^, P [; y2 e3 l
Domain installation may not have been
2 C1 w' }4 s; c0 l D$ f: W successful. If it was, you can restart your domain- ~; e+ C1 ^3 |" J* ^* L: s5 U) T
by running 'virsh start vm02-CentOS-5.5'; otherwise, please
5 l! e) k S4 `, t' t. s( E restart your installation.' P$ D9 ]* X o% h/ G# E, x) R; N/ _
三, 20 4月 2011 19:21:08 ERROR virDomainCreateLinux() failed XML描述 domain 不是良好的格式或者无效4 {, X. h7 C+ h! L
Traceback (most recent call last):
$ e6 `$ E( B7 V( K z. x; e File "/usr/bin/virt-install", line 502, in ?4 `$ k L6 Y+ ~' X# ]. {" t
main()
( [( [5 z& z. q* p ~2 ~. k( t File "/usr/bin/virt-install", line 462, in main
1 k' j( g3 z; c dom = guest.start_install(conscb,progresscb)" l* ~ {, A- u& \ s9 R
File "/usr/lib/python2.4/site-packages/virtinst/Guest.py", line 813, in start_install
, \5 ]/ N: r6 ^9 @$ b return self._do_install(consolecb, meter)
* E% \6 m* u. E9 M9 ?: f3 a File "/usr/lib/python2.4/site-packages/virtinst/Guest.py", line 834, in _do_install* C1 T5 J/ z8 x/ @, `9 v
self.domain = self.conn.createLinux(install_xml, 0)2 z, h8 C' k$ ^4 Q s3 e
File "/usr/lib64/python2.4/site-packages/libvirt.py", line 573, in createLinux
+ ~0 c+ g! _9 M- E if ret is None:raise libvirtError('virDomainCreateLinux() failed', conn=self)4 X; d5 z# o3 [1 G9 p3 g2 w8 ^
libvirtError: virDomainCreateLinux() failed XML描述 domain 不是良好的格式或者无效 8 g+ t) ?$ ]# Z7 A. {# c+ C
----------------------------------------------------------------------------------------
% t# l( T6 ` d0 Y( u############################################: l5 Q1 R* ~: J ^. W
解决办法:$ l4 Z6 T4 j- p2 x
6 _7 i9 L7 b! n$ s安装前先启动 libvirtd 服务。
4 J$ {9 U q9 q2 b6 b) D' @4 k; m, f; |5 J. X
[root@glnode04 vm02-CentOS-5.5]# /etc/init.d/libvirtd status
9 e6 g/ L5 [( _, clibvirtd is stopped
+ q, J0 m1 F A2 J& Q[root@glnode04 vm02-CentOS-5.5]# /etc/init.d/libvirtd start: A! K3 T" c* k$ m
Starting libvirtd daemon: [ OK ]* R) E1 k) {+ U3 x0 ?* G. @) }3 `% M
. W7 i- L* ^' Y/ I
0 i: K# M& p9 ^/ }$ i2 n
- m! S C1 b) X9 \- C原因分析:9 D5 O/ J* j7 X* @+ S
出现此报错应该是主机的libvirtd服务没有启动,而virt-install工具在进行客户机系统安装的时候错误地将客户机的网卡连接到libvirtd服务起的网桥virbr0上,此时libvirtd是关闭的,所以virbr0也不存在了,就出现了上面的错误信息。! H( S; W( l- d( D# r# A( w& b
解决方法有两个:
- Y: G, ^/ P% T6 ~. U(i)启动libvirtd服务后重新用原来的virt-install命令安装客户机操作系统;
% J& \, [: g! R- K+ D#/etc/init.d/libvirtd start+ C" Z; G0 w9 f' E3 Q, T: Z4 e$ o
& z2 m# ], z- Q% G: @9 M(ii)、在原来的virt-install命令后面加-b参数指定需要连接的网桥,如果未调整网络,一般默认的网桥应该为xenbr0
) O' J3 f7 K: k$ s要查看网桥的名称可以使用brctl命令查看' P2 d! A( M- V- i
5 z( N1 a1 T% `# g* h
[root@glnode04 vm02-CentOS-5.5]# /etc/init.d/libvirtd status6 h p' C6 D- @7 g7 b
libvirtd is stopped
( X; l! P! X0 l: u7 t. r. n[root@glnode04 vm02-CentOS-5.5]# brctl show # libvirtd是关闭时网桥virbr0也不存在
9 ]2 ?& Z& R1 _0 T8 W$ |bridge name bridge id STP enabled interfaces
: S, ~2 e3 p: g7 q# H[root@glnode04 vm02-CentOS-5.5]# /etc/init.d/libvirtd start& \& X" B% s2 j8 q: c _' w6 ^
Starting libvirtd daemon: [ OK ]
, z$ y& C/ F. M7 t[root@glnode04 vm02-CentOS-5.5]# /etc/init.d/libvirtd status5 N; K# K( d( i W2 O- u
libvirtd (pid 20863) is running...9 G+ b" j4 \, j6 N5 h
[root@glnode04 vm02-CentOS-5.5]# brctl show0 r6 \8 {! d) Z5 j8 X# n
bridge name bridge id STP enabled interfaces1 |9 Y+ r1 J3 }
virbr0 8000.000000000000 yes
: \6 b2 y) F; {" y; N1 p6 u3 v6 a- ]* `* G5 ^
此处我们已经关闭了libvirtd服务,剩下的网桥的名称为xenbr0(如果创建了多个网桥,选择自己需要的网桥名称)3 w3 l8 f$ D; t8 s! U9 J0 E
#virt-install -n kiro-test -r 256 --vcpus=1 -f /data/rh5 --nographics -p -d -l "http://192.168.0.1" -b xenbr0
. M' T" K9 X/ ]% J/ H4 q7 x% @/ r' L- G8 Q2 U
参考: XEN故障与解决方法汇总
# T9 d8 J0 G1 [% l4 J7 v! E1 s- l/ G) ^8 x9 `# Z
: ~$ O2 g' y3 k" B# e
############################################
* m0 s. N- r& z% c% |' g" X/ \% _0 t2 D% `0 r4 y }8 \' }
! z* O5 |% V0 \8 ^
# ~" i; p S! b: c, a3 ?# Y(3) virt-manager 中连接虚拟机管理者Dom 0时出现错误:虚拟机管理者连接失败 libvirtError: virConnectOpenReadOnly() failed ^! l9 F4 M/ e* s9 r/ j# s
' j# E* r& j. C; b----------------------------------------------------------------------------------------. c8 p( @- U5 O7 q/ x* \9 `( B
Unable to open connection to hypervisor URI 'xen:///':
, l" Q0 e5 Z8 H/ E- E% [8 B. Clibvirt.libvirtError virConnectOpenReadOnly() failed* Q8 M7 U9 n0 ?: j" G; t
Traceback (most recent call last):
" U; T# R: R" e, h File "/usr/share/virt-manager/virtManager/connection.py", line 307, in _open_thread
2 x8 b! i p" X5 d, P self.vmm = libvirt.openReadOnly(self.uri), ^. {5 [. T* m3 D
File "/usr/lib64/python2.4/site-packages/libvirt.py", line 132, in openReadOnly
7 [' a I- Y4 }$ c if ret is None:raise libvirtError('virConnectOpenReadOnly() failed')2 \( z. l# Z! j
libvirtError: virConnectOpenReadOnly() failed
/ \6 i/ \8 y3 [0 x, V. B' z
0 S1 V; R3 b9 x! [8 O1 ?
3 u, ~ V z; Q' k2 Q$ M# x
3 v: G2 }7 y0 H4 F& g2 d3 S
( B" I0 r0 Q1 `$ L- ~4 q: ?7 p& Q+ i0 ~! K* H L4 X
----------------------------------------------------------------------------------------
% |* e0 Z" M+ w! M" j0 T3 `" K5 }. x# |
############################################0 G `$ O& s! ], y. W) {
解决:# v. y/ u, Z! {. P8 b
. h* @% ~ s/ m1 {" f
修改 xen 配置文件,按如下方式修改:7 ?+ [* w# E# S; i' E) o
[root@glnode04 ~]# vim /etc/xen/xend-config.sxp" y& v* y. i% m
% t& z' f2 i2 s: M0 C; {* }(xend-http-server yes)5 O, G4 [( l2 o2 U+ [& m
(xend-unix-server yes) 9 h# n! w- |8 {) }- D/ f
& ~! `1 E3 f k% `! M
重新启动 Xend 服务# W, t3 w, I' m) a2 |
7 `" {1 @& R/ f9 E( \% |$ a( I" b
[root@glnode04 ~]# xend restart
. `: T+ d" h8 O- M( m/ Q############################################7 X9 l3 _1 b* H9 j
$ Y* \$ _3 A$ Y0 G6 `5 B/ d
7 X4 g. e3 q5 j, }$ a/ h1 u& H7 u
(4) virt-install 安装虚拟机是出现错误:ERROR 无法连接到 'localhost:8000': 拒绝连接* i' ]& X6 Y6 D1 G; T- `' \$ ?; o
* D: F& ]. F" r4 k
----------------------------------------------------------------------------------------
5 E- @8 ? N, o2 |6 f) N7 @8 r6 d N. x. ^- S$ e2 x
[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.59 O. K) T% k0 z8 K" L" e
ERROR 无法连接到 'localhost:8000': 拒绝连接* Z, r8 z9 H% i" R9 C* ~/ K- G# v
Traceback (most recent call last):5 d+ C# h1 F7 k/ o3 P" a
File "/usr/sbin/virt-install", line 861, in ?
}) k7 c% n: ]* X main()
; {' Q3 H; I/ k File "/usr/sbin/virt-install", line 636, in main0 s; Y0 E: F) l4 V* T3 u
conn = cli.getConnection(options.connect). B3 [ h+ h( a1 [. C( m
File "/usr/lib/python2.4/site-packages/virtinst/cli.py", line 126, in getConnection
+ [5 q+ r2 v' s V4 I' o" y conn = libvirt.open(connect)
# U3 v1 G$ E" p6 H% I9 d! K+ ~ File "/usr/lib64/python2.4/site-packages/libvirt.py", line 159, in open( E' r* E/ H1 K) u! m% C
if ret is None:raise libvirtError('virConnectOpen() failed')
2 |, d: L- t: e7 j( y$ KlibvirtError: 无法连接到 'localhost:8000': 拒绝连接
6 D* w# ?2 D& F8 Q+ N8 O----------------------------------------------------------------------------------------& ]6 j* i" y0 B3 r
############################################8 X+ k1 S. [/ `
解决:
+ @3 a* p, n% o
* J* p. Z( J' X$ U, S' ?9 t4 v' {
1 E8 L) C2 ?( s+ @3 {% \, A
7 q/ x# h0 k7 N9 b x修改 Xend 配置文件,然后,xend restart
8 Y Q2 W; v/ O/ g7 A
2 J; Y2 y7 s2 ]; ?[root@gmnode14 yum.repos.d]# vim /etc/xen/xend-config.sxp2 b; f9 G/ ]6 t) i% k# i( F
; d3 q8 e. w9 _8 W+ U, U# w(xend-http-server yes)
4 I E7 }( Q7 E5 b/ D4 K) N ^" r(xend-unix-server yes)
8 N6 {" f2 p& U+ B; F
+ b1 D B8 _" D2 R8 }, d(xend-port 8000)+ K }3 l% o& G+ M$ F. G; I
8 L. [9 b( p O7 O
############################################. E( I6 z# y: j( b8 f) H
8 j( ?( @. ]4 e( D5 ~) f(5) virt-manager 安装Xen虚拟机连接网络时nat和桥接设备均为空,无法选择,安装不能继续9 X* d' q5 P( l# ?; ?
0 _ p+ t4 d, z
, C8 `, l2 R+ O1 T) B4 d p" V! u3 n' U, _# I% r3 d
/ F& F6 C! ?+ F3 D
, b6 L7 |/ Q/ v
; _7 ^. `, T z& q% D$ R
0 q @1 e1 F% m, Q4 `; J+ X
############################################
; N: }" P3 ]% S4 x# U5 Z
: b" h2 K5 O0 M分析原因: S5 @1 f9 k( H; J
$ o. i2 ?4 ^, Y; d! Y出现此报错应该是主机的libvirtd服务没有启动,$ y7 g; Y: X" S# B& {! X( _! T: D
3 c1 j# y" T# T: `) G4 `而virt-install工具在进行客户机系统安装的时候错误地将客户机的网卡连接到libvirtd服务起的网桥virbr0上,此时libvirtd是关闭的,所以virbr0也不存在了,就出现了上面的错误信息。
) k: o0 A8 }# y3 G0 ]# ~* C% V0 `: e5 N
解决方法:
9 l0 u* C- f, L, z: n
0 F) J8 A/ {0 Y5 q& e2 `* ?启动libvirtd服务后重新运行 virt-manager 来安装客户机操作系统;
2 A8 k; E# x$ s4 A
) U" y* s8 R! g( U8 b5 S. T# a7 j#/etc/init.d/libvirtd start
6 t! x! Q/ X8 n( m9 u$ V5 n4 L/ B$ q但是这也只能保证 nat 选项中有 default 选项,桥接仍不能选择设备,要彻底解决Xen虚拟机网络设备问题请参考问题(6)
# z+ v0 a* c6 |2 m$ X4 \1 S9 z- h7 h% Y7 b9 U* Q' f
参考: XEN故障与解决方法汇总
4 g" o& ~! `* C( i9 K4 c
4 B u5 _% y! G1 R############################################/ o# s& X! h/ k3 z+ E
3 V) m" R' f, y+ i h6 @
8 D$ w; M% b d- P! u& [) j2 q+ S- ^0 }7 c/ }4 ]8 c
(6) virt-manager 或者 virt-install 安装虚拟机系统过程中出现错误:( w: A8 v' W7 F9 y* w7 P U
& p- q8 O* p4 y8 r0 E* n) k. c'libvirt.libvirtError virDomainCreateLinux() failed POST操作失败: (xend.err 'Device 0 (vif) could not be connected. Hotplug scripts not working.
. ^' m" H2 v. {8 P `. R/ f---------------------------------------------------------------------------------------
, }3 J% {9 \, T4 |3 sUnable to complete install 'libvirt.libvirtError virDomainCreateLinux() failed POST操作失败: (xend.err 'Device 0 (vif) could not be connected. Hotplug scripts not working. ')
! Y+ T; Y! b+ l/ QTraceback (most recent call last):
( Z" L& ~5 x9 p( ` File "/usr/share/virt-manager/virtManager/create.py", line 611, in do_install: }, Q. V+ O2 g
dom = guest.start_install(False, meter = meter)! V9 z7 w% L$ {9 { A1 u
File "/usr/lib/python2.4/site-packages/virtinst/Guest.py", line 813, in start_install
" W3 Z5 G/ p6 w i: F5 | return self._do_install(consolecb, meter)7 B8 g0 |# k# O' L! }
File "/usr/lib/python2.4/site-packages/virtinst/Guest.py", line 834, in _do_install
$ o5 W$ o1 r( J5 @ self.domain = self.conn.createLinux(install_xml, 0)$ ~5 C! B' j7 ]1 u( C
File "/usr/lib64/python2.4/site-packages/libvirt.py", line 573, in createLinux- P+ q: s: @+ h9 W
if ret is None:raise libvirtError('virDomainCreateLinux() failed', conn=self)
3 j1 x5 u$ X u) J& `libvirtError: virDomainCreateLinux() failed POST操作失败: (xend.err 'Device 0 (vif) could not be connected. Hotplug scripts not working.') ; }$ @/ t, S' R- L, h( Y* K
'---------------------------------------------------------------------------------------5 u" M6 X! |0 T( Y, w) V
############################################. ]/ l( ~/ y4 `2 n4 S
9 E/ {9 ^! }$ [8 i. r原因分析:
! `: q: q% D! T从错误提示中可以查看到设备(vif) 不能连接,突然想到之前创建虚拟机时在网络连接设置时桥接方式不能选择,只能选择nat方式连接网络(见问题5),很可能和这个问题也有关系;
$ [; X9 U/ y* L4 P0 U8 D
' d, u+ V, c4 ~, z8 x. n' ?5 e6 ~8 R; ^2 D: [$ ]; p2 ^$ @2 d
解决办法:
1 p. o9 N; ^8 V9 ~1 @7 N6 K/ I: P; D% e: X% i( x; P
: m8 Q! L, L$ s
1 @& ]9 o# M2 R& ]4 X因为我使用的机器是好几年前的,系统是 Cent OS 5.2,不知道xen相关包有没有安装正常,于是使用 yum -y install xen* 重新安装了 xen 相关包,发现有几个包的确没有安装上 。安装完毕,重启系统后创建虚拟机,该问题不再出现。' x+ a- N( T+ T+ H
& h/ B1 }$ q/ w: C# x8 C; I
如何使用 yum 安装xen相关软件包,请参见 CentOS 5.4下使用yum安装Xen
4 k% K! v z6 z% O) i' p+ z
# Q5 n% k; A: h( T- Q, F6 f. L! J$ x. n3 q% f& b* U
r& o, ^$ B& ~ Y, j; E' d4 q5 q1 Y
2011-04-29 更新该问题
& Q" i) _; }0 I) A2 `& x. Y; | ^. S) | ]. }& k1 F& l
; `+ S' Z, g5 G! [; M# c& V& G/ e' P8 r, H; [" l5 e- R1 Y
后来我在另外一台机器上做实验室时一直提示该错误,就算重新安装了 xen,还是无法解决问题,后来终于从一个国外的网站上得到了提示,这个网站现在不记得了,忘记搜藏了。! I* l G9 t9 M" \& V# R
$ ], k# q; q0 o/ i6 U
$ X- O* r$ w7 Q- `0 x' G4 i) g- Q' G. C# |
网站上说,启动虚拟机桥接设备需要这样几个内核模块支持:netbk ,netloop,于是我使用 modprobe 命令手动加载了这两个模块,并且重新启动了 xend,这是生成了网桥设备 xenbr0,2 \/ O5 Y0 x W
/ t3 g! j8 O' A- B3 A+ V( s D: j; t
我的测试和使用日志如下:
! Z8 @; @" D* \7 T9 Z; p+ N# L4 W
B p- h# J$ e8 q1 \# D4 m- _8 Q
, Q* S4 M7 R9 R4 R安装虚拟机系统时,出现以下错误:8 j" t! ?+ O$ S2 m0 P% O
5 d9 _: N! G- ?" a% E' V
virt-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/
5 G/ s) }$ m3 ^4 n0 [
) M: n; }' Y% t[root@hdfs05 vm01-CentOS-5.5-full]# ./install_vm.sh + m# y' x7 ]7 |5 m' x
Would you like a fully virtualized guest (yes or no)? This will allow you to run unmodified operating systems. yes3 i: n6 ?3 S- m0 L& t9 A# C8 ]
) l. l& @, T0 F5 v2 U7 O
) b9 K; f1 q P5 P4 @8 o% T/ w
Starting install...4 u% B5 ]) U# S
Retrieving file .treeinfo 100% |=========================| 417 B 00:00 - A/ T" L( r7 N5 L' ^1 Z
Retrieving file boot.iso. 100% |=========================| 10 MB 00:00
5 ?8 Q! p$ K4 I$ \* D( `$ |, aCreating storage file... 100% |=========================| 20 GB 00:00
' P- v; P9 Q; U% bvirDomainCreateLinux() failed POST操作失败: (xend.err 'Device 0 (vif) could not be connected. Hotplug scripts not working.')
; X6 A" ^' e% ^Domain installation may not have been9 F7 ^( F* O# R
successful. If it was, you can restart your domain
X2 }' k7 z/ N0 Z- h& M- y, p by running 'virsh start vm02-CentOS-5.5-full'; otherwise, please
% l: A1 C4 t0 p+ s! ^3 S3 t restart your installation.8 b6 h# d0 V( e
二, 26 4月 2011 09:23:28 ERROR virDomainCreateLinux() failed POST操作失败: (xend.err 'Device 0 (vif) could not be connected. Hotplug scripts not working.')' G9 f# U5 N" Z8 M. L
Traceback (most recent call last):& K( T: b5 Z7 Q3 d% o2 z, @9 v: Z. k
File "/usr/bin/virt-install", line 502, in ?
0 t% h, ^4 X1 u; `! q4 t main()
% r1 l f# M4 X: e6 n5 C2 \% y3 Y File "/usr/bin/virt-install", line 462, in main
" y% S- ~. r+ x" r. G) H dom = guest.start_install(conscb,progresscb)7 q2 h/ \5 [/ L/ M+ H
File "/usr/lib/python2.4/site-packages/virtinst/Guest.py", line 813, in start_install
- p( ^5 f, d# h- V* _9 P8 @ return self._do_install(consolecb, meter): @! f1 m/ [/ H! k- s
File "/usr/lib/python2.4/site-packages/virtinst/Guest.py", line 834, in _do_install
# L, p: ?* ~+ y) n! B self.domain = self.conn.createLinux(install_xml, 0)4 @1 n) ?8 z+ i$ @ [# ^
File "/usr/lib64/python2.4/site-packages/libvirt.py", line 573, in createLinux
. X, i/ t: `# X& w7 X% ? if ret is None:raise libvirtError('virDomainCreateLinux() failed', conn=self)9 U C* D& _( `; J5 c
libvirtError: virDomainCreateLinux() failed POST操作失败: (xend.err 'Device 0 (vif) could not be connected. Hotplug scripts not working.')
5 H1 H6 ~* x! W" {. w4 j$ K! h1 n1 K4 x5 [+ F0 H
这是 xenbr0、vif0.0 未启动导致的问题。
2 B3 c; d) Q/ |" w6 I( H3 \# h+ F0 X7 v1 z
重启机器后6 n- Q# s% v! [3 E8 l$ G: A/ Z# }
1 ~; ?' w) ]; V( J7 j[root@hdfs05 ~]# xend start
- ~' V d6 d2 a0 Y7 q7 X[root@hdfs05 ~]# xm list. e% X' p8 L; }
Name ID Mem(MiB) VCPUs State Time(s)
( g8 z; G' ?9 E* n8 V" ^Domain-0 0 7931 8 r----- 40.5& D7 }% Z1 \0 w! J' m3 @8 q
[root@hdfs05 ~]# ifconfig
% I, q; N5 M% b" |: |& oeth0 Link encap:Ethernet HWaddr 00:1D:7D:48:38:1A
; j7 Q! M( P: B( S inet addr:10.10.111.5 Bcast:10.10.255.255 Mask:255.255.0.02 e% a6 }* c# c G* T
inet6 addr: fe80::21d:7dff:fe48:381a/64 Scope:Link
- |# N; Q r+ y; c6 {3 o5 l UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
8 U3 F- M, W1 R& P RX packets:4942 errors:0 dropped:0 overruns:0 frame:03 B+ g0 e7 z$ ^& Y) p3 U8 R% g4 H; I
TX packets:111 errors:0 dropped:0 overruns:0 carrier:0- ]2 Z/ m# Z: k u
collisions:0 txqueuelen:1000
7 h, Z, M# e" K RX bytes:681358 (665.3 KiB) TX bytes:14358 (14.0 KiB)
% A& D; _' N% b Memory:d8320000-d8340000
8 j" P, F. O/ `7 \# q" ~# n" T/ \ m2 O6 X f M& S
eth1 Link encap:Ethernet HWaddr 00:1D:7D:48:38:1B
# r& q1 `% d1 e( n. M inet addr:10.10.141.4 Bcast:10.10.255.255 Mask:255.255.0.0% W! D% q6 z( a+ w4 O! c: \3 v% R
inet6 addr: fe80::21d:7dff:fe48:381b/64 Scope:Link6 [, h3 I+ w9 y* Q% [7 A
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
6 y3 I. x; ?# s. w# z% _7 S8 ?2 l RX packets:20 errors:0 dropped:0 overruns:0 frame:09 A2 [4 ]2 I1 I- f1 y6 o
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
0 M: V8 p e u% p& k collisions:0 txqueuelen:1000 : a8 P1 |$ d9 A0 C( L E2 B" C- X
RX bytes:4970 (4.8 KiB) TX bytes:552 (552.0 b)
4 [2 v! O+ _/ Z Memory:d8360000-d8380000 . x& j- e/ Y; J7 ~( M W5 [8 {! q1 \% x
9 U I9 p# y$ h4 t
lo Link encap:Local Loopback
/ h" R7 v6 h, t. k8 b inet addr:127.0.0.1 Mask:255.0.0.0
7 X& y, a; K K( _( u) j inet6 addr: ::1/128 Scope:Host; J6 F7 g6 `9 `+ v( v! e, z% y
UP LOOPBACK RUNNING MTU:16436 Metric:15 t: x8 b& x' E( x
RX packets:87189 errors:0 dropped:0 overruns:0 frame:0
6 r4 M8 O! J7 E0 a TX packets:87189 errors:0 dropped:0 overruns:0 carrier:0
) J- d* W) t0 ?' h5 q' v collisions:0 txqueuelen:0 r, \6 r& Q/ Z5 p, b/ N
RX bytes:118287320 (112.8 MiB) TX bytes:118287320 (112.8 MiB)
/ Z# g) v7 n; Q$ d4 M4 u; g% P! r* j) Z( @
[root@hdfs05 ~]# /etc/init.d/libvirtd
2 _+ Q$ \6 T$ N& V7 k) e* Q$ HUsage: /etc/init.d/libvirtd {start|stop|status|restart|condrestart|reload}- j8 t/ G% \- C8 {& |1 P! D5 J
[root@hdfs05 ~]# /etc/init.d/libvirtd status9 ~) V# p9 \* D; {- N: U) E/ ] Z
libvirtd is stopped4 M7 `6 [. {6 q* \' L$ ~) @# d4 Q% ^
[root@hdfs05 ~]# /etc/init.d/libvirtd start 启动 libvirtd 服务
8 L' }9 `% M N9 a- iStarting libvirtd daemon: [ OK ]
1 t! E; R# U; d) H. _# v[root@hdfs05 ~]# ifconfig ,生成了网桥设备 virbr0
2 ~ \. Z. C; F, M+ ?7 D9 Leth0 Link encap:Ethernet HWaddr 00:1D:7D:48:38:1A 3 `; h5 e& V; O1 Y) |$ p8 c
inet addr:10.10.111.5 Bcast:10.10.255.255 Mask:255.255.0.0
3 \" A/ t4 ?$ b$ i+ @& M6 o! q) ~' i inet6 addr: fe80::21d:7dff:fe48:381a/64 Scope:Link! L) J# s B8 c0 ]% r8 Z& u$ t
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:10 ]8 N1 D1 ?" K9 w/ _9 a) s
RX packets:5082 errors:0 dropped:0 overruns:0 frame:0' @0 P& [ q$ ~# y4 w+ y1 p
TX packets:175 errors:0 dropped:0 overruns:0 carrier:0
8 B3 b9 i8 ]) u( ~7 F: _ collisions:0 txqueuelen:1000 2 t; C4 S o! }8 o
RX bytes:710500 (693.8 KiB) TX bytes:23050 (22.5 KiB)
3 a' A! g0 P% X* }, o Memory:d8320000-d8340000 8 V0 S% e2 x# A- X6 o
( Y' ~: M! J- `4 m! E# k5 B
eth1 Link encap:Ethernet HWaddr 00:1D:7D:48:38:1B ! v2 D2 j6 n1 D6 U" i- i- [
inet addr:10.10.141.4 Bcast:10.10.255.255 Mask:255.255.0.0& v3 m1 ^$ h9 Q& I7 U
inet6 addr: fe80::21d:7dff:fe48:381b/64 Scope:Link( {5 `* Q) l$ E, T0 {
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
5 X- s+ K! z- p( R; i' E& F: K# W RX packets:20 errors:0 dropped:0 overruns:0 frame:0 ^1 @% K z( g2 c( G2 ~
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0; A' r& h5 e* w2 h1 l& S! A
collisions:0 txqueuelen:1000
) Q _/ t" ^. s; v0 h. |7 A4 B3 K RX bytes:4970 (4.8 KiB) TX bytes:552 (552.0 b)9 U0 s( M# j2 Z$ J1 A4 o
Memory:d8360000-d8380000
+ C$ W7 }) f0 r: x u' ?6 P' C c5 P5 j
lo Link encap:Local Loopback 6 Z# Z+ w" _) G" U
inet addr:127.0.0.1 Mask:255.0.0.0# m& x7 m! @* R, h
inet6 addr: ::1/128 Scope:Host
2 p( S" c4 y* F5 A! a6 C) S UP LOOPBACK RUNNING MTU:16436 Metric:1
5 P0 `4 {9 p& M; P RX packets:87613 errors:0 dropped:0 overruns:0 frame:0: {8 }3 d) a. M- y
TX packets:87613 errors:0 dropped:0 overruns:0 carrier:0
/ L+ r" g S' w% B collisions:0 txqueuelen:0
; O( @( c `: `3 R* z( W0 ?6 X6 Q6 \ RX bytes:118861744 (113.3 MiB) TX bytes:118861744 (113.3 MiB)# h- S2 _, @+ P# _0 u H6 g
3 u7 F1 _2 S' d7 W: M3 ~
virbr0 Link encap:Ethernet HWaddr 00:00:00:00:00:00 + @7 e( s: d/ N( L( }7 t$ I: y; n _
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0/ S4 [# h; r' d$ c
inet6 addr: fe80::200:ff:fe00:0/64 Scope:Link3 Q+ ^3 k% E' T! I# r. z3 A
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:17 p8 e6 u1 W u* H" }
RX packets:0 errors:0 dropped:0 overruns:0 frame:03 Q' l" }0 u9 [
TX packets:4 errors:0 dropped:0 overruns:0 carrier:0) C/ T( u0 u+ b
collisions:0 txqueuelen:0 4 [9 {" P! p6 H! ~3 u
RX bytes:0 (0.0 b) TX bytes:328 (328.0 b)* s+ j6 d- S% G+ b7 T
: f- R; w$ L3 r8 v: ?5 S+ t) q, }& V8 A[root@hdfs05 ~]# xend stop# l0 e: A8 n1 Y, [
[root@hdfs05 ~]# /etc/init.d/libvirtd stop
8 ?- R( @9 e6 F! Q7 O# cStopping libvirtd daemon: [ OK ]
4 K/ H- ?' D4 \, M* Q[root@hdfs05 ~]# /etc/init.d/libvirtd start% [8 @: b# h. m: i) e
[root@hdfs05 ~]# xend start
$ y$ N- w* D f5 N2 A[root@hdfs05 ~]# ifconfig
! e8 J/ u9 [ j3 C$ a; \( zeth0 Link encap:Ethernet HWaddr 00:1D:7D:48:38:1A
, i. \4 _/ O% M& o inet addr:10.10.111.5 Bcast:10.10.255.255 Mask:255.255.0.0! s6 m6 ]/ o( u2 L( k: X* Y# m( S
inet6 addr: fe80::21d:7dff:fe48:381a/64 Scope:Link
" Q! i7 r$ I' K* R4 R1 z UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
7 ^' ~% E: p9 D RX packets:5508 errors:0 dropped:0 overruns:0 frame:0
; k0 k; \ u0 F' M$ v. g TX packets:299 errors:0 dropped:0 overruns:0 carrier:0 O8 |, L2 J5 |5 D( r/ R
collisions:0 txqueuelen:1000 9 e. n- c" V6 a! p+ K# m& `8 u
RX bytes:757440 (739.6 KiB) TX bytes:42402 (41.4 KiB)
U1 h) o X- u Memory:d8320000-d8340000 ) B. ?" R" O/ `5 b+ E- h
D! ?7 `6 G# W* C9 J$ _eth1 Link encap:Ethernet HWaddr 00:1D:7D:48:38:1B
3 g& G" x3 [# r inet addr:10.10.141.4 Bcast:10.10.255.255 Mask:255.255.0.0( m$ L" M$ z; y! j2 |! E1 ]# n
inet6 addr: fe80::21d:7dff:fe48:381b/64 Scope:Link
" @8 J8 r# c5 D6 o$ ]; @ UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
) L/ A- b/ d6 R+ k RX packets:20 errors:0 dropped:0 overruns:0 frame:0
3 g2 H# x' z$ Y# \& s' y& c3 T$ y TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
& \: n* y/ |- y collisions:0 txqueuelen:1000
+ K6 p7 a8 L$ Y c$ {0 h9 k; x RX bytes:4970 (4.8 KiB) TX bytes:552 (552.0 b)
, V4 V- |4 Y1 {2 j. k; M Memory:d8360000-d8380000 4 d; w+ |' i6 m- w0 P
9 s' q1 u, i9 V2 Ilo Link encap:Local Loopback
+ g) t0 ]9 v7 J# {, J# y! L8 U7 E3 D inet addr:127.0.0.1 Mask:255.0.0.0
' R) ]6 K' H% P) p9 E inet6 addr: ::1/128 Scope:Host
! t8 I1 e- j( T/ j% g# T UP LOOPBACK RUNNING MTU:16436 Metric:1. E5 B, O# H( o8 }( Y
RX packets:91038 errors:0 dropped:0 overruns:0 frame:0
0 r3 K, f# ^/ N; b8 S z TX packets:91038 errors:0 dropped:0 overruns:0 carrier:0 o; E0 b; J) K
collisions:0 txqueuelen:0
" X. m# _; @( C* U" {; a/ I RX bytes:123483512 (117.7 MiB) TX bytes:123483512 (117.7 MiB)# R% l$ H( p* F6 T1 e
- w! k* r6 r& [- m6 |2 r
virbr0 Link encap:Ethernet HWaddr 00:00:00:00:00:00 1 N! W a9 B, F" Y
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
; U* `6 t8 U9 T0 X, X inet6 addr: fe80::200:ff:fe00:0/64 Scope:Link
0 H. Q0 r! h ~ UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
6 U7 h/ s, @1 l- W5 W RX packets:0 errors:0 dropped:0 overruns:0 frame:06 D1 v& M5 E# U" v9 `
TX packets:5 errors:0 dropped:0 overruns:0 carrier:09 |" K3 i# h* @
collisions:0 txqueuelen:0
2 P' `- H% [1 ~ RX bytes:0 (0.0 b) TX bytes:398 (398.0 b)6 }* n' A2 \2 t9 A
+ ~2 o3 V+ E5 }3 O; v
xenbr0 未启动,
2 @% _- S- ^4 a+ m6 t+ f8 ?# V; s; h1 p3 w* t$ J) N F
查看Xend启动日志,出现错误“Link veth0 is missing”$ f* R$ }4 z( U* X4 {9 K
, y8 u% M* y3 r, { Q& [
[root@hdfs05 ~]# vim /var/log/xen/xend-debug.log 5 p" y; {- S/ E9 A
1
' `' C6 H+ v8 U/ @9 P- X2 a$ f 2 Link veth0 is missing.
! J: |/ C" ^' M" E1 Q; [ N" e 3 This may be because you have reached the limit of the number of interfaces
& ~: [2 h5 ?9 S5 I/ r 4 that the loopback driver supports. If the loopback driver is a module, you
% P4 G7 n- c# o3 E. F5 [. K5 Y" F 5 may raise this limit by passing it as a parameter (nloopbacks=<N>); if the0 c" A7 E7 e& V: k
6 driver is compiled statically into the kernel, then you may set the parameter8 i1 o; ~ E$ {
7 using loopback.nloopbacks=<N> on the domain 0 kernel command line.
+ h, r% `+ d' _7 t+ E5 _ ^ 8
) l( D ^3 w& H: a% u0 u2 G
8 F( F( q1 Z8 |$ k: |8 k使用脚本手动启动,出现错误
% c* V4 d7 s% H* e# e% L4 ~5 }( G, }$ k
[root@hdfs05 ~]# /etc/xen/scripts/network-bridge status, T8 f0 }/ t, X: ?; @( z* x
============================================================
9 W2 u/ P. \" T" Q# W! J5 F2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000. a& P3 B% m! Y% m+ ]" f9 E% T
link/ether 00:1d:7d:48:38:1a brd ff:ff:ff:ff:ff:ff0 H, a0 d) V8 ^
inet 10.10.111.5/16 brd 10.10.255.255 scope global eth0
% w# z2 j7 F; j; r inet6 fe80::21d:7dff:fe48:381a/64 scope link # _% @5 |8 c* @+ P: G, \# y* \
valid_lft forever preferred_lft forever5 @# ?3 l6 s7 f
Device "xenbr0" does not exist.- S6 O9 [# l) ^& d$ \( r: _ e
1 P9 D8 @* H" ?0 Z+ d
[root@hdfs05 ~]# /etc/xen/scripts/network-bridge start- W( G' @8 C: D1 L- ~
% N. |& v: }: HLink veth0 is missing.! [, k1 w* c# z" C1 L9 j& [
This may be because you have reached the limit of the number of interfaces
$ ^5 ?* X( E( Y3 |- a) R9 uthat the loopback driver supports. If the loopback driver is a module, you
# a! [2 i) s/ tmay raise this limit by passing it as a parameter (nloopbacks=<N>); if the
; R8 F( O8 t7 B: S& N6 o5 a9 G0 n4 ~driver is compiled statically into the kernel, then you may set the parameter
& L9 x i3 \7 M; n" X' p7 n6 }using loopback.nloopbacks=<N> on the domain 0 kernel command line.
; p: g. g: r& L# X( `
, x9 f2 n8 n) S5 b8 T查看加载的模块7 f1 u% M0 B: A( ~/ T9 h! D' ?. A
9 o. i$ F3 `; B, e) U* n9 j! z" {
[root@hdfs05 ~]# lsmod | grep net' P; [: ?5 f3 Z' q! _3 A" j
nfnetlink 40457 2 ip_nat,ip_conntrack& }1 N/ q; H Q3 p& b& N: `
) a1 u! j5 }5 I5 m) ?
正常情况下的 glnode04 上是:
. a' \" Q8 E2 j, l) z[root@glnode04 Xenoprof]# lsmod | grep net+ Z- P$ I. p: f* F3 T, A/ v/ i
netloop 40129 0 " T% y, k9 |$ i; `
netbk 129153 0 [permanent]
1 g" G) z5 N; I. M0 e
, C* |$ }, F& l) s手动加载模块 netbk ,netloop% S5 z( }. S3 X- U
% r" L. o* u+ d[root@hdfs05 ~]# modprobe netloop* c2 M1 p2 u& b7 ]9 k
[root@hdfs05 ~]# modprobe netbk; o: }" ]) S' F% d
[root@hdfs05 ~]# lsmod | grep net Y/ X2 _* W5 ] ^
netbk 129153 0 [permanent]9 G2 z0 j/ }. P. d
netloop 40129 0
4 f1 z* r7 h8 o# _! B% c3 I9 lnfnetlink 40457 2 ip_nat,ip_conntrack
+ k% ]9 d9 d5 e; h1 ]* c
# ]* V! ~/ V; C9 s4 V4 y5 }/ R# p* v模块加载后重启 xend,
+ ~- \0 p r( b5 t: [" |
' z8 b8 V+ t, G7 c4 h[root@hdfs05 ~]# xend stop
! X$ j. l5 Y* p, L+ s[root@hdfs05 ~]# xend start 启动消耗很长时间,像死机一样,网络跟断了一样,bash关闭了,过一段时间后网络好了。
3 c6 w( D% O' p: h: G- p5 C......
, q* S* F7 L. X1 K3 P; E6 |( i5 }[root@hdfs05 ~]# ps -ef | grep xend+ h: U, Y! G) |4 D
root 4504 1 0 09:35 ? 00:00:00 python /usr/sbin/xend start6 ~4 _3 o8 q5 [1 o
root 4505 4504 0 09:35 ? 00:00:00 python /usr/sbin/xend start' v( d; t6 [" L
root 4813 4773 0 09:37 pts/1 00:00:00 grep xend. t3 r- @4 f4 Z# | j
- _- J( T B z$ \4 _* n Q' W
开启另外一个 bash,查看设备,发现 xenbr0 设备启动了
_7 B) t, P3 [5 l# W+ v# A
6 }# u0 R5 ?0 @3 L[root@hdfs05 ~]# ifconfig
S, U) x8 i" z9 qeth0 Link encap:Ethernet HWaddr 00:1D:7D:48:38:1A ! T8 V! h5 z. k' A/ ]8 w# l
inet addr:10.10.111.5 Bcast:10.10.255.255 Mask:255.255.0.00 F- T7 `$ Z% `
inet6 addr: fe80::21d:7dff:fe48:381a/64 Scope:Link Q" b0 y, i; U0 J* U
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
0 F! I+ S+ t$ e) u9 d5 i RX packets:1079 errors:0 dropped:0 overruns:0 frame:0
$ [7 z5 E3 `; K# W W* ? TX packets:80 errors:0 dropped:0 overruns:0 carrier:0
* x; j( M/ |+ G collisions:0 txqueuelen:0
1 k; a. R, j) C `. ~; ? RX bytes:158475 (154.7 KiB) TX bytes:12704 (12.4 KiB)3 Q$ z( o% q8 a' X
& s; V# T4 K5 z. aeth1 Link encap:Ethernet HWaddr 00:1D:7D:48:38:1B
2 u5 t/ I$ k) u9 \1 Q0 D# ]. X inet addr:10.10.141.4 Bcast:10.10.255.255 Mask:255.255.0.0& D7 M- t$ U0 L! E6 o. O
inet6 addr: fe80::21d:7dff:fe48:381b/64 Scope:Link
9 ?% [0 S& T1 C. } UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
" q1 \) O* z) Q0 K( Y1 _ RX packets:0 errors:0 dropped:0 overruns:0 frame:0! B! _& l1 Z7 f# f4 ?% s8 C" J
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
: q- `, T" v3 D$ g5 y collisions:0 txqueuelen:0
5 P) O% o) y- x7 n2 }: d RX bytes:0 (0.0 b) TX bytes:552 (552.0 b). R3 ]8 c3 P3 V" ?9 a- N5 |
) I6 v: j3 c$ v, {# A
lo Link encap:Local Loopback
1 N& y1 [5 e2 x! G. y; w9 u inet addr:127.0.0.1 Mask:255.0.0.0
: @4 T" ~+ @* E5 `, y inet6 addr: ::1/128 Scope:Host+ Q8 C$ I4 `* c2 F+ T& s7 K
UP LOOPBACK RUNNING MTU:16436 Metric:1
- j& Y' E8 T1 f* a RX packets:107602 errors:0 dropped:0 overruns:0 frame:0
) {' ?* Y9 k' O- F$ O9 @( b# ? TX packets:107602 errors:0 dropped:0 overruns:0 carrier:0) x1 D6 R; m8 l* s' p- g
collisions:0 txqueuelen:0
8 L* U$ }$ A1 e% H6 Q0 y- p RX bytes:145810320 (139.0 MiB) TX bytes:145810320 (139.0 MiB)
2 b$ c$ S8 n* f. [3 u
) R" [- M! r2 upeth0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
/ v9 V. @0 `: s9 u" m+ m, j& D inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link
$ m3 c1 v, d; U( e8 D" o0 f UP BROADCAST RUNNING NOARP MTU:1500 Metric:1" v7 x1 d c- }& z5 A: z/ ]$ T
RX packets:7926 errors:0 dropped:0 overruns:0 frame:05 V9 n5 c. l" Z* I3 d7 C, k
TX packets:803 errors:0 dropped:0 overruns:0 carrier:0
+ A, G( Q; s* t% Y+ p8 w collisions:0 txqueuelen:1000 - e% W' c# g# c' i. {1 a F: t
RX bytes:1048526 (1023.9 KiB) TX bytes:140794 (137.4 KiB)
. m& D; |) u) d* p2 y# k Memory:d8320000-d8340000
* \2 p/ r( p$ \0 G9 i" L
7 w3 N% U7 j# V8 Upeth1 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF 0 N! R: l( ^5 T( B; g7 `7 g
inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link$ H0 g8 h$ O) M: G
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1( C: r7 M9 y3 m' B6 ^
RX packets:32 errors:0 dropped:0 overruns:0 frame:0
3 Z7 u; m6 k: b# s4 q8 g$ X TX packets:278 errors:0 dropped:0 overruns:0 carrier:0. ^. y0 s. O9 J9 t4 z* B" A
collisions:0 txqueuelen:1000 " l: {1 p( }! d E/ w# U" A
RX bytes:6444 (6.2 KiB) TX bytes:35772 (34.9 KiB)
. B9 v$ ?) N2 k# i5 Y: ]8 u8 w Memory:d8360000-d8380000 . a- y8 |) q& a# G) M3 ^
( s# I: c6 G2 a3 `, s+ R5 N' o
vif0.0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
; o, c$ g: M5 y inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link
) k5 Q$ \$ c2 W UP BROADCAST RUNNING NOARP MTU:1500 Metric:1: S: e4 \# N3 Y; s
RX packets:101 errors:0 dropped:0 overruns:0 frame:0' b9 k, X p8 L# @( e. h5 Y* ?' W% v; F
TX packets:1098 errors:0 dropped:0 overruns:0 carrier:0
. e1 `4 n+ j1 Y/ B& u L0 N collisions:0 txqueuelen:0 3 L5 s6 [6 W o1 i( H
RX bytes:17258 (16.8 KiB) TX bytes:159729 (155.9 KiB)
9 j. {8 D9 P7 C- i" Q" K8 U5 ~/ g! E* o @ g
vif0.1 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
% U j0 j6 a8 e& z2 U inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link/ b, Y* o& \2 [/ b# O
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1* r( z" I% R" a. } a. r$ R
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
; D. o ^/ Y- I9 U TX packets:0 errors:0 dropped:0 overruns:0 carrier:0% K( h7 S, a& P2 a: h
collisions:0 txqueuelen:0 % F2 u% H% X' F% w% @1 [% h. S
RX bytes:552 (552.0 b) TX bytes:0 (0.0 b), V& O* z9 Y& t6 h
3 _4 n% o& }- P, W( q6 t, Vvirbr0 Link encap:Ethernet HWaddr 00:00:00:00:00:00 5 s! R2 u+ b, b$ C
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.02 m4 W; M4 f+ F7 K% G
inet6 addr: fe80::200:ff:fe00:0/64 Scope:Link
8 G3 P* D, U) R! `! l% U UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:19 a. T. b" w% _: g( f
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
1 ` |1 Z. _* |0 H2 J! a TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
5 R' \2 c _# E- B collisions:0 txqueuelen:0
0 ~4 s7 ~5 M; O% Q RX bytes:0 (0.0 b) TX bytes:468 (468.0 b)
# T+ r; g! ?+ _7 W4 w3 q2 D4 l- T" Y1 H
xenbr0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
! e; J7 O& J: l8 j UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
+ ]" a9 J f6 T! X j1 d& r RX packets:629 errors:0 dropped:0 overruns:0 frame:06 N, U3 y1 G* j) s
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0' b, Z5 V4 R) r+ k" [* ]
collisions:0 txqueuelen:0
2 J4 \% \4 q" B; r* Y RX bytes:107389 (104.8 KiB) TX bytes:0 (0.0 b)
, ]3 Q' T; B" v. M1 Z
8 o' N4 k2 ~! H7 uxenbr1 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF & Z% i% m7 Y, b) k" W
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
2 S1 X" t B6 v6 @+ |) Z0 ` RX packets:8 errors:0 dropped:0 overruns:0 frame:07 e' X( w2 @) O" I' J3 @: h
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0) m$ z( u( W. k
collisions:0 txqueuelen:0
0 R1 I0 {2 `; L' N6 J6 s4 Q RX bytes:440 (440.0 b) TX bytes:0 (0.0 b)
3 l, {! z5 s+ |
* m% R) S; T0 v( s9 d7 Q' M' _" T[root@hdfs05 ~]# xend stop
4 ^$ z. W) c% O7 v1 K" `" C" u7 R# e[root@hdfs05 ~]# xend start 生成的网桥设备不变,xend启动一次后,设备即生成了; S5 \, I: ~. n4 V Z
[root@hdfs05 ~]# xm list
. _3 a* ]9 Y: h0 KName ID Mem(MiB) VCPUs State Time(s)
' V- X r1 }; ?9 N- MDomain-0 0 7931 8 r----- 52.0
$ D1 h9 J, I. H+ q5 M' u8 A" k+ v" w" e0 B
查看网桥设备5 b9 B9 A/ g( g7 K& |: S
L/ e- H2 w* j, g% X! }$ C T9 s
[root@hdfs05 ~]# brctl show
9 J# U( |# I* Y( i* |5 [' Wbridge name bridge id STP enabled interfaces J5 K- y; L' a/ s) \( `
virbr0 8000.000000000000 yes
5 W; q* c8 w- u* K4 Mxenbr0 8000.feffffffffff no peth0
4 i# `) @4 m. x4 a t2 @! ]2 c/ u vif0.05 o# C8 }3 [$ v2 ?6 l) g' q I- `
xenbr1 8000.feffffffffff no peth12 y, F5 L- |+ j% u) h
vif0.1
. m, A+ S2 j% K# ^1 u& V1 S" w: A
% Q9 w/ I( A- Y( l# v% X2 X# Y S
( C% @8 Q9 o$ s/ a- [3 X############################################
i8 P- v7 |7 R z/ t& y6 Q% ]! ~3 K$ o6 @
& Y6 |. L8 n3 J: Q6 ^
& h: ~% w) f+ t# e0 C(7)半虚拟化安装,选择nat上网方式、IP配置使用 DHCP 方式时,虚拟机系统安装过程卡在 TCP/IP 配置界面,停滞不前
2 e2 R2 M' K7 V- ~5 |4 z
. b* w; }5 @/ x6 {- f--------------------------------------------------------------------------------------------------------" L* f1 ~, f9 |) Y
( b0 W; T1 |6 [. u半虚拟化安装时,选择 nat 上网方式,IP 配置使用 DHCP 方式,此时卡在 TCP/IP 配置界面,4 H: t/ H' @" Z; M1 O1 [, Y* ~
Xen Sending request for IP information for eth0 不能成功, 卡在这里,不能通过。
# N: J7 ^" z1 B1 Z
6 h5 k+ j4 A. j3 w5 e( w--------------------------------------------------------------------------------------------------------% A1 `; ?6 [% P6 t! N' V8 R+ D2 [
############################################
0 j" ~; [, e6 o$ a; x& n; N8 m( [4 o. w
解决办法:
! Y7 v+ y, `% u# V: ~+ aIP选择手动配置,配置 ip地址/子网掩码;
* z2 Y' E: A3 P( e" l: t. k
5 u1 y3 Z0 W" A4 _5 f全虚拟化安装时不存在此问题。
O" f+ |- B) R
4 t5 c$ R4 Z) s" {* j) E4 E/ Q############################################
. q% r& x7 `7 \* K# G: W: b- ]* G0 O6 {) H0 T$ Q; b
) p5 n1 T2 C$ U& R$ v2 z
4 r* Y! @7 Z" @ ?. W(8) 启动虚拟机时出现错误:File "/usr/bin/pygrub", line 28, in ? ImportError: No module named LiloConf
& t; g# e8 M; D }7 v" E9 G" Z--------------------------------------------------------------------------------------------------------2 R" A8 C5 W- v# W
[root@glnode04 xen]# xm create /etc/xen/vm01-centos-5.5-pv 9 o4 T+ H2 G5 n- B" N
Using config file "/etc/xen/vm01-centos-5.5-pv".
1 M" X" d8 H/ \Traceback (most recent call last):
& p2 L# O- ?/ @- A d" { File "/usr/bin/pygrub", line 28, in ?
# G) R( _4 A: g r u. }' l import grub.LiloConf
1 Q5 t% H$ Z4 t. W% T D$ B/ rImportError: No module named LiloConf
& h% r0 Y5 Z3 n9 i7 [- O3 i' h) T- Z% ~& X1 u0 ?/ d" S
提示 /usr/bin/pygrub 文件的第 28 行的 import grub.LiloConf 出错,这又是 python 的问题,import 出错。
( V ^5 T, i' J8 r: u- x! q/ g
4 m7 g2 L, Q6 N* p$ w$ @+ D& c# w1 s手动执行 pygrub 命令,仍是出现这样的错误.. T# i$ C0 [) x" Z
[root@glnode04 xen]# /usr/bin/pygrub
& Q$ z6 u4 I0 d: _! U; UTraceback (most recent call last):
5 Z2 |' m/ O2 [8 A- w) i, H File "/usr/bin/pygrub", line 28, in ?$ H6 i$ E" p+ W' L
import grub.LiloConf
, Z1 v$ |6 ]2 }" {5 |ImportError: No module named LiloConf
& e9 |: w" q0 d( ?9 }; d8 U7 Z+ G" U
正常情况下执行 /usr/bin/pygrub 是这样的
( t& x% x+ q7 o5 @+ a" @2 h; ]3 N9 U' d5 c% L3 \
[root@gmnode14 xen]# /usr/bin/pygrub
4 h I. k. i3 A( g; ]9 [5 bUsage: /usr/bin/pygrub [-q|--quiet] [-i|--interactive] [--output=] [--kernel=] [--ramdisk=] [--args=] [--entry=] <p_w_picpath>% C. t9 L, x T7 W; Z
' G5 V/ c, Y7 z* X- R[root@gmnode14 xen]#
6 b. R* m6 A* Y--------------------------------------------------------------------------------------------------------! a* \+ D4 r$ r' G9 Z5 N
5 @9 `6 K8 _# s+ b* ?- j: H
############################################0 ?' U# v1 J% D7 i1 A2 |
7 C* P4 w! ~/ `' O查看 /usr/lib 下 python 库,发现有3项:
; R3 c9 Z0 C0 }6 h[root@glnode04 xen]# ls /usr/lib/python
* n! M" y- c# W8 apython/ python2.3 python2.4/4 G8 t: N- Q; m( X0 z$ H. q
: R8 O' b1 F R. C& K这地方有问题,CentOS默认安装的是Python 2.4.3,库文件和可执行文件的路径是:
& `" ?9 a$ A2 W! V* m/usr/lib/python2.4; n0 O5 Y) t# J5 f2 T+ _* T
/usr/bin/python2.4
$ I. k$ c! _9 K! D4 F+ q& s3 `: o/ N2 o1 {/ f* @
而现在多了两个库文件python和python2.3,将这两项删除,或者重命名,再次测试,问题解决。 & W3 R6 }# Q6 Z+ t' L
1 q# c9 v. ?8 W/ u% |
[root@glnode04 xen]# /usr/bin/pygrub & G# {& j' ~# T' V% B
Usage: /usr/bin/pygrub [-q|--quiet] [-i|--interactive] [--output=] [--kernel=] [--ramdisk=] [--args=] [--entry=] <p_w_picpath>
& @) ~& I0 {, ?2 Y5 n) G* d0 Q
; O$ D& R- B# d2 g- h) [[root@glnode04 xen]# xm create /etc/xen/vm02-CentOS-5.5-pv
$ |3 ?' a0 t- F3 S+ m7 r4 s1 i, qUsing config file "/etc/xen/vm02-CentOS-5.5-pv".4 R. F3 f2 L: @9 K( U
Started domain vm02-CentOS-5.5-pv
' u( V+ B, h, n* e* @ y( @启动虚拟机正常.
( B# V+ x7 J. Q2 {3 O$ m4 T1 z
$ E' W1 B1 e2 ?+ V; G {3 g) R6 d0 z############################################ }8 v: |# S4 p1 M; n, \1 R
-----------------------------------
" u0 v" q T; d, o+ |安装Xen、创建Xen虚拟机、使用Xen虚拟机过程中经常出现的错误总结% z( b; B6 H+ t# }. e) M! b' o
https://blog.51cto.com/newyue/8559727 m) |( T$ N8 f! U" |* v5 t) v3 J+ ~
* X: ]5 p$ J4 q1 [+ ^! \6 ?
|
|