马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?开始注册
x
[解决后端使用ceph qem性能问题](升级kvm后使用virt-type=kvm(qemu-system-x86_64、qemu-kvm、qemu-img)
2 y1 r' u$ H5 U' o0 K5 J: u$ f$ d& P4 i8 A4 e% p
9 A, `- P( b& E# ]! w! o由于升级libvirt、 qemu 后没有qemu-kvm模块。nova配置文件配置为 virt-type=kvm将会报错、配置为qemu则性能低。
2 S/ e$ |3 E- G: c+ P
9 A) _0 ?; o8 t关于kvm、和qemu类型选择请参考博文:qemu中KVM硬件虚拟化的初始化分析 (tcg、xen、kvm、qtest)
5 Y9 K0 ]$ M; T; ^# k1 r9 S' ?9 ]; a' [8 v0 a' Y$ v" o; M0 a o
. x( S1 \+ t* M/ k0 R7 Q( O本次测试环境配置:
. u, _% e3 E7 I4 W2 ^1 L4 ?0 h$ F0 }9 ]4 z
% }( n" a, {1 {: N$ V7 y8 I) K; z- horizon 的ip 192.168.10.71
1 a; E+ S) H, r9 o0 u) W8 w - 其他组件ip 192.168.10.191
. b+ q$ S5 V, {' Z4 N; d+ s3 j' D" u' @ U
2 t+ d3 B g( X7 P' u2 l- I: _: |" u1 d: J
复制代码2 j. v: J) W! M
- F! E! T2 @" ~/ z1 ~9 O2 `# c. R1 h
% F& D/ X2 a! v$ M- a! n0 K! V- ^& P+ S/ R3 }
9 n7 K3 m8 K V& r# W' t7 z& b0 Z; q! P7 N0 }) r
1、使用virt-type=qemu启动的虚拟机:
3 x( G+ ~9 b; i! y6 d4 \% R' J
4 ]' K7 @9 ]2 _ z- L0 s7 B! C# [, U1 i
# U5 f4 H, T0 Z' U* Y# z2 b" m
9 ^* v) e9 _1 a( K ]1.png (46.25 KB, 下载次数: 0)
0 ?" S% y3 u- O1 A# V- {5 V5 m1 Y* c/ E$ ?0 S: p7 Y
下载附件5 t. V7 T7 r% Q* Q M% P
+ v; _ ~5 G0 ]4 D) a+ r
保存到相册 m. {& I \' ~& E" u( B; |4 Z, e, n
9 G$ m) M8 C* ^. {1 u6 } 3 @) J' d- J8 O* |; |: M! O
7 n$ ^( X1 `5 u' o* F
2015-4-7 18:43 上传 6 `% K$ j; N8 \3 i5 q
$ A9 v% W: E6 P8 w* o& B& ~0 E- |$ P9 R
, {. J0 M* G4 |# I8 P* i
2 t4 n( C/ ]6 B% U
. v* @ W6 S& }; |: u& e7 O 9 p- ]+ N; ^+ R, o
5 N4 B: r7 k6 M8 I& `
. ?5 V; D; K! x" F) c
- 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=0x5
; e6 @/ ^# F K, q) u. V
) J& r' t; N0 u( H" @
3 D) N) p8 X: h8 k复制代码
' Z. R% @) P0 k* @; h
4 E9 U' ?1 h; F6 [: i% K* Y* @ `$ p6 w, x8 @
: U. b6 y8 g4 x! J+ O
5 K6 c" a5 N1 n- ]+ s/ D0 H( ?
. [0 I/ L; t- O) l- B' u6 d6 ^% ?% K
* \/ J5 K! Q1 e% ^3 c
+ j& y! Q- y; o+ l6 ~ G) G很明显看到上面使用的是/usr/bin/qemu-system-x86_64。
$ F/ Q, x9 W6 {, p, G% I2 i4 i
" _+ j0 ~9 Q6 C" c
看看:/usr/bin/qemu-system-x86_64 --help
( t8 O. i h" B
7 f [8 |2 b: N1 c- `- r
6 {, i9 ^8 \. Y! t1 W) n$ \: u# R, l2 m 登录/注册后可看大图 , v u6 X& V: @
! X) A) T8 ]- j- @4 v) B4 ?* W6 K2 v; b- _
2.png (10.38 KB, 下载次数: 0)
- p( }! P J) A* Z+ n$ w8 o
- z! l! K, r5 a/ t下载附件* E$ f6 _, ] K* I0 O& \3 b0 C
# Q6 |1 n$ K/ D: a1 v 保存到相册8 G. x6 I$ @4 U
1 p$ U4 x: H1 m4 O7 x y7 S $ z2 r x7 ]8 f) Q3 P6 A
- `! Q% s% n; z* ?6 ~# \2 p v2015-4-7 18:43 上传 4 q& D& {* c; D8 Q u0 E N) ]
5 X* a9 s' }2 a# a Z0 H
0 y, N+ v7 a# n$ a
7 O. d0 C" x) O6 [* W
8 F+ N: U6 r$ ~. L8 ?
) K& T. U* H2 K3 b
9 K9 Z8 o7 h! G" w% g; V3 O- T6 |
x9 O: a$ e' ?& s6 r, R9 O' B/ E: p; o, C8 `5 \ L
8 F3 Z$ e! T, M i& E" A
7 K) L- W8 ?& j+ R1 Y5 M# p" A
" T8 }) N6 |9 ?# K) e2、virt-type=kvm用openstack生成虚拟机,报错: ; @% S7 S# h+ p x4 ^5 N- f1 L
9 K7 x/ x- n# E3 D6 @ N* w4 G2 N; T2 i) m" V
+ P& g# ~; K/ N* @7 m& p7 r" H- 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] Traceback (most recent call last):, c9 s! {; |" ?4 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/compute/manager.py", line 1305, in _build_instance' W8 I2 e1 a, o" R4 s
- 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] set_access_ip=set_access_ip)- K- k( A0 Z5 ^9 u& J: 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/compute/manager.py", line 393, in decorated_function
; T1 [4 f- W5 {* N4 q3 e# n - 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] return function(self, context, *args, **kwargs)
3 w) Y e, a K" ^* }5 j - 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
" v' i2 b' I* p: p - 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)$ s7 J* O) t$ \. h1 g, J2 h6 e7 }
- 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__
9 c$ ~8 D( I# E5 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)
6 M7 W" p1 J% ^2 ~7 ]4 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/compute/manager.py", line 1714, in _spawn
8 y8 `% H/ b/ _4 N0 U - 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] block_device_info)
/ U2 Q/ m- F0 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 2265, in spawn# s% y" i% [! q) R: m
- 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] block_device_info)
. Z; }0 z2 `( P- u - 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
' S9 K# e) w! X7 p3 X$ x - 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] power_on=power_on)
" \' b4 n' \! o1 b( b1 e' O$ U% b% s - 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_domain
/ O+ [, o* O8 ?" L) Q" T - 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] domain.XMLDesc(0))- F6 J# d" p3 [. w* A2 K) 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/openstack/common/excutils.py", line 68, in __exit__$ x$ g) C: s) o9 b, p! ?
- 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)
' t) F! t; x- t$ g: w' V3 K - 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
- ~* r4 P6 s8 \! ^& A) n! X - 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] domain.createWithFlags(launch_flags)% |3 L6 D7 q# q' H4 n9 U
- 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 doit; Q$ g8 S% y ~6 a9 r, e& l4 Z
- 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)
$ t6 z: x/ {3 ] - 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 p" h2 g/ z+ ~: O3 d
- 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] rv = execute(f, *args, **kwargs)3 p7 ^' x( R0 ?
- 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 execute7 s. S! ~! p. g% |+ Z' e
- 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] six.reraise(c, e, tb)% J9 J, m, e! C( l! h- g( 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
, c$ a& B2 d d6 Z! M( {; X - 2014-11-18 21:53:55.498 25214 TRACE nova.compute.manager [instance: 5b50ed5b-c3d9-40cd-889d-0aee14afd7f8] rv = meth(*args, **kwargs)
& a+ e2 }7 i3 Q' P3 h - 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$ L1 V5 m& R* m4 x( ] 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)& e4 w7 S' m, ?, t% R
- 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, s( _' @! R5 T, m% C' w( U
- 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 directory [2 j7 Q) ^8 |& Z5 d8 k
. I3 ~4 u, I3 T7 C% f! W. @
* r- K% ~: O/ s, F% f$ \6 C* E
, _4 y$ a& f, N+ C- `1 x复制代码3 V$ C! s+ [* Q, N6 K$ E) H
" p$ R0 g. R0 r+ i) |3 F
" e6 A: N* Y, a$ K& Y! e% i" K2 T: `' N% w/ z) [: ]7 ^# F" U
6 D. F# X1 g) |. N) R
" | O' V. b9 g/ \+ V
9 C$ Z4 Y( \7 j6 i3 W' C9 l7 g# q/ _, d7 {* |( {
( E- T* o/ U# ?* C3.png (2.85 KB, 下载次数: 0) E0 W f( L" r" \
3 B* q- b2 Z( h: k
下载附件; X. j1 @. k) @- H. \$ o
4 T2 p0 g2 H1 F8 Z4 h# p& p 保存到相册
, v. E+ ~' H. L' ^- e4 h; y2 |* f& G' X5 V6 K5 h5 `/ i8 d
: J1 F6 \& h2 t$ x3 z
8 z" }( ?, b; V5 W, ?. G" N1 m2015-4-7 18:43 上传 # z3 s& C: |) m: T
% E$ s/ N; x+ l1 y* V6 ^$ T. b4 t* q5 t3 n1 G9 |' T3 k, C
1 P8 H6 n* G D* T# M
9 {8 P' J$ u V, S2 a% c
% k' w$ L5 n- y- m/ [+ Z8 W( {
+ f8 Y8 T8 ]% e0 k& O7 W
" Q% ?( ^5 R. R/ W& E! c7 w" B; q x E6 x/ e- P
, h9 u. s; c; \% X9 I6 x4 N+ s; p: m6 @/ x# v2 g
+ E, |) c8 V0 ]4 E
3、关于qemu-system-x86_64、qemu-kvm、qemu-img
% ~; v: q0 O) w6 [7 s- G9 \
" G4 n) I4 K2 E( b图3.1
3 y6 J h, l2 X$ X3 [+ `. w( R& X: U' e5 ^
3 O& f' _8 B) w% N1 w' t9 P: w1 v
! s$ P; E9 `. ?. @# [" z; w8 Z: l1 j1 ]+ z
( r9 r, _. v A
4.png (3.12 KB, 下载次数: 0)
0 [2 {2 P6 D9 t& f. `
1 f, z# k8 h& E9 v6 e6 n下载附件
$ m% d" ~2 u5 J3 w9 f, l4 \
: t. W) |# V: g 保存到相册$ j6 O* I% H4 @0 {* |
, Z. @0 ?3 O$ l
7 M" [6 }4 m4 P; @, g. ?9 S" U" d% v1 Z5 A3 P" B; Y
2015-4-7 18:43 上传 9 J, R3 W4 l6 |4 s' e0 B1 a, M
* @3 G- `" s7 }, f w: t& p
6 w% M1 D- `- [& |. l3 o. L
+ r. `" H8 N. s/ Q0 a( w
6 F* y( W8 d2 Q0 W2 A: t% G. Q) u \, p) \4 B
9 i; w* x/ p2 z' d% e) B: a( h9 c9 E, d" @4 W: E
) k5 X. K. r- {& S
4 o+ B5 H. e! y- w' f: I
2 M; S' P$ R* E# Q+ n( r5 N
! e+ V/ v" G* Y# P- I; s1 r查看上面两个qemu-img对应的版本及支持格式:
9 R1 I3 a! W9 K3 q# I& { r. O1 A5 v8 c
2 i1 {& \) z ?: ]- /usr/bin/qemu-img | grep -E "version|Supported"
4 L; u5 j5 y# U- H0 M0 W/ N * J# h3 o, y( M% N
0 b8 y3 E, |5 i0 u2 X9 j
复制代码) B; l6 p7 W. ^: q
# U v9 i. n5 I0 Z- J
. D, m+ R( e' j! R' R! Q& m
) F$ D A7 X5 Q
^ D" Y6 [8 c6 Q/ v* n1 p
' p! ^4 p; J1 g图3.2
" O. h6 V/ l* B
( r Z1 b# h3 J' @( i6 V3 |( V! R4 A' ]9 s9 M; @5 _
% L7 E: x7 h9 v3 \
; p% T% i+ z2 a8 ^ f
5.png (11.06 KB, 下载次数: 0)
3 ^; W! N* N! h5 }7 a0 T7 ]
% P+ z8 m* m& K6 W. ]下载附件
% }6 m, j" L- |+ P- X/ |5 O; q5 l4 d6 ^$ r
保存到相册
* s; F; y) }& G. [- p8 g% @. C! H3 V' {. A: b' N
# F' U- G& K* L5 n7 D: Q1 f* Q
$ \1 {/ _3 `, g' \$ { I: P2015-4-7 18:43 上传 {3 y2 S. D5 u" _/ |4 Z( O P
6 w$ `, }: i+ @# p1 r: B5 N4 b* d* T
A: f9 ^. Z" O' ]- n; @
$ E8 M% j7 A3 l- r& T
! J+ c7 k; z7 K4 j- V8 f5 r* Y1 P: h
$ L6 [" W, g1 k3 x9 x n; `% S
4 A2 K. A1 B; g8 ]
; q$ n6 {. v' g. I- /usr/local/qemu/bin/qemu-img | grep -E "version|Supported"
9 b$ W; Q: c. X
( M$ v) R5 J) v' c) Y9 z6 H0 s
; P8 Q) W5 r& h. {- M" `' H复制代码
# q. j8 Q8 d2 I F/ x
% A" e$ o' Q$ a5 E( M
. Y% A3 j. z$ q& f- S4 A( G9 P" \4 J, G/ Y# }
( X- s1 Y6 h$ p: ~# H5 g
( Y* u% l0 u, m图3.3
- W9 b+ A9 C) R& l* |9 Y/ M
8 O/ B" w$ d! i" ^3 o, u- k( ?1 C* P- h: a
3 K. T1 N7 w; k) C, ^1 c) ~: k
* l; c# Z" D. D5 c+ B6.png (17.52 KB, 下载次数: 0) : J, b w8 ~, d. z4 t& D
* i% A& W9 `- I) u# s下载附件
/ g% p3 ?5 v) Z
2 G, |0 \1 g! k6 G; k 保存到相册
/ v- M! d. E1 e
0 h3 i4 v" Y7 [8 ~6 r* V: Y , N% D1 ]; {" U5 `7 C
; S. n9 y% ^8 R3 w3 K
2015-4-7 18:43 上传
) u& _" {$ }: s' [ m8 s. X' H
. a$ a+ u% u5 B2 w$ H
$ E% N# E) h% }- v, G7 ~* T& D6 S5 u. C( T5 |9 W: a
$ D: d2 S; Z! ~& V7 {5 a! r
$ T2 w- F. I' K8 @0 e. f5 l
9 t6 H' }& q3 G% Q1 t6 U# q
! A2 J: t& |. [2 X, r/ z8 |- _- ~0 j
4 G, _3 E0 T/ P) [, J4 t
; G+ V5 k) }' H2 d+ j
( u2 a3 Z9 `$ M
5 ~) x7 F% l( \( }0 h3 Y8 @
) ?7 |! ?1 |, C: Q1 {在回到上述错误:
Z- q* C j8 W3 D* k G. G. t. g& A" x! @6 g- y
图3.4
$ L) O. k: S1 ]& Z/ h+ B) P; ?% ], h
3 i; `9 j+ h, k% c
0 ?+ S" |2 K0 p, H) I
, @/ X u# ?- A
7.png (21.19 KB, 下载次数: 0)
, L( B& ~9 T- _. E9 E7 O( v1 J
" v( t4 y( F/ ]0 c下载附件6 d4 S1 s" q! ^& u0 E$ @# X
! |5 _$ p8 ^+ h8 X |0 s9 G9 c 保存到相册
9 d: ]3 _3 b# L) a' n
/ l' s* S4 J {5 b- L7 c# y5 O
% f" \7 f& {/ F8 q. s% s) T }' I% l) p" b
2015-4-7 18:43 上传 5 N8 H* V, {. L8 l, U; C
4 a- z- ^# {' \* p5 p
3 k: h* o5 e8 X4 p9 B) b2 a4 a0 O T
; F L% [3 k- j* m/ u9 M
/ C1 J6 U2 r+ C
6 ~) J! I6 |4 l1 o; ~$ m
7 g8 X& ]0 e0 N+ R6 [$ U8 L2 n$ }
1 O+ [7 C6 p* j3 P. G+ T
. `6 i. `3 f& K g- x& n
) ]+ G* l G0 X6 Z, l. I; S
. `- Q, [# I l6 B1 i' D8 p C' A此处启动用的qemu-kvm: + {8 [( U/ e _7 F& h: ?9 h' _
! b, A% a# m9 ^9 j
8 L' l1 T6 t* ~: Q N( m查找qemu-kvm: D) B. |) S& a1 n! u' F
; j6 H. L+ b, }/ J& O% g- Z图3.5 - |+ }7 B7 G4 D# N/ r# j3 F" ]
7 [, F0 A3 Z* [- @ ^) ~) W) s* T& Z9 }7 x, |
0 v# v# Q2 O0 j. j5 h
* ~& Y, q( W/ Y- B& k0 u- L7 B3 W8.png (3.69 KB, 下载次数: 0)
5 ~0 h( p$ g+ j) u$ k/ ^# `9 l0 A. [" n8 h/ W! ^5 j
下载附件
3 j) G# |2 Q7 P# H8 l& L$ s# P2 s; a% O
保存到相册
. G* N5 Y/ i5 L | d3 E4 k' P9 p( f# G3 @# B, B" t0 {
3 N# V* T; \3 v V& y$ a8 j' t( ]) d
4 F" k$ `' f4 f: M% H8 b: N2015-4-7 18:43 上传
" x6 S7 s) `3 }" L/ f5 k2 C( S; i& h
/ a- W1 r; A2 B q! S3 f/ W8 k, z9 E$ {" _
: D, o$ ?: g9 g m% P- F' n5 h1 W0 g! _% F
6 ~: @6 s7 r1 a8 M/ m
% v v! a+ l/ a; B# K3 S- B: ^
& {+ Y/ c- s) u! m+ W* b1 X0 @. C: l' N, U# @2 s5 q
, N ~3 Q; C# a O) T* y* I
$ M% R7 ~! G9 k0 o
9 T; ^% M% Z! ^& L( ~9 f查看qemu-kvm版本:
0 j1 F7 C( S' ]* M; z% L9 F8 D8 @4 ^7 M7 W% P$ {
图3.6
$ A' {( D8 Y3 n- v+ J& @ |1 ?' T* g' X
7 k6 u" ]+ }" v
6 D4 U) D6 T3 Q: S! }7 w/ C% Y! z! ~" O& O9 p/ t
9.png (5.34 KB, 下载次数: 0) 0 D# c u/ ]" \5 s0 x. l, _
. U$ D$ o( P# Q4 d# J6 v
下载附件
7 \$ V# x1 v* f. t$ \+ G% L
. N4 b1 T! S7 C: { 保存到相册
6 V9 m7 K- B- |3 _* _; ~, L( x" ^, g4 p0 x1 n: {
) c G( a# f, Z& E E4 B0 \( a
/ |& ^6 {' M# \1 S5 _4 v
2015-4-7 18:43 上传
/ w) d% X0 M/ L
1 y* J3 J; B7 @6 l. f# G6 Y
; H/ q& q% B+ Z* _. j. j: Y; s; T+ s$ V# b
& {& X6 H3 V! K2 U
8 _' O' ^ Y# |- K N' B * _" J% s( e! h; ~' X8 v
, ?( Y/ F$ U' l% s( u: U
' p5 @4 f7 F3 \1 s D; n
& ~$ g# j" x2 V4 I* X. e- t) r' [/ u# u3 _9 j+ @' W
- G9 `! V( t. K9 |! y再找到对应的0.12.1版本的qemu-img(图3.2),发现不支持rbd(ceph后端使用需要rbd支持)。(注:图3.3qemu-img支持rbd。) 1 J: |8 E4 ^) }0 J9 @0 a
# u, e+ {: E5 u/ Y# A; S$ B2 f2 Y
L K/ f. Q7 A$ J, O, I
通过上面分析总结一下:
, O* [$ P6 ~3 B u1 L) V* c' T$ M- ?; ^# u! I0 ^$ l
/usr/bin/qemu-system-x86_64与/usr/local/qemu/bin/qemu-img是配套的。版本为:version 1.6.1(手动编译1.6.1 qemu的源码包之后版本)
+ w; ^% u+ N" o" ~
5 M! l' ^9 p1 |; o% m
" a8 @( w' U( F8 q! R5 Z: l/usr/libexec/qemu-kvm与/usr/bin/qemu-img是配套的。版本为:version 0.12.1(为升级前版本)
# f: ]; \: C5 L" S, T" ~
) u; P1 _6 U, S1 L6 t
8 Y3 A$ N5 H( _$ U4 G% \
5 \6 ?3 [" ^) g3 C+ r$ Z( }% L7 Y% T. y$ G+ W# N
这样就可以解释图3.4的错误了,因为图3.4使用的是V0.12.1,而V0.12.1的qemu-img没有编译支持rbd的模块,因此出现图3.4错误。
$ s8 u- {, b: a( d5 T
1 N. y& i k7 w, d/ _: ~- C
% d0 \6 f9 b( N5 S9 K1 K解决办法:
+ n. F6 d* S/ z% x8 y* }& L. @ `
- W0 y7 ]& B% F: S1 s; p' X将图3.4中启动的qemu-kvm替换为新版version 1.6.1的/usr/bin/qemu-system-x86_64来启动虚拟机。
( Y+ W; Y& B% l' L0 y
( p0 |2 ~2 `) a6 w ?7 _, L V
! Q; S2 k9 c+ q3 J4 E- _% c7 G. S6 a操作步骤:
" e$ w6 P$ H! l
3 [5 @" ?9 E! V3 i
8 B6 m, D3 i( r/ t4 Z- mv /usr/libexec/qemu-kvm /usr/libexec/qemu-kvm.bak% {1 ^6 ~- j, Q5 v. @
- I/ W! q8 q3 r J/ u
0 q9 S3 l8 u. N* @7 e" L: c
复制代码
" ~6 G9 C$ U3 P6 S$ H& f# L: k
% s$ M, p( Q; o+ N' b! g8 {( z
% |' K- ?' H9 W. L, M' {$ K
5 N( P4 Q& X2 ^" ]
8 c' L8 K. Q g, w: t4 T9 |) i
: U" G- @! H$ k5 f再次生成虚拟机:
' p; q* e* O$ Q B9 f9 V9 ]6 ~2 p. l' ^ u* i
) o4 @; A2 e& z# x9 T+ ? _- ^! O: [! W
1 R7 ^; n- s) K0 X# \10.png (49.33 KB, 下载次数: 0)
* O- E. c+ A6 u6 E) P4 G" Y- u$ v" q
下载附件
, J6 L0 t E+ ^% M- \3 f
) [9 M! l' |! e* v9 }/ Q 保存到相册- a* d$ [- R k- ?
, \# J9 M9 y3 h
& {0 G8 ]! f* V/ p6 b# \. K4 n
5 W0 \3 D- M2 j- m( h$ ~" S- T. H2015-4-7 18:43 上传
0 ]# N( ?& s3 r5 j+ K
; B9 N; U) z f. J9 ]
( \+ g9 L! M# O) P" @ J
, L. o# k) E& t2 o* J8 d
7 H" ~2 N3 F/ ?6 j& }
" V i& l7 P2 A6 m 4 x x' X$ z: k
+ {* n2 C9 {: T# ^' w- I. }6 j/ T$ _3 P5 P& W4 b8 }
" u4 J6 v' @6 q- U# l" o* o) a; y* w- h' p8 S1 b, }
' J+ h- x0 O* J" L, r( c" D发现虚拟机生成成功。
& K l- C2 y! E3 z- \2 _2 J( t3 |( e6 M1 C8 Y5 n5 v
( \* b3 y! ?6 m$ {" ~再来看看底册启动参数: 4 J1 ?" c: [- `5 ?- ~' A- h1 F
) t! e- W j3 I
9 P) p3 ` j9 a2 {& t
- ps aux | grep qemu
# |9 K/ H8 J A% j/ c * X" F6 V6 V# J# M' `4 A" F6 H
( x( s) {9 V/ r
复制代码
; g) e: t9 r9 O2 r/ V4 H
- ~* s2 {" R& x, G; b4 _% A7 ]0 e+ K; b$ a- r
2 r# j$ S' ?9 a; Z9 h! X+ J7 e9 g6 X! ^7 N R5 Z2 \% w' m) [
( B' x% V9 k! |; R
# P5 O6 H/ e2 B$ J$ T3 \. b; `) v2 D- P9 |
+ G4 ~# i! l3 r. F7 o+ L11.png (99.05 KB, 下载次数: 0)
) Z* ]; S& r8 w! R9 j/ Z
3 r9 b8 p% J, z$ e1 Y9 B b下载附件/ n; v7 L' Q, H) h0 u5 U
2 @2 ~5 h7 W6 o" u' g$ m 保存到相册
; X7 S" k j' S2 N( E
; I7 ?4 i. t; `" b
Z( K @2 t0 a) _: _$ ?" t4 X* `0 C$ [: L# J( | A
2015-4-7 18:43 上传
5 g1 ~3 H6 W' o# |8 f: c8 I& [" Q" e# ^! g
$ y0 Q& m* C. n# Z/ @3 A
* F3 }2 _2 {4 T# @: G O! E. U$ ~8 K r5 _) n
& m! }( b2 W! t& P+ g
2 H" U' O: @( ~0 d& ]! Z: l8 C$ E( u/ c, }
' Q" r4 H$ w% W8 q7 _' b4 S
" `8 W4 j5 p+ h
1 @/ X6 Z. @7 [4 D( m: W& f
! v7 q' L/ u9 ` Q发现后面生成的虚拟机,将nova.conf配置为virt-type=kvm之后。再将原生自带的qemu-kvm移除掉则能正常生成虚拟机。且生成的虚拟机使用了kvm虚拟机(accel=kvm),提高了性能。
) O1 |$ q. M& B2 Z0 S# b6 ?* I3 m8 I
2 e# R% f, m2 I* ?6 d8 d7 p
结论: . K4 D3 g# u# p0 O! X0 Y! {
) `8 i( T3 a& J( J
( z4 h6 e/ u% Y8 T& z
+ p. r# z' F5 g( X
- 1、当nova.conf配置为virt-type=qemu时候,会使用qemu软件特性模拟生成虚拟机,一次性能降低。+ _4 ~! E) l0 u2 B, Y
- 5 u. m- A$ b$ l1 N- s! C# V1 B
- 2、当nova.conf配置为virt-type=kvm时候,首先回去查找qemu-kvm模块。如果存在qemu-kvm模块则直接使用此模块启动虚拟机。如果qemu-kvm模块找不到,则会去寻找qemu-system-x86_64,找到则用qemu-system-x86_64启动虚拟机,并使用kvm虚拟机特性。及开启--enable-kvm特性参数
: Y0 n: r: Z; W
8 v m# U9 @( ^* r/ I# X- P
+ A# A C" b. v; i
8 `2 z( Z X) l" }复制代码( I I7 U5 o$ {3 m0 I
& m; `$ ]3 T0 A2 L' e5 H# ?0 R, b, b
$ [! J$ V" \0 j: V( e- A; v" }5 C: Z" p) z
# W b/ |$ k- A" j
% ]% P/ |- V+ K. y
注:kvm虚拟化模块:
3 i( Z9 l( a( E) t6 C2 m% D7 G. ^" `! c9 p1 B* J* p& @
& I2 x! h( H* x0 {
6 B; ]$ y- m1 \, t
- 在老版本中有单独的qemu-kvm模块存在,结合qemu一起做虚拟机工作。在后续新版本中,已经将qemu-kvm模块完全合并到qemu中去。因此当需要使用kvm特性时候,只需要qemu-system-x86_64 启动命令中增加参数 --enable-kvm参数使能即可。
7 I9 u$ p6 b$ R) W1 [- g8 j! o: f A 3 b0 |0 ]+ I: o5 c# Z8 p6 G$ T/ t' Y
( M- q+ ?: |, z4 g7 C
6 x6 z* }( B* O( n& k3 S$ F
|