马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?开始注册
x
[解决后端使用ceph qem性能问题](升级kvm后使用virt-type=kvm(qemu-system-x86_64、qemu-kvm、qemu-img)
0 d( L" u' l; F. Q8 _6 Y) C
A+ B' o3 x' ^; _3 K( ^5 S* e9 p7 s9 F# G, D- A1 x
由于升级libvirt、 qemu 后没有qemu-kvm模块。nova配置文件配置为 virt-type=kvm将会报错、配置为qemu则性能低。 ' e5 i K# G# B; u) P
, @% W: R9 B# i- {8 m; B关于kvm、和qemu类型选择请参考博文:qemu中KVM硬件虚拟化的初始化分析 (tcg、xen、kvm、qtest) # }' n6 |$ t4 L( A. r- B; M
: N) ^/ U- Z) W
9 K- ^9 o1 A3 W本次测试环境配置: : S) ? j# x3 [7 p8 ?7 w2 V
% p7 d) j8 \# v n+ j$ F+ M; U$ |& ]
/ q# T$ Y1 i$ C1 b) R5 Q6 _/ t
- horizon 的ip 192.168.10.71
; R$ A: i1 d2 c2 _ - 其他组件ip 192.168.10.1911 d6 Q7 \1 Y1 e0 \& p( w
7 j# ~2 U$ Y" t; W
2 s" c! z5 J) o
* J3 M8 o; K9 _* }; c复制代码; e: x$ M& B) m4 D1 S' _
) A" \; G9 R, X& m, p( x! | u% i. \
2 c0 S5 f$ T" D+ ]- G) W) E
/ Y/ a% f" Y; d3 K
% _, Q* q. g- B" W
1、使用virt-type=qemu启动的虚拟机:
9 s: F6 w6 G7 [- G3 u t5 R3 ~1 ]/ o1 P: h6 x. M: W0 w1 f
$ e# O' P" a' V1 x( n* t: t- S# y, y7 R2 y
9 L# Z4 i. ?1 x1.png (46.25 KB, 下载次数: 0)
4 C3 }1 C2 l. P5 T8 s; t
& }. f. |- I0 g/ I, {, N5 {下载附件
+ S! @' t( {# z: B8 j+ x3 ]# T$ t+ U* u4 {9 C
保存到相册( U1 k3 q& S) h4 X1 k
% E, [, {' `0 J6 ?2 P, K$ z " W( U3 v4 e! Q9 P$ c1 {; n' `" i
0 W& t0 a4 V" z6 |+ w2015-4-7 18:43 上传
) b' L6 X8 q0 G( L
" F* r0 { i1 S+ l! O6 @: A& R
1 F& L4 i; a0 _+ @) x0 r5 I }' ^, l% R- b7 @
4 f3 T5 i# ^0 L2 }7 t
# G8 E1 O! }9 y! d8 O ' c9 E) |9 a. ~6 j% q
) @' ?6 }! l# s7 n# q# ^* ]- V( g2 h4 {3 X. |7 P3 P
- root 24502 17.6 0.4 2530112 307192 ? Sl 21:51 1:23 /usr/bin/qemu-system-x86_64 -name instance-00000001 -S -machine pc-i440fx-1.6,accel=tcg,usb=off -m 512 -realtime mlock=off -smp 1,sockets=1,cores=1,threads=1 -uuid 8ee337e0-4808-49e7-9e66-45dc4a7b1f40 -smbios type=1,manufacturer=Red Hat Inc.,product=openstack Nova,version=2014.1.1-3.el6,serial=44454c4c-3600-1058-8033-b3c04f463232,uuid=8ee337e0-4808-49e7-9e66-45dc4a7b1f40 -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/usr/local/libvirt/var/lib/libvirt/qemu/instance-00000001.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive file=rbd:liunova/8ee337e0-4808-49e7-9e66-45dc4a7b1f40_disk:id=admin:key=AQBlwSxU0HsWBxAAMfhhWANPIIDihk7JTFunKQ==:auth_supported=cephx\;none:mon_host=192.168.10.186\:6789\;192.168.10.187\:6789\;192.168.10.188\:6789\;192.168.10.189\:6789,if=none,id=drive-virtio-disk0,format=raw,cache=none -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -netdev tap,fd=18,id=hostnet0 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=fa:16:3e:99:7c:a0,bus=pci.0,addr=0x3 -chardev file,id=charserial0,path=/var/lib/nova/instances/8ee337e0-4808-49e7-9e66-45dc4a7b1f40/console.log -device isa-serial,chardev=charserial0,id=serial0 -chardev pty,id=charserial1 -device isa-serial,chardev=charserial1,id=serial1 -device usb-tablet,id=input0 -spice port=5900,addr=0.0.0.0,disable-ticketing,seamless-migration=on -k en-us -device qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,bus=pci.0,addr=0x2 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x57 b" [/ k- h* o! t1 T* E$ e# _3 l8 p* [9 y
/ ]. B% s: v1 s: ?# ^7 u8 J/ D
2 T+ V" P8 V" L% ~复制代码. q/ L' I. E: e) l; o
; W( K Z, d8 _, f4 x
. S s' B- a* n( I6 j- H4 T
; |" L) h6 W# i7 l! O
/ ~, |( z1 Q& D7 f8 ]! H" m% ~0 N: e, F
$ X% W% @2 D+ v0 n+ F% w. ^
# @( Q6 j- c1 c; F很明显看到上面使用的是/usr/bin/qemu-system-x86_64。 8 K F) `5 T. p; J+ E, U8 F4 _
, b2 D& k8 @& i' q; u$ ^7 l4 @& s2 c8 ]% L5 O$ p$ ~! n* X# m& e
看看:/usr/bin/qemu-system-x86_64 --help 2 S" S6 e! G& A* _ p. v2 A4 ]4 x
5 m) j* c8 |1 O) c9 h0 N6 n: M) Q7 P+ ~; c: z" ^6 @+ i5 O
o l0 l$ @1 u' b" ~; z7 ~
) i+ M; X0 _6 e0 O/ N7 U2.png (10.38 KB, 下载次数: 0)
7 y/ @; \7 B8 G0 Y0 G% v7 A4 `5 g9 L' O1 ]- y. k# A/ Z! s
下载附件* f5 E: N8 G, _( {+ ?& |
7 L7 H4 D" M2 J6 _4 {4 r! p7 c 保存到相册. x p6 y/ \9 R) Q2 o! `
- t7 s( Z7 E2 l2 x* A; c/ d7 ]! G9 T$ l
4 h$ T9 _! p8 E
! x+ |- G1 y+ Q. N
2015-4-7 18:43 上传
+ B$ n# x# Z s$ i3 V4 c, |3 P
9 q1 g6 M+ r/ X" K: i
/ g. i6 e$ t R3 ]2 N
7 ^2 C7 L+ x1 ^* O
+ z t: G M0 O
) Q* h0 E: ?% k1 D( f ( D1 U x j- ? T% k+ G1 Y# r1 _
. J8 F$ E% ~1 z; K1 |* h
6 Q2 t, H1 ? A
7 X+ Y% F$ m1 b7 p- Q: l+ K3 F- \
P) z. ^6 p/ u% M& `6 D' y
2、virt-type=kvm用openstack生成虚拟机,报错: 0 ~. g3 S4 F% ]& T# p0 P( }: Z3 X
! k( e. {( @9 b2 v) k
4 B: `% f. ^, a- T2 H. v. \' u) }# z$ x: t9 O
- 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] Traceback (most recent call last):
4 F0 R# ^5 M6 T9 i/ c - 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] File "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 1305, in _build_instance7 B; V3 D& k0 @9 l6 N
- 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] set_access_ip=set_access_ip)
7 C6 G# ?" D# V/ H; _ - 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] File "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 393, in decorated_function3 _. C" A& f/ u( |5 y6 P
- 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] return function(self, context, *args, **kwargs)
: H+ o. a( d$ V9 {5 t - 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] File "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 1717, in _spawn
" `6 H( K/ p. `* G. F. { - 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] LOG.exception(_('Instance failed to spawn'), instance=instance)3 {* p8 ?2 ]+ T3 h$ n1 v
- 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] File "/usr/lib/python2.6/site-packages/nova/openstack/common/excutils.py", line 68, in __exit__4 ^: z, \; e, b
- 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] six.reraise(self.type_, self.value, self.tb)% Y8 q+ o }8 }( |
- 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] File "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 1714, in _spawn
. V" q( a' Y5 z1 C3 T7 A - 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] block_device_info)4 p8 S) j1 x% O; o7 E+ \
- 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] File "/usr/lib/python2.6/site-packages/nova/virt/libvirt/driver.py", line 2265, in spawn. Y$ M. T, \+ h$ N( m- W
- 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] block_device_info)# U: y. \1 [% x! t9 e( z$ M
- 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] File "/usr/lib/python2.6/site-packages/nova/virt/libvirt/driver.py", line 3656, in _create_domain_and_network
0 J% @: B1 v( S7 [ - 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] power_on=power_on)
# S6 r# }' f: ~1 O8 D+ I$ i - 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] File "/usr/lib/python2.6/site-packages/nova/virt/libvirt/driver.py", line 3559, in _create_domain6 J0 V" \7 p' u4 x1 n3 ?
- 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] domain.XMLDesc(0))
( O& i+ l {. o: O2 I5 {' K4 Y2 X - 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] File "/usr/lib/python2.6/site-packages/nova/openstack/common/excutils.py", line 68, in __exit__
7 d1 y# K5 H- J4 P5 x, Z - 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] six.reraise(self.type_, self.value, self.tb)! i( q7 @7 }% Z: v0 T- W. S1 j/ T
- 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] File "/usr/lib/python2.6/site-packages/nova/virt/libvirt/driver.py", line 3554, in _create_domain$ I N8 k1 G+ j8 Y
- 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] domain.createWithFlags(launch_flags)+ \4 O/ \ ]) b! L/ }
- 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] File "/usr/lib/python2.6/site-packages/eventlet/tpool.py", line 183, in doit9 U F+ P( x) y8 C
- 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] result = proxy_call(self._autowrap, f, *args, **kwargs)
0 n' j5 t2 l; ?7 V P) g( O5 n - 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] File "/usr/lib/python2.6/site-packages/eventlet/tpool.py", line 141, in proxy_call
0 }5 a* J- f# k2 U6 N0 D - 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] rv = execute(f, *args, **kwargs)
! h% p2 W. s9 @9 ^6 f/ b0 w - 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] File "/usr/lib/python2.6/site-packages/eventlet/tpool.py", line 122, in execute
- k0 u6 T$ [; a* X - 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] six.reraise(c, e, tb)! z& i- n5 c& M( Z) o& n
- 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] File "/usr/lib/python2.6/site-packages/eventlet/tpool.py", line 80, in tworker$ [* `5 }, z, @/ p: b: {2 U
- 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] rv = meth(*args, **kwargs)5 ~3 x+ X3 e* w. f
- 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] File "/usr/lib64/python2.6/site-packages/libvirt.py", line 727, in createWithFlags: b0 r" H& g9 c& f9 H
- 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] if ret == -1: raise libvirtError ('virDomainCreateWithFlags() failed', dom=self)2 o2 v8 C1 ~0 V
- 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee1tafd7f8] libvirtError: internal error: process exited while connecting to monitor: char device redirected to /dev/pts/4
1 u% ]) [, H, q - 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] q%mu-kvm: -drive file=rbd:liunova/5b50ed5b-c3d9-40cd-889d-0aee14afd7f8_disk:id=admin:key=AQBlwSxU0HsWBxAAMfhhWANPIIDihk7JTFunKQ==:auth_supported=cephx\;none:mon_host=192.168.10.186\:6789\;192.168.10.187\:6789\;192.168.10.188\:6789\;192.168.10.189\:6789,if=none,id=drive-virtio-disk0,format=raw,cache=none%sA could not open disk image rbd:liunova/5b50ed5b-c3d9-40cd-889d-0aee14afd7f8_disk:id=admin:key=AQBlwSxU0HsWBxAAMfhhWANPIIDihk7JTFunKQ==:auth_supported=cephx\;none:mon_host=192.168.10.186\:6789\;192.168.10.187\:6789\;192.168.10.188\:6789\;192.168.10.189\:6789: No such file or directory6 k4 L- D: S _( S2 o% o0 o& q, F
5 B' i' ]1 {& s. C$ X( p9 B
+ G$ I# K7 u0 G( n: b- s& ?5 o" g- t7 [1 F
复制代码
- T+ V% O# X* l; Q " i' T. I& w1 C6 j2 p: p
# m3 T4 v8 Y/ j7 y/ W3 a% Q g5 G4 R" n' l4 t' v: l
6 f4 Y/ K: d( A6 }" o ?5 S6 T; E7 z+ M& S8 s+ S
( \, s ^! K. n& ~8 ]4 g) E6 I. C- \; J, F5 ~- f
. K, |5 ?9 y4 `) w
3.png (2.85 KB, 下载次数: 0)
1 o, X1 c7 S( o9 |& W5 I$ W6 N6 N, q1 c. s! }5 L! m9 }* E1 M @
下载附件% |# k# c( t+ M9 x* W
k# m& \1 z/ Z$ |, o) z4 j- V 保存到相册
r# ~& n8 \1 u& D- ]2 `/ |& k. F0 E. y- z1 H# R9 M
' J9 R& u- p$ G$ s3 ?. x. J/ k, y* S, P) V1 @8 H! O9 C
2015-4-7 18:43 上传 ! `5 ^, p1 @% e+ V( g `( U
0 x4 o0 Z3 ]6 W3 I/ E
! n- O4 S" x$ N
* q' i) D2 V9 G& W. E0 y9 D9 L' t7 ?
3 Z F+ j* ?: [/ O4 m
2 w4 N- n4 | U( e- r8 o
- T& R/ m" H2 C9 O% h) S0 i- H v2 ^7 ~8 ?
! O! v* m. \8 Q
# I6 C2 ~( K! l: |, b
' f& L8 e) E- p, u% v3、关于qemu-system-x86_64、qemu-kvm、qemu-img ; G; _5 Z( H9 d, U9 Z9 e5 Y
- H; A5 o3 E: a0 A. B5 D图3.1 1 T; j3 E% C$ }- {# z" }# b
; A. d- e* h! R; Q' k5 G2 C
' H( u% q6 n& i
! i% r: q1 H) c1 X8 i. L/ @" N, g& o0 w0 a: H. g6 ?
7 [+ j# E ~9 s) v8 t/ X' J4.png (3.12 KB, 下载次数: 0)
( R6 ?% S5 H# j3 d# g# a( P! h' o9 R. ^8 f
下载附件
( U- s6 h0 s! l0 r$ u
' ~4 W2 J. J! d9 m) N 保存到相册, n% ~" O: `; j( _+ K1 J ~
, r# @' R; s- {7 T p" k
6 Y% e. f- Q+ Y/ J1 Y! e
+ x1 m5 m2 L! a2 {; D2015-4-7 18:43 上传 # {9 b0 b7 j7 O/ y" }$ y- ~
1 V, D- l) y# A
% _8 D$ U: k. k3 }) V7 j9 l
8 X' x8 @- Q3 p$ `
* s7 O8 C9 {4 Z- I! I
: r. |. C5 @: c7 [4 l7 {
4 W8 R7 H! N+ z9 V5 H
, ]$ F. X; {- {. i& N- C6 _8 T4 I" }5 A: d) h9 O, k
3 B; p. J1 a! d5 F2 k; S4 ?1 S3 W
6 ~9 R% t$ {/ r* Z
. f" B8 \: [) p% B3 g* u查看上面两个qemu-img对应的版本及支持格式:
& x7 ]# z6 \/ q1 n1 N
8 X: x: g0 ^+ y" q( g
9 G& O; W/ C: X1 F- E. K! a4 P- /usr/bin/qemu-img | grep -E "version|Supported"
/ m$ w2 c+ a% L3 l W9 V. B
' p! W& A' F/ J' @: C) z2 e
0 f+ J' j1 a2 E% c0 T C$ J7 p) Z复制代码
& {- I, Q% v* q2 B( s, R ( F1 ?& e5 R' T
5 ? v4 d; V4 o. s( g2 R7 J# g- X7 z* p& h
/ q' U$ q5 ?: J, J" ^; `& c+ M6 Z% _
图3.2
, X5 R# S! T$ }+ O4 M% G, y7 n! H" j- w3 U4 U
. B1 z8 t) i- c3 `7 h* G
$ X6 [- M2 b, L% X, w* V; I. g5 u' N1 g/ p6 m
5.png (11.06 KB, 下载次数: 0)
, X. _( |. K! Z& _. B( R8 j
0 m5 G- H' L$ i2 t v2 F' u/ C6 ]. a下载附件
( U6 J, Q' x8 c& S$ p4 |, m( A7 j. L, ^
# h4 e6 E% r7 ?+ J' I, M 保存到相册
& ^0 f: o. w4 H" [3 g1 M+ s
0 j1 o" ~; Q- T 8 q h( R5 W K
) \( T: R4 ?2 S' T, Z% @; O/ a
2015-4-7 18:43 上传 ( \& R7 O" N1 N9 n- G) `0 `+ W
5 O/ ~& K* }! u- h5 _ c+ R* u$ c8 B$ S
' v- V9 j* L; `' W( Q) S( B9 _( D# e$ ]2 g" U- L( O3 M6 G
2 ?* K* f; U& \; k9 n/ @
) l3 m6 Q! R, N: E6 x5 N6 x. c2 A
I6 `; K( t* L, F& f! y+ i+ ^) Y" c) `! v; m p% m
- /usr/local/qemu/bin/qemu-img | grep -E "version|Supported"' W$ U! y# M* p4 D! ]
4 |( z, q; M% j+ u
3 K! F! }3 L* G( I& \复制代码
1 Q& U9 t& J$ o* e) q, B" R A + \ t& S$ ?3 u& I) Z# X6 J7 v5 n
7 }( ^6 `3 f: i5 H6 V9 E. l1 O6 m* E2 C# a$ R
. X1 H9 M' [( ?, J
. g3 X& d- [) G
图3.3 7 D( Q* G+ A0 N6 F. }9 k
, y+ ~* | M2 k# X
* @- ^ I* h0 x# V9 y$ J
6 u F! K: }9 `5 K5 P+ [6 f% r
; F0 f( B+ W, I( s; M; J
6.png (17.52 KB, 下载次数: 0)
" [/ `+ k9 X/ F5 e
7 y" Z& a: ?) [& E, R' F) H下载附件
: m9 s: e( L; W8 M* q/ I" z2 l, ?
- \( i: o5 R! i" h 保存到相册" } a8 {$ g6 E+ g' r9 C
, |$ P; \" c6 B7 ?: P 4 h" B6 z' R) d
: a O$ `( e5 m4 p6 F+ V9 T
2015-4-7 18:43 上传
" ]" M- ]6 ?1 B# O
; b5 S1 D l8 Z% P& z) M* X0 X/ p. \, i& J6 D
9 Y5 ^. k4 f1 k" u( G
! l- N/ F7 [* X7 E! x. k
( L. ]# ^- u" ~+ f
c; Z; f8 S8 K
4 C0 @! d0 r' P, Y( t" b2 z# ]4 D/ Q' @% y' O4 E
/ s! R# l5 N( G q( K6 N# V' {2 ^, _% k5 G8 J; X$ X6 ?
6 _, r0 q1 N" U& z+ v9 e! C
$ N- b/ }6 J5 i/ {8 C( N) }6 X
O& c9 f7 P! m2 M在回到上述错误: ) X, \: O7 t: a& H
* C/ }0 Y0 T* q$ Q9 U4 x图3.4
i8 J, [2 e/ X! }! s
" @, k( n0 J4 F8 {0 P' L9 @8 g8 m: f$ B* {* C) I/ S
8 _2 G l6 d$ Q3 ~9 j6 ]* q
/ ]8 {/ I. d% s2 r' `$ s" A
7.png (21.19 KB, 下载次数: 0)
) }1 Y1 e% c: s* I
- y6 j) v. B0 s$ H8 i下载附件
: H& V7 P7 |* r6 }' o, g! n9 r
i9 m V, v. [0 |/ Y5 n0 B 保存到相册0 _2 \, M" ~( ~; s9 V- p3 I
$ W" S& B/ ?+ d$ v1 t% {1 F
& H, F) J4 N% J( c$ t
- F1 {( D* ?) k* ^" N
2015-4-7 18:43 上传
8 L9 V2 S2 z& c) {+ ?
8 ~$ O0 Q0 ?- C9 S
$ t$ s* Z! ^5 W
! R% e, g# T0 x: g/ {1 ^3 h, \, w3 a- V. ?* X# M: d
7 v) d2 L Y* |) D2 e" X. ~/ O% d6 ?
( B _, o' c- D1 K6 E, V, |( ^" ~4 A) s' _$ s( Y3 S. |
2 x6 J# L- a3 e m# H' D$ O; r
i1 ^4 D2 ]* {
2 M4 j; g. c/ l& t3 I1 w" K
, h+ e: A: C. l3 q此处启动用的qemu-kvm:
7 v. C4 n3 h& g* y1 }( }; Q+ p
' e! b4 M5 K' X2 q! B; F4 R
查找qemu-kvm:
1 H4 G* R1 Y( i& S. e0 W, W- f" m, Y7 u
图3.5
~7 i1 t7 J# K2 j, d& n. m! ]9 [: T, V6 i0 c& s2 b3 R
- q. ^3 T8 _+ o* |: _& a s' x2 y$ q$ R# [6 E! F5 m2 E
2 i) @4 }0 g% ?& o8.png (3.69 KB, 下载次数: 0) 8 s% ~) W6 D: t# {: K
* r; y* X. \$ ?6 S* l! x下载附件
6 T1 K. i& U4 _8 M: a, q V7 [! x
1 ?3 N% ?6 e' G& V5 s$ w* R- ` 保存到相册9 Y! |& V9 k1 f, B& N- S
9 E) `5 r' |/ G5 k }* V2 T$ m0 X! |
: T9 @& t2 e$ G0 g. l4 }" c f, N% E# i B$ I
2015-4-7 18:43 上传
. m, H6 P" d8 `8 l
% ~8 i$ v4 N+ q8 n" t
% ^# ^/ k$ C9 {0 C( o0 Y' z- Z/ e8 g# Y3 K
- ^) v% E, B7 g# ]5 h% u5 H. v% Q0 {8 `+ H4 _! Y+ U+ C/ ~/ i& N
) I& O1 h: L, s Y/ p- S' c$ l
6 H( K; z6 h0 M2 }, a
, B2 w# g8 H% U! k% x- {4 W4 Z" M8 k; P1 D/ ^& o' g, A
+ Z Y; H9 w- ^$ e
/ ]$ x& g' Z z! j5 L g9 N
查看qemu-kvm版本: : l# V5 T. l) D: l0 s" v
, v% ?( L. X _7 H图3.6 ; m1 K9 W ]# l6 k: M$ f
; f T, `0 C4 h- L$ X; f7 [: ?, ~" }2 O% _9 ^; M k T: Z2 R: q
2 }( L s& r( k$ H; v3 W- L+ K
$ k7 `4 N/ r: l8 b7 L, f! P9.png (5.34 KB, 下载次数: 0)
2 Q4 u- k9 q1 J0 B
/ T7 h$ z! D5 D7 i, x$ f+ r- i下载附件
! H1 z* c* Y7 v9 B9 s/ ? Z+ p' e! T& m# K+ P4 {% Y
保存到相册. r; z. U8 n# n7 M& I3 a, f
! U3 k" k5 p; d; z. h( Q* x 0 Z$ Z- y- b) |, m8 b+ R
. w4 D" W6 M' N. D
2015-4-7 18:43 上传 ' ^: K* Y* x% }+ ]& p: R5 f8 m
1 c# w6 Y# x3 J4 c ?0 e0 `& M7 |$ @7 o2 C$ I! w4 o
8 Q* F( E1 B) l! W
. m& N1 |( o% J6 {/ `$ r/ I/ r# U/ x/ ^
5 k" F! w0 g# A; o {# H! `" A+ k0 Q# h8 R% w; _7 v! ~/ E
. D% o& c3 y$ a8 d. b' B
- H& X9 s, e# O4 L5 }2 E4 {' w0 v: z) Z
7 |( ~. _- [& G2 c w1 ~) O再找到对应的0.12.1版本的qemu-img(图3.2),发现不支持rbd(ceph后端使用需要rbd支持)。(注:图3.3qemu-img支持rbd。)
' e {8 d7 t: ~! x+ D2 z3 X% I, T# q( i% K
9 Y# e `" B" j通过上面分析总结一下: : S& D \0 C8 t/ G
! [8 @7 m! I- J* N9 J) a3 g% R/usr/bin/qemu-system-x86_64与/usr/local/qemu/bin/qemu-img是配套的。版本为:version 1.6.1(手动编译1.6.1 qemu的源码包之后版本)
+ J) P' t3 ] |, b3 }
; h* F: C/ {" d0 o8 p4 n s, G
* I1 |5 V# Y* {! ?) y% c/ R/usr/libexec/qemu-kvm与/usr/bin/qemu-img是配套的。版本为:version 0.12.1(为升级前版本) ) l9 y5 i6 _1 ~0 J1 N! I$ @
6 X3 L! ]; m9 P s0 ?- m# K* K0 S
! ~# s$ S: ?$ U3 {" R
7 ?# t* _: {! K; M这样就可以解释图3.4的错误了,因为图3.4使用的是V0.12.1,而V0.12.1的qemu-img没有编译支持rbd的模块,因此出现图3.4错误。 8 x; V+ I- V) w ]( w9 k* P1 @
% J; G: N* M$ A( f0 `( g, P! T. g! I( L& o0 H' _
解决办法: ; ?7 q9 a! C& a4 j# j4 j
4 v' C& W* ^1 g将图3.4中启动的qemu-kvm替换为新版version 1.6.1的/usr/bin/qemu-system-x86_64来启动虚拟机。 ( n! B3 ~) u! q# j: _
7 z1 `0 E& [$ J( j
[& v4 R% H# a0 Q$ H$ {1 b8 q操作步骤:
' L8 V9 I% e2 ^3 i2 i& C' V' y: D0 R+ D+ |
+ @" E# @ d/ C; {- C3 g
- mv /usr/libexec/qemu-kvm /usr/libexec/qemu-kvm.bak3 C/ e6 U" ^" @
) U, c! }* M6 O. \( v
' q0 M2 T3 v) P- i. ^复制代码0 b; {5 z+ |. I) ~' e( W g! `
0 O; g- K2 R7 B! G5 }8 F; r) z$ i2 S$ [2 k
& ]- `2 J/ I, b, t
% h8 B5 R6 R+ f: H! H' H: I; p' q2 Z2 e. K
' w4 i. C! ~7 }+ M. a \$ k e再次生成虚拟机: ! u+ Y3 L' g9 W/ w* }) O
6 p# O6 n2 r8 M6 q4 G! D1 j3 K0 K9 h
+ P6 \+ f0 d b8 f) j& Y. Y10.png (49.33 KB, 下载次数: 0)
2 j* k( w1 j# H6 z1 U# d) y% ~8 l% d% |# s( ?$ @
下载附件! Z( g. _) f1 e( m0 u* H8 ^
+ N; \3 S6 A5 L; s% e9 M! R+ ]% ?5 t; N' f
保存到相册
: p( [1 Q1 g. f2 n' E* x( m3 h" p$ w4 e3 H
) u4 g* ~; l) b9 v2 [
0 h9 z7 p$ T7 h, ~2 n1 t9 J2015-4-7 18:43 上传
+ w" h3 G* E2 g* k( v* n5 w( t8 z+ x f Y. l7 x( [9 t
) c I/ V$ |. R! T' n
# c& _$ `+ t1 B( V e: b, v ]- D! \- J9 g( M7 @
( ^. L/ G) U' i
% W/ B- W! V/ X* Y- }# B$ t# ^9 w
7 Z' D% \+ y! u# T2 h8 ?7 p
; K* M0 R6 G! d4 Q( W1 H7 O+ ~4 \
5 U3 t0 ~8 o! B: p
9 B3 ~+ W3 O9 n
4 E' c4 V% ?! o. S+ N; J4 y发现虚拟机生成成功。
# n8 P$ e6 ~ B% Q# {6 y& S7 S2 h
2 U! A3 F) N- o0 ~3 q5 y% u* X& `3 ^1 e' h
再来看看底册启动参数: : x0 |( \/ w( _
! S: e0 a& u6 X- L& f7 |
0 W3 E3 ~; P) E# j/ O/ c- ps aux | grep qemu
$ q9 \$ A( V6 E' C7 W8 Z
, c2 X' m' w2 r$ c9 h- h# U6 k; m; u- ^7 @2 A; A" ]' X; d" W4 s
复制代码
, [( f+ i6 N/ J4 ^! B# P: z - l" I/ @+ c# j7 B7 u
* |$ K1 K; z# F1 Y {
. b6 _5 p+ H- V) b. x [" }; @
6 g3 `4 l: ]! |: q6 i
+ X" {5 I- h! V5 F4 K; ~+ a" x: q( e
* ]2 S( y) C, Z6 P9 o( L) M5 M+ O4 N1 p, W5 V
7 ] f- A/ s) |8 Z% Z11.png (99.05 KB, 下载次数: 0)
1 h3 }& X% h7 E1 z) l4 ^6 @0 l7 |/ I2 n% F1 ~: _
下载附件
& @# ?& f* k) p, U$ r: m8 V1 ?0 h, J# h' X. X" Q' X6 B0 `* `/ j
保存到相册
* \6 o* a* B. a1 w" g1 P" |
# l& V5 v8 h9 w3 X- N' \) V3 r1 I
$ n. x* p; Y' o; e5 X9 G' j2 k, @0 g* x* k& D1 u8 \ P/ g3 D! r1 r) d7 k* H
2015-4-7 18:43 上传
2 X0 K6 a2 n9 h p+ E6 m! p j3 O& N) s9 B7 Z$ Y' J2 e6 p) w0 \/ S) j
' u. m- |0 @! c* U. f; D( ` y
( s2 l- t. F) t, c! _ ]- J
: r" ?! ]! i, G7 D7 Y
! c9 n+ j& m' @ o* Y6 y2 A+ M; ^
0 U9 o2 b; R N5 W% Y2 r5 H
) U- p; V' {" L& d9 u2 d9 N
: q9 x" n6 H8 p: u: ~
/ o+ c7 h3 d$ s1 z" d& d+ A! I6 T- `
9 }5 T/ u: G6 A
发现后面生成的虚拟机,将nova.conf配置为virt-type=kvm之后。再将原生自带的qemu-kvm移除掉则能正常生成虚拟机。且生成的虚拟机使用了kvm虚拟机(accel=kvm),提高了性能。
: k, q. L9 {3 o/ g
9 o3 S( o- K# K* Y8 ~2 j. w R9 x$ j& Y U8 X) f; d7 m$ B
结论: : p& h& j0 A. p# @( E- I5 W+ ~
& \1 \* b: ^6 b1 k' i$ ~, x# e( d
! y" [" H6 _5 Q5 P: Y% m8 ]
- 1、当nova.conf配置为virt-type=qemu时候,会使用qemu软件特性模拟生成虚拟机,一次性能降低。
: Z& r4 s. p+ [! h' V" A - ; D1 a( m% G3 i/ Q
- 2、当nova.conf配置为virt-type=kvm时候,首先回去查找qemu-kvm模块。如果存在qemu-kvm模块则直接使用此模块启动虚拟机。如果qemu-kvm模块找不到,则会去寻找qemu-system-x86_64,找到则用qemu-system-x86_64启动虚拟机,并使用kvm虚拟机特性。及开启--enable-kvm特性参数3 P1 z' @ j9 R; q3 R& E
* j% X7 n' N% e" y" [& ]6 s+ _$ b
# d& j" z& x1 G- v
' {! \5 w# b- q( l1 t8 i" \复制代码2 @: |: d, Q8 W9 e! X7 u7 w
4 B: q" \6 s% N. r' Q2 \. }
% ~" n7 D5 A5 X# f! l, ]. g+ Z
( `- M# G5 N) n8 H5 D# l
( y0 b0 w% q9 U5 s2 J+ I" |/ U$ L# h3 Z, k1 E+ j
+ S- I8 l- ?4 Z7 Q
注:kvm虚拟化模块: w, z$ F# O+ M9 W$ W
. E- ^' G5 ^+ n2 ]) C. m
1 A7 Z/ u9 N0 s( J8 b, z5 E) ^
' `3 Z& k. ~& V+ g
- 在老版本中有单独的qemu-kvm模块存在,结合qemu一起做虚拟机工作。在后续新版本中,已经将qemu-kvm模块完全合并到qemu中去。因此当需要使用kvm特性时候,只需要qemu-system-x86_64 启动命令中增加参数 --enable-kvm参数使能即可。
' P' J# h" z2 i7 B3 X) z' a; B 8 F8 P+ H- A8 `: m/ C4 ]
3 ~7 P/ ]5 s7 F6 o+ k' \/ I% C0 w( V
" b7 c8 Q8 | B/ E- ~" N1 } |