易陆发现互联网技术论坛

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

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

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

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

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

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$ ?
) n! s$ Q8 w8 W8 H! q
                               
登录/注册后可看大图

. 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
6 w6 O- `' N& C2 s) R: f3 w
                               
登录/注册后可看大图

' 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+ m
2015-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 T
2、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
* q; y: z- S- w) G. Z
                               
登录/注册后可看大图

, 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. k
2015-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, L
3、关于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
7 B+ n& \; p! b
                               
登录/注册后可看大图
, m4 G  ?: ^; ?  C
& h6 B4 a9 w3 h7 @

$ k' R2 t: s0 n! m6 P
4.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. s
2015-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

- E/ G$ a9 a4 J: H                               
登录/注册后可看大图
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
0 N& y1 V, y  V! V
                               
登录/注册后可看大图

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
) i6 k0 i# g) P' o, u: c
                               
登录/注册后可看大图

. 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 ^
  w3 p0 K- k* q. Q3 h
                               
登录/注册后可看大图

9 _8 V4 C- B* J9 G0 a+ E

4 u, s' q# X  Z7 Z; `. r
3 ?- X. F% ~& A- `8 j7 X8 m
8.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

) L' j* j! z, {+ V/ T                               
登录/注册后可看大图
3 Y0 k5 Z  K- x7 c

5 |. z) W. I( m
0 A5 `8 [7 S, e* H' _  O
9.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/ ~- L
7 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

  x; [: }; ^& g) q( k                               
登录/注册后可看大图
5 n3 [9 P9 X8 T5 |9 C: \+ F9 R
9 L" u/ J% [" k

( [" H$ x9 K# x
10.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 ]
' t% s3 l2 a' C) {+ x6 P
                               
登录/注册后可看大图

: 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
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

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

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

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

GMT+8, 2026-4-8 15:22 , Processed in 0.053265 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

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