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