易陆发现互联网技术论坛

 找回密码
 开始注册
查看: 3980|回复: 0
收起左侧

解决后端使用ceph qem性能问题

[复制链接]
发表于 2018-11-30 21:34:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?开始注册

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

9 m0 c+ R' k- u& H$ G: N4 s- n5 c                               
登录/注册后可看大图

$ e# O' P" a' V1 x
( n* t: t- S# y, y7 R2 y

9 L# Z4 i. ?1 x
1.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 |+ w
2015-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

# Z/ x0 J! p3 x- s                               
登录/注册后可看大图
: M) Q7 P+ ~; c: z" ^6 @+ i5 O

  o  l0 l$ @1 u' b" ~; z7 ~
) i+ M; X0 _6 e0 O/ N7 U
2.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
2 J6 |# r, A7 i. `4 x2 {
                               
登录/注册后可看大图

( \, s  ^! K. n& ~8 ]4 g) E
6 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% v
3、关于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

5 u3 l" L$ f8 J  Z                               
登录/注册后可看大图

! i% r: q1 H) c1 X8 i. L/ @
" N, g& o0 w0 a: H. g6 ?

7 [+ j# E  ~9 s) v8 t/ X' J
4.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 {; D
2015-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

1 K4 H2 v2 U$ b  m7 U* c                               
登录/注册后可看大图
. 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- h
5 _  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
3 S4 O, G0 C+ E  ?$ l3 n3 G
                               
登录/注册后可看大图
* @- ^  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 @

) L! u! H) o5 d& b                               
登录/注册后可看大图
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
; n' \+ E: M& d$ p& Z) n, {: S
                               
登录/注册后可看大图

- q. ^3 T8 _+ o
* |: _& a  s' x2 y$ q$ R# [6 E! F5 m2 E

2 i) @4 }0 g% ?& o
8.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 [: ?, ~" }
5 |5 a% r2 l3 S
                               
登录/注册后可看大图
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! P
9.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
9 f  d* X9 g9 i- Y2 T# u( |1 h
                               
登录/注册后可看大图

6 p# O6 n2 r8 M6 q4 G
! D1 j3 K0 K9 h

+ P6 \+ f0 d  b8 f) j& Y. Y
10.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 J
2015-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
8 Q. H  @% ]; l+ Y
                               
登录/注册后可看大图

* ]2 S( y) C, Z6 P9 o( L) M
5 M+ O4 N1 p, W5 V

7 ]  f- A/ s) |8 Z% Z
11.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 b
1 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 }
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

北京云银创陇科技有限公司以云计算运维,代码开发

QQ|返回首页|Archiver|小黑屋|易陆发现技术论坛 点击这里给我发消息

GMT+8, 2026-4-8 19:06 , Processed in 0.052770 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

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