易陆发现互联网技术论坛

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

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

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

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

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

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

' p* d1 K0 {+ s4 n7 K* l3 z1 N7 d                               
登录/注册后可看大图
- 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  v
2015-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) e
2、virt-type=kvm用openstack生成虚拟机,报错:
; @% S7 S# h+ p  x4 ^5 N- f1 L

9 K7 x/ x- n# E3 D6 @  N* w
4 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
& l) M+ U, G& T/ _  m) K0 U6 p, p+ ]
                               
登录/注册后可看大图

9 C$ Z4 Y( \7 j6 i3 W' C9 l7 g
# q/ _, d7 {* |( {

( E- T* o/ U# ?* C
3.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 m
2015-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
  Q% a& V+ E; m" Z/ ]
                               
登录/注册后可看大图

! 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' @

& C  T7 B4 e" @( u                               
登录/注册后可看大图
( 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: P
2015-4-7 18:43 上传
  {3 y2 S. D5 u" _/ |4 Z( O  P

6 w$ `, }: i+ @# p
1 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
+ M. U! L! [  @5 h. L  w5 W
                               
登录/注册后可看大图
, u- k( ?1 C* P- h: a

3 K. T1 N7 w; k) C, ^1 c) ~: k
* l; c# Z" D. D5 c+ B
6.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

) z6 K/ d- ?/ L* W' C                               
登录/注册后可看大图
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* [- @
6 B" r3 X3 R% [& C# I
                               
登录/注册后可看大图
  ^) ~) W) s* T& Z9 }7 x, |

0 v# v# Q2 O0 j. j5 h
* ~& Y, q( W/ Y- B& k0 u- L7 B3 W
8.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: N
2015-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

0 x) n. t: M7 u                               
登录/注册后可看大图
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 V
' ]& i7 F+ q$ L3 F# |
                               
登录/注册后可看大图
9 ]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. H
2015-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
1 z9 c+ Y5 v. b; P$ i8 o
                               
登录/注册后可看大图

# P5 O6 H/ e2 B$ J$ T3 \
. b; `) v2 D- P9 |

+ G4 ~# i! l3 r. F7 o+ L
11.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
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

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

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

QQ|返回首页|Archiver|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )点击这里给我发消息

GMT+8, 2026-4-8 21:20 , Processed in 0.061692 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

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