找回密码
 注册
查看: 4416|回复: 3

CentOS 7部署KVM

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2017-8-2 19:20:22 | 显示全部楼层 |阅读模式
购买主题 本主题需向作者支付 3 金钱 才能浏览

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2017-8-2 22:39:13 | 显示全部楼层
安装软件包: s% n3 `# y9 J. L
# yum install qemu-kvm libvirt virt-install virt-manager! ]7 a, I7 e: o5 ?
在这条命令中我们安装了qemu-kvm,libvirt,virt-install,virt-manager这四个包,下面了解一下这4个包到底是干啥的。$ U7 s: G4 ~3 ~2 {1 @! E9 S
qemu-kvm
9 ^' t8 M/ S. \, u8 {3 ?( k. D该软件包主要包含KVM内核模块和适用于KVM的QEMU模拟器。KVM模块负责CPU和内存的调度,QEMU负责虚拟机I/O设备的模拟。
! k! q8 r# r9 M* K依赖包qemu-img1 m. b/ h% H/ h- [& A5 v2 k
主要用来QEMU磁盘镜像的管理,如新建一块磁盘镜像给虚拟机。
+ |' B/ p* d* |$ L0 b& g$ h. _libvirt# X2 |! l7 z* j7 U$ C# A! b3 Y* V
提供Hypervisor和虚拟机的管理功能。
9 O# r) o6 T3 T3 n3 G依赖包libvirt-client
7 L" h; o6 T( @KVM客户端命令行管理工具virsh,负责虚拟机的启动、停止和管理等。
1 V! v0 J/ `5 p! p依赖包libvirt-daemon
& K* I2 {: ?2 q2 p) i. ilibvirtd守护进程,作为客户端管理工具跟Hypervisor和虚拟机之间的桥梁。: R. {! k% i8 a# b! a
依赖包libvirt-daemon-driver-xxx- D) Z* v8 ^+ g. N
从名字来看属于libvirtd服务的驱动文件,作为libvirtd服务跟Hypervisor不同对象(如qemu模拟器,网络,存储等)间的接口。
+ E. I4 U; ^) m7 m! H- _依赖包bridge-utils
; p/ V7 `* m+ Q! {2 z2 {- `2 v网桥管理工具包,负责桥接网络的创建、配置和管理等工作。
( D; {7 s' y& ]0 y6 v( xvirt-install6 W! d& j) s, N: X6 l
创建和克隆虚拟机的命令行工具包。% t2 y! ~/ j0 t* y0 B. t! S0 ~
virt-manager7 P+ H: @% l; j. m4 O( R
图形界面的KVM管理工具。8 _0 c+ u6 ^4 q; J8 B- Z. @
当然安装KVM的依赖包远不止这些,由于本人水平有限,所以仅挑了一些跟KVM架构有主要联系的软件包进行描述。
' c3 x/ L" u( r: l6 j后续配置激活并启动libvirtd服务( q9 x6 R) [0 Q9 k5 M4 M
# systemctl enable libvirtd* o' u5 g0 ^0 `& J6 f
# systemctl start libvirtd

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2019-11-19 14:27:55 | 显示全部楼层
4.KVM的相关命令1 a. H: U2 d8 ]7 I3 F8 b
* F; ]+ a- w( E" x

2 t- M0 w; K2 o
4 K9 |/ y" _8 n* j" \: d+ R  I) P4.1退出虚拟机7 \7 u7 ?- B7 e8 t* U; S. i) B9 f

( u. b; J, K0 w, U2 |2 W! N, ]0 zctrl + ]
5 v  u0 h  L8 P1 A  p3 ?, @2 H) m* z# m" U  g4 i# a
6 Z& `; I. T2 O" s2 s
, v8 I$ m" e$ z5 ~; O% c0 t
4.2进入虚拟机/ y0 k0 }3 @" l" t( u$ `
- q. E: t4 g& L% X' H) _( {6 p
virsh console centos74" s; Q( V- F! ?

; G8 o* }7 \6 [  l! @, j) B4 Y, L* g/ F
2 |4 J# {+ G' P5 z+ w; V$ |$ _
4.3查看虚拟机的及状态& i: p. }! b" Q' V3 y
! V- N( q2 i* C/ _) e- ]
virsh list
: C4 M; s3 S8 L2 [2 Y5 q& u& m. G0 y  T0 v+ g. m2 o7 X: l2 E6 m
virsh list --all
9 a/ j9 {5 x: h. d% K% R5 W
9 o$ Q8 _0 X6 ^  |$ [% p, S. d# r# s2 h3 S0 R2 ^1 _
6 v& u3 [# o# ~. ~" d5 o
4.4启动虚拟机
7 T; D$ ~" G: Z( d* O* C1 I: d. A) S9 m& o: e! E" e
virsh start centos74$ c$ k- Q8 m0 l$ p5 Y: C" {3 a; Y

( j3 O7 c8 b& W( [% N# j- I! \  o
* ^! f& b; m7 p2 {. m1 V
4.5关闭虚拟机, V; H- `8 t( k

4 Z9 W# d* j: h$ @" xvirsh shutdown centos74) e6 G3 n5 _4 D& N. O4 [
! H. j6 D6 V: p9 S1 W% G
9 \) e6 p  t, H1 |- D, C: R
& h. K  c- W- g1 H' v
4.6强制关闭虚拟机
2 O7 s2 [+ Q: h5 L1 Y# \) J
- K: n; |3 I9 R8 ^" z' z. _) ~: Fvirsh destroy centos74
. _& J9 L8 K% w6 h. h# j$ m& B! j6 [5 I/ h3 Q
( Y: t: r2 J6 k7 g2 b: U- s* d' S7 d: @

4 V* [, \7 R7 `4 x, v/ C% {4.7删除虚拟机
& h" z7 z, ^; U7 d3 v9 Z, Q. j
virsh shutdown centos74
" G0 l1 e) z: k- u& W, I1 n( n3 J. r' n$ l# r; D9 r1 [
virsh undefine centos74; ?) m7 P( N, n

0 P1 Z8 ^7 Z4 j6 j1 h. l/ X8 k2 S+ w6 M8 i% f+ I, u) y
! \( d2 M/ B9 c6 \* Y
5.磁盘管理
- s1 t, |" N, K8 x7 E8 Z) ^
9 A, v6 }( Q. A% g! k3 O
2 l; o9 Z" o! m1 m% y4 [+ k# j; f: k0 [: @4 c1 I+ I% O- `
5.1查看当前虚拟机硬盘信息
8 O) S5 |0 v% {9 Y" [+ d8 d4 ?
4 B% S$ [0 b1 ~. [8 G4 r# y3 {[root@KVM ~]# qemu-img info /var/linux/images/centos74.img ) s- a6 v: |( N7 f
. @, o) G/ Q5 n
image: /var/linux/images/centos74.img
7 e1 i1 [% b" m$ P6 ?9 x# P7 G0 ~* W+ u3 d0 D5 M
file format: qcow2
( X4 z" N. K/ ~7 T  y+ @8 ?6 [; z
0 K4 E* F2 U0 j8 v* |virtual size: 20G (21474836480 bytes)8 N+ \9 l4 U4 L1 b$ d, H

& u! w6 a: w) F, `7 pdisk size: 1.2G
' J) D- x9 E( v( ]' }, ?' O# a# d: m7 ?" q6 L5 ~
cluster_size: 65536
3 |# o1 F/ Q3 y$ |& X
% q2 b4 B: t. j2 \Format specific information:
, Y( C* r! J0 R' G6 [( q' K
' j: k" C4 o* W9 z+ \3 O    compat: 1.1
. ?! t2 t6 c1 B  d  Z! s; [! ~- M! Z" i
    lazy refcounts: false: [$ D# z2 T% n
4 \+ T4 E1 i- \/ U% ?
    refcount bits: 16
, [( I/ |* K- p% ?1 |
  q/ L9 D1 L0 T    corrupt: false! l: i) X3 Y; L

! G: C9 `2 q9 |/ B. g- b8 F5 j: ?* e! z1 F

" T6 C" \8 ^' u1 [" e3 c5.2转换磁盘格式(qcow2转换为raw)1 R0 ~! y% q, a/ e. j) E: \7 f( H
( Z0 f: u- }/ F
[root@KVM ~]# qemu-img convert -f qcow2 -O raw /var/linux/images/centos74.img /var/linux/images/centos74.img
0 K. W; A% M/ ?! c5 M+ t3 M5 N9 b. c9 F

. W. Q; d/ T& G
0 k6 X1 s8 [) s5 u4 q3 B! d5.3KVM虚拟机添加硬盘; `& y  F4 H6 E* B0 ?0 r" P

! @* N, P* B9 _# S7 R6 A2 x7 D2 l' }: V2 {* H  d2 i. ^
( i7 T/ l# W6 I* O$ T/ g% v
5.3.1创建一块新的硬盘
( Q# X1 S& v3 Z5 b6 v% K+ v/ V# \6 u  k" X) M; n! `! X: F
[root@KVM ~]# qemu-img create -f qcow2 /var/linux/images/centos74-add.qcow2 2G
1 S; n1 T  O5 T3 u. u
8 M) P* J$ c: ?* k$ J" v' v- L' a3 y; a9 U# X/ s
7 h8 z8 P+ H5 A: e  ]$ M# f
5.3.2查看创建的硬盘信息
# X# a, G  j" A( a5 o: v! f+ Y: b
[root@KVM ~]# qemu-img info /var/linux/images/centos74-add.qcow2
2 p+ L* n5 l* A  R& s1 v6 o" `8 F0 j) {1 _
image: /var/linux/images/centos74-add.qcow2
2 K: A; M$ v3 F) i
4 V, R9 H. Q" c3 Ofile format: qcow2
7 t9 m. M3 {. m  f2 ^
. G- P8 A! v4 t5 U+ evirtual size: 2.0G (2147483648 bytes). _4 n$ E9 y0 h! Z
8 k6 O! U+ n' i8 E2 \, p* |
disk size: 196K
2 d4 @7 o. s4 i& _0 E/ I7 s( R$ |5 `, E
cluster_size: 65536
# V. T- s+ Q, z, [. H" e3 Z+ N1 \; |* Z: u+ x
Format specific information:
2 H: I/ j, g, ^/ N1 w, ?7 h0 C; k! j
0 i# I5 A  @, L) E" q    compat: 1.1- m' A* H5 p8 T2 D& f$ x
* A. F: D7 N: l, m( A
    lazy refcounts: false
0 i5 Y. B  b0 E9 y) e+ D+ X) z+ c( y) Q7 x9 g% h
    refcount bits: 16
$ v* L: g  i* `8 L! H$ k- {& D! r- L+ i# e* ~* L% u
    corrupt: false
0 w, n9 c3 \, ]$ `+ T! V
8 |* o, u& u9 a7 Z. s# {& S, b' f/ T# x) ?/ z

5 d" }1 G/ z+ s. Q. x5 v0 v5.3.3为虚拟机添加硬盘0 H) J! x- R2 W  \

$ N& O! P/ ?' E# t$ \8 \[root@KVM ~]# virsh attach-disk centos74 /var/linux/images/centos74-add.qcow2 vdb --live --cache=none --subdriver=qcow2
- x5 k  Q+ b( |% L& v
* W. z7 l- s' w* t4 S  KDisk attached successfully1 y" ]6 E, [( Y/ J6 q

* s7 S) l9 P* N5 R' p% j8 _& S9 L  
  r6 L; [  B4 Y' N" ~) ?# p
7 I- E; ]* N" x7 ]' w2 G4 N说明:vdb    第二块硬盘
$ w5 w/ \; t  J- M  F' p2 q- v" _/ a- {2 ?' S+ @1 u
          --live    热添加
9 x( v* n" A+ E, U& M) b" W! o
  ]) _- c$ I) [          --sudbriver    驱动类型
+ W+ E1 h# L- U8 {& v4 `6 g' f
          detach-disk    分离磁盘设备( r* y' P6 e4 i0 A* ]  D) q
9 j: J$ H2 b4 b3 r: z# U
          attach-disk     附加磁盘设备8 a  v# s5 P. A3 _* B

/ a" [. F: G+ O  ]2 g4 e# |  G# s
5 s! D1 M! m1 ?  s3 }7 b, `1 y; v( X' d! m
5.4格式化磁盘(在KVM虚拟机中操作)) M/ R4 H8 n/ d1 Z$ O5 l

# w; I1 S1 |8 Z& l0 Z[root@centos74 ~]# mkfs.xfs /dev/vdb$ g, C% S- L/ T1 g' X" `

- i7 J* V7 i" _; s  s7 d+ ~! K* b5 w9 T: N; X4 C5 s) t% ^, A

+ @, ~" {- m( [/ ?6.快照管理. {/ Z1 f, n( ~2 V: V

" x! r1 G: ~& m& k2 ?. V1 U8 b- @, E5 F6 U# k

! r. \! X# f% c8 d6.1创建快照
9 X. E( \+ A" J. x6 C0 [+ I
- K, N0 k- D. g* x- O[root@KVM ~]# virsh snapshot-create cnetos74' P; d. _6 s7 _4 p6 P* h
) C) k6 N& N% j+ e  s0 Y" J8 X

. A3 w: D4 u0 o9 [0 |; }$ s5 G& m/ }3 I2 Y: I; I, O7 k) S9 F
6.2查看主机快照列表& O# L8 X. c6 |9 d+ y# x7 L

) q' \6 O/ z; g2 x: h6 w[root@KVM ~]#  virsh snapshot-list centos74
/ R8 _* @( G& f  @% X; z
6 ]% @. b$ u$ |- l9 q0 a0 w: w; U) a) V* b5 t! h8 S
( w2 B' c$ i* o
6.3查看快照信息2 o6 g; F. f2 Y* K& Z
7 M, P# p' h# n' Q# c' Z
[root@KVM ~]# virsh snapshot-info centos74 --spanshotname 1516607756
: H& {! w- L2 v% G" x0 w, i6 |7 L0 U0 R# ~* m/ K* ]

. m  @5 H& N) N. B% q  i3 m5 Q' `9 @2 K' C
6.4还原快照, g& m# W4 {9 |: D/ C9 |2 Y7 [

( d# \/ v6 _5 P. |. G[root@KVM ~]# virsh snapshot-revert centos74 --spanshotname 15166077569 y: m1 T+ G# S
4 j" ^9 Z$ F5 ^1 L, ~  j$ u. {
5 x( k! @0 t" K8 u7 a! t0 }2 R% a

% E+ X; r6 @) _4 ^6.5删除快照2 {7 T3 r8 d/ B! G  S4 H

1 G* N) T2 [' F2 o& i[root@KVM ~]# virsh snapshot-delete centos74 --spanshotname 1516607756
3 e) [0 W- d& O  L: N3 j* H# b( o1 E# B# P0 k/ s. C

- R& `* Z  P+ s: S/ ^1 s4 r! r! [! k
7.KVM虚拟机克隆; `# F/ S6 R; C& [1 `

2 Y1 }% J+ \* E: c1 }1 a[root@KVM ~]# virsh-clone --auto-clone -o centos74
$ r1 J2 U) o5 d9 b. F. S; g' P8 e; Y7 u

( T( f7 ^* [' I1 ?
  c- U7 H+ {$ A* k8.KVM虚拟机冷迁移6 z2 u% }( n% Y$ ~3 q; l% a% g
! t+ V9 i' B# T7 M( D! w% z7 m: j

+ a; B  B' n1 v& Z6 g
, t0 B' X) m8 d+ z: R: f1 ^3 v6 r8.1在KVM02中安装kvm组件0 ~1 [, D9 e! W
# O# _0 Y& h1 T- C) W# Y& v
[root@KVM02 ~]# yum install -y libvirt* virt-* qemu-kvm*
$ {9 d9 E$ M+ n! e- J4 c
# [; p' g( n$ G" F3 i4 W8 l8 ]3 V$ S0 R7 a3 I% {/ j: F% k

, A, \+ P$ |9 m/ [8.2配置桥接网络
1 [0 A& ^4 s; s- m5 p: W& P$ S5 F3 T: t7 \5 W, h6 d
[root@KVM 02~]# virsh iface-bridge eth0 br0! ^; D0 Z' v/ a; h' _( ~/ u0 d
6 y# d9 E  G) I' N
$ V+ r' G# l' s" }: D, i
# g6 F7 d% Y/ T' p* {" ~+ n, U
8.3KVM主机将虚拟机关闭,导出配置文件/ W( y. U- a, N$ F
3 w  N1 P: z8 Z7 ~' X& H2 ]
[root@KVM ~]# virsh shutdown centos74
9 @# W5 h6 C" I9 R& `, N' n
. S" W8 d* d: V1 Z; D6 k) h[root@KVM ~]# virsh dumpxml centos74 > centos74.xml
* h" a% F/ X% D8 `4 T8 F1 t# I. C) O, i% W3 a- m

0 n) J7 T9 x) s! V* U) g& D6 x+ ]% {, c3 M# G: m1 U! i. b; S& }
8.4将虚拟文件传输到KVM02上! Q2 u- q. M( B  m) M  {# \
: I" i6 K! j; f5 E! P- `
[root@KVM ~]# scp -rp centos74.xml 10.0.0.102:/data
9 D& B5 |" e: V5 |' B0 C0 W1 b8 h9 r! M5 h2 y+ M6 L3 G6 y: G

1 N9 E. b2 D4 H) w' z: Z9 _0 c  ]. j+ ^, E
8.5KVM02主机导入文件) Q# D# q# P/ V% N( c1 r* K
, O, a# |1 k3 w% l  d
[root@KVM02 ~]# virsh define centos74.xml  d# V" K7 H- R: V" H% v6 a1 g: j

5 c9 y; a0 }$ P+ }& C) C& w" I) H( @' [$ T

, W+ j! G2 ^+ r- P8.6启动虚拟机+ ]. i: N  p; t: c7 b% {# C* x
9 @+ e9 [4 @; {: \
[root@KVM02 ~]# virsh start centos74- B- H  |3 v) z1 D

( D$ Y% A+ @8 J: _* I9 u. \: }' n+ l: @' N+ r* F1 J

! N( ~* e/ P' R3 a: V- q: V/ b9.KVM虚拟机热迁移
( h* o) D+ c, k1 ^2 l% D
- R1 C2 N' I& o5 t* _+ A2 C3 b4 q( C- a: H  v
4 Z8 G/ L6 X$ v; Y) J9 f6 y# p
9.1KVM虚拟机热迁移的核心
( C1 O" C) f( [: ~9 _1 {, [
- b' K- j! x% N- O5 k( p- j* H   共享存储。这里使用NFS共享存储(详情参考:https://blog.51cto.com/13520761/2087720
/ _$ D! D% K* g! {- P6 E6 Y+ y5 o, S4 ]8 B5 o+ B% l
1 O* m  V* _/ U$ a$ I! t% r
+ w' j- [0 |& d6 s7 ]* M9 |, P, Z
9.1安装virt-manager所需桌面及vnc-server
; f0 h7 {! l" _$ ?; }* J) b$ _& _: v4 g4 d3 _  u' F( D
[root@KVM ~]# yum groupinstall "GNOME Desktop" -y4 I, E1 K. P: r( G2 B. x' s7 e

+ M9 }- _1 m5 a/ h; I[root@KVM ~]# yum install -y tigervnc-server
4 Z; V' i3 A$ L  Z4 {6 j3 N8 f$ ^8 q' Y0 W* h) i! M/ A: H% v, ?
[root@KVM ~]#  yum install -y opnssh-askpass0 L. n/ F3 \5 X  o; W  j
' W1 @& |3 `9 S! P  J! E' T7 n' d1 K

) j& N- B& z2 F4 C. T% o/ E* t- W' K/ ^- r
9.2复制vnc配置文件& }' \3 a' i# L; p( r  v" Z9 ^

- u5 W* D, L3 h0 s, K6 h[root@KVM ~]# cp /usr/lib/systemd/system/vncserver@.server  /usr/lib/systemd/system/vncserver@\:1.server4 D0 N, |' j/ {

( A, P. S8 g1 M* b( C+ F, T8 n7 k" a- E
8 E) m* w. L5 L8 Q. `4 E& d$ d$ n
9.3修改配置文件2 K5 m) P6 W: S2 N5 k3 M  V- ]

. C. O3 Y! V& O( m[root@KVM ~]# 1 y' p4 W' w% V% D5 i

0 |9 o4 e5 U. c4 P. iegrep -v "^#|^$" /usr/lib/systemd/system/vncserver@\:1.service+ M3 }9 s3 a: ~& \' D3 s

5 Q$ w" e' w1 f2 s[Unit]: @0 Y9 b9 _4 R5 |# G

" a6 h: v8 d# c0 t6 @8 W# @2 cDescription=Remote desktop service (VNC). C. z/ R2 ]1 @  H2 q6 w! Z, a# o

9 m" H/ C( S9 K* N3 aAfter=syslog.target network.target
- |" b: H3 |6 a# [* N/ _5 [; ?# v7 T3 U  M) W) f7 p/ p
[Service]' l* X; {# Z* d
, R" N4 `& ?3 H3 `9 s* s; G. f3 a
Type=forking
$ {3 }- Z' l) E1 e% ?
2 v/ H0 Q1 V8 z# XUser=root$ W' `% y# }8 s' g8 a
  R& Q2 v+ u+ o( X; \. p
ExecStartPre=-/usr/bin/vncserver -kill %i7 i3 f8 m& `8 \% r7 ~4 g" Z1 w
5 ^# h" C4 Y% D6 w
ExecStart=/usr/bin/vncserver %i: H( k; }. d( b2 r) i
, t9 P, s  r; d* X# r) @
PIDFile=/root/.vnc/%H%i.pid
6 ~; G) R+ V- y& J5 \5 g/ Z- r
; Y. b7 ^# F5 ]" Z9 W$ ^) x+ nExecStop=-/usr/bin/vncserver -kill %i# w" `5 [# b: T

, @4 z4 a6 T+ m0 ^) {1 Y[Install]8 {( `! l/ d: G

4 _* I9 ?+ g% ]" ~: T; IWantedBy=multi-user.target
) f1 R7 [" Q; h/ F5 w( b! A  \8 w/ J) a# l2 H; h2 h! M

! u7 P; _- Z1 [: n( A' Y2 l1 l7 ~1 l1 [- V
9.4设置vnc连接时的密码
5 v6 G- F9 b- t' n& P  A: D
% @; S6 ?/ d! g& N0 K[root@KVM ~]# vncpasswd& F" s$ ?7 |: g# p1 y1 B, y; T9 g

3 L" q6 _6 V2 r& z: a" x% S
# I2 T3 y6 y/ W1 E/ J5 S
% O, M, i( w) O4 q9.5启动vnc服务
3 l! `- A6 P. y2 ]8 t- V& K, N
- G7 c1 q5 B  G  `7 F[root@KVM ~]# systemctl start vncserver@\:1.services
# T/ C5 c( G- R+ S) E# E) \# V# ~2 f, T- T3 [1 `

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2019-11-19 14:28:17 | 显示全部楼层
4.KVM的相关命令- E/ R3 c' B' ?

. r6 y2 Q& N) s$ y( f
( {* ^4 u7 e: p& P- R- [4 Y) I% Y! v9 s$ u2 P
4.1退出虚拟机# `, z$ Y2 B' F+ |2 }2 m

' ?, Y' F0 }' S, v) hctrl + ]( s9 O% ?/ w8 L7 [+ e0 D% X8 C2 v

2 K" G: j  c, _+ ]; `, ~ 2 z( P9 ^$ Y' W
- n( G2 u# {: C% n. S
4.2进入虚拟机) X% u( v. T2 ~+ ?" \1 C  ?  Z
! `* V  K* y, t7 y( d
virsh console centos741 @) M$ ?# o7 {2 M; I' Y

# b$ W7 q: S9 ?& _8 M
, n( C+ e1 n3 @$ Z  F" Z) _2 [8 w" M( F4 f; d2 ^( K
4.3查看虚拟机的及状态5 _, N5 p; v2 u5 U; @( F
( f& N) N( I/ L/ b  y0 ?( P3 s" r
virsh list
4 g6 ]9 Q$ Z; O' K/ L4 S& o2 k" X
0 J  I/ \2 J2 u4 Pvirsh list --all
5 B; Q- N3 c9 |
+ p/ B/ ~8 x% @8 V! A' z' B1 K
' n, h6 S5 s* q8 W6 T/ v9 y0 x. U: Q9 M
4.4启动虚拟机0 d  ]+ n; r3 e
1 c" p9 v4 k' h& q. w! m0 S2 e5 J
virsh start centos74. F# D, h3 Z: R, s9 @2 m" Z
: z  u  O9 W) m5 j

7 h9 }( h  }. [  [. n
8 B( w: a$ N2 [- \9 r4.5关闭虚拟机, z3 v' G* ?# h
- U* e% \% l% Q" x4 k2 i
virsh shutdown centos74
: a1 X/ f5 q0 @! W" B3 |$ E
; X* W1 U6 l$ O' A
9 s5 O- e0 @) ]3 ]6 J
7 P7 o/ x, ^% _2 b7 }& b( B/ Y2 u. p4.6强制关闭虚拟机9 S- ~3 U. E0 H9 M
; Q, a1 u5 j. ]" [7 n: t) V+ D
virsh destroy centos74
8 c: S0 w8 P" O0 k& i1 \! k  h. c' Z5 x7 p* i2 q) U

6 Z& Y! e* k/ A7 {! U; q1 c6 R1 h. [' C2 ]5 \
4.7删除虚拟机' m* ]( A  B2 }$ l! L3 h/ b5 W

' T+ z0 ^. x  _8 W0 lvirsh shutdown centos74# _2 |6 k2 N2 ^$ o' e3 E( U/ I# [& q
8 E0 L; I& c! k6 b. R2 {
virsh undefine centos74
7 m! P7 P2 l& `# C
0 T+ E1 l  F4 E8 P  l( u& S: d
% I# G: q. |- W6 ^
) X7 O" S0 Y* x; y/ G- a; d7 I5.磁盘管理* m4 Y, G2 m) w$ U( G  k

! l. L- l. q, \/ B5 ?
- w+ R& u$ S) T0 x% _  r; C; Q- a9 e2 v2 _' ^6 |2 n3 q
5.1查看当前虚拟机硬盘信息
- E2 [0 u2 n. A0 J1 Q9 p- y1 a
0 R$ n/ b9 k; g. ^3 B6 Y7 M% I[root@KVM ~]# qemu-img info /var/linux/images/centos74.img
- J' S3 }" T% L" L2 [5 f. H( z. x5 ^2 W9 g
image: /var/linux/images/centos74.img
" n% f: j+ }- C! a
6 h5 J  I! K9 pfile format: qcow2
7 H( J- @- m& G2 Y7 |
. Q/ @# y; A+ \, V5 K8 Pvirtual size: 20G (21474836480 bytes)6 N- [8 B+ P6 q; O/ X! r

- Q$ C' c# P9 adisk size: 1.2G' Q8 K1 F# o0 t# {
7 u0 Y) a1 O; {6 s
cluster_size: 655366 j2 c" M+ U, K5 N* Q7 D1 T

5 h  Z( M9 F+ N: g# I) m7 {- c# O& iFormat specific information:. f- j' ^& Q. e0 M

0 p1 ^& G4 A2 ]# A    compat: 1.14 u2 h* m! m; B' b) [
; X4 E7 O9 i, D% `8 ?
    lazy refcounts: false
5 }/ G8 e0 a* R1 o) a5 H& P$ `6 i% ?6 B" q8 b  F9 j8 S: }
    refcount bits: 16
. u4 p; c5 j) B2 ~4 M4 H% D0 N
    corrupt: false# A1 Z" \$ N6 o( R
$ U. c3 ?% J+ E8 a6 i* ^* T
5 q# t  K" v) L6 u4 t
% C  X& y0 i& B" j+ m6 m. T, j6 U4 g
5.2转换磁盘格式(qcow2转换为raw); Z" N1 z5 W  o  h" C- x+ g* _

4 k1 @+ P2 Z% s) v: v4 k8 w* M[root@KVM ~]# qemu-img convert -f qcow2 -O raw /var/linux/images/centos74.img /var/linux/images/centos74.img ; C5 I: V% c3 ]3 _7 Q4 n4 G) L

) W/ w8 M3 d8 |% V7 K6 G# h. F: x: w

; c# h' v3 a" }5.3KVM虚拟机添加硬盘9 k$ X: p9 |& J) V4 ?# V, j
" Z$ A3 ?' U/ G9 g8 O' j1 A! P/ o

: `: X3 g1 n. X4 G' D7 }" h
1 W" p; p( |1 ?5.3.1创建一块新的硬盘
. ]9 H5 |9 P7 [5 z( {0 |* A9 A) H7 y2 Y! p% S( B0 O5 `5 K6 r
[root@KVM ~]# qemu-img create -f qcow2 /var/linux/images/centos74-add.qcow2 2G2 }: V3 f% i+ Z  Y
( U5 U6 @% h- ?/ O9 a, O

  M& T/ ^5 f/ u6 W0 r  G% w3 Z% a6 m, ]8 K/ Q# s/ K$ T/ C
5.3.2查看创建的硬盘信息8 A* |6 V5 }5 u# n
2 }/ s5 o8 w2 J0 t( J% }! \
[root@KVM ~]# qemu-img info /var/linux/images/centos74-add.qcow2
$ W6 F2 ?! P3 ]: G2 l
+ [) y" @( e# F+ Y8 fimage: /var/linux/images/centos74-add.qcow2# n% D* C/ ?* E9 R, I( I

: E: F1 m4 B6 m* `file format: qcow2
" b; m3 O. m" E: N* l8 z; P: f, ~# L7 ^
virtual size: 2.0G (2147483648 bytes)
  s4 ~8 J8 s' t- p" |: E8 c9 W8 B1 C' ~9 f$ c' k6 v* B: e
disk size: 196K
) C+ X, }# _9 ]6 G6 ~% U0 C$ u* Q$ M* S# W, ?" [+ u
cluster_size: 65536
4 E* S  e7 M) |6 a# X
0 R* ]2 I% A0 Z) ?Format specific information:6 ~' u- v& f6 O9 D8 f

- P: C: O7 P1 ?, _" M7 P+ K    compat: 1.1# T0 a+ }0 k/ C
4 U2 p- R5 T$ e
    lazy refcounts: false: F# `' j; x6 @2 ~
# u' [7 N; q& g; [
    refcount bits: 16
7 O: e  K& R, O* R( k3 E* b* g& z
" @, I  x  j1 |" W6 m8 e. C    corrupt: false3 p: D3 U, A) l9 K; T5 O. x, Z1 _5 i

' I$ W2 ~2 x/ H9 W& A- h* W& m5 r9 B9 o) C7 f2 l) G

7 a6 A1 H  E" D' N5.3.3为虚拟机添加硬盘
* ~8 W3 q" A  E5 p4 b1 c$ [
: a) u4 h9 C9 r5 W/ Y6 Y% b[root@KVM ~]# virsh attach-disk centos74 /var/linux/images/centos74-add.qcow2 vdb --live --cache=none --subdriver=qcow2" m: i+ N+ _' c$ q3 F1 U: ^
7 c" m& a' d: ?) S3 t7 P
Disk attached successfully
: k! @( i( D" j1 p# Q
+ M) t/ Q8 f3 n! {$ {& p  ( c5 a: I# [) E  h( Q! h

  [/ G$ U8 e. A说明:vdb    第二块硬盘
4 v$ Q! z6 ?& C- p- Q
' \: W$ h; I& |9 @3 E          --live    热添加1 o6 R3 \( D& f& I/ k
0 X% i3 J+ t4 _) y' ~( s( }& }
          --sudbriver    驱动类型4 ?( B) ?* D9 R/ a
5 o( G$ v- g: s$ I- c' s
          detach-disk    分离磁盘设备4 _$ C& O. O. w% _
/ Y, h# O7 ]) z" T+ K. A
          attach-disk     附加磁盘设备+ p, n; h# I' Z+ w; z! X
1 P2 q9 U; H/ {) z7 m; c- X0 y

2 i* p8 T9 u, H6 C2 C" L4 B
" ]$ X  V, q7 H$ c5.4格式化磁盘(在KVM虚拟机中操作)* D+ X$ J7 N. _' `6 M
  @8 ?$ W  P/ D" e9 n$ i
[root@centos74 ~]# mkfs.xfs /dev/vdb. o/ J# n& B4 B2 g6 a; Z* x, A: T. j

! _8 H' L( V7 A5 m) g$ e& \1 Y

+ x. j$ P5 |. |. u/ Z6.快照管理+ K! S3 }" T& C8 r: [
; B/ [% f4 c7 ]: E4 ]

5 A* I+ ~: [0 g0 Y3 y( u/ t1 M
. i1 K2 V+ u$ r6.1创建快照5 G0 V( h1 k/ Z; q

1 d6 m! @/ I2 ]- e; ]8 s[root@KVM ~]# virsh snapshot-create cnetos74' a. X! K/ I; V9 L4 u5 r: a% @

5 P/ E6 L. d  A
, @! X; y; i0 }& c, ~! q& R+ {! n0 P7 e( K+ L6 \
6.2查看主机快照列表
+ R5 {9 Q7 `/ \- Y0 _  o9 c) F* @) A
[root@KVM ~]#  virsh snapshot-list centos74/ ?+ i, g3 P+ w* a) N4 U) h/ Y" i4 F

6 L3 \/ g1 r7 |$ j% e8 a% T' h! K0 a. g  R, D% H8 r; F

' R6 J- K$ M8 m0 @' u6.3查看快照信息- c7 t# s# v; U; E

2 m- ^3 v3 H5 h& O4 q0 {[root@KVM ~]# virsh snapshot-info centos74 --spanshotname 1516607756/ m7 U! S# U6 L% U  L& t; I; n* A

/ w+ G7 Q  g4 p/ k  k6 ~+ M6 }) f% x! r

3 g8 a, N0 \; e* e6.4还原快照/ d$ X- r' W! k. O5 S( Z

6 q) v- ?' }* k0 V[root@KVM ~]# virsh snapshot-revert centos74 --spanshotname 15166077566 _/ G/ \/ z( T% Z' i

, Z) O, y; \3 o$ F! ]$ `2 W9 |! U

1 q4 E1 p* V/ e' e/ i9 {. D3 f: R6.5删除快照
9 V2 P- w" F+ ^6 R" Z- Z
! G. T9 E3 m8 U& `$ w[root@KVM ~]# virsh snapshot-delete centos74 --spanshotname 1516607756+ R0 s1 P  V: ?( ~( W

% [' V$ B0 B1 o$ ~; ?
% J0 j4 o+ m# D- f' [. R! @/ {3 n/ A+ a& V. a$ @
7.KVM虚拟机克隆2 }5 P- B2 j, A

  q! e# \0 ]. U3 H[root@KVM ~]# virsh-clone --auto-clone -o centos74" i& k8 Y# d; r# y& h/ p2 T3 N
- a( z' Y! n$ Q( G9 n! y
: M. P9 R+ n3 s. A. b9 l- y' a
/ S" z9 f3 l# Y: {" f$ u# h6 H1 d
8.KVM虚拟机冷迁移
" T+ a2 Q( \7 L3 E* w5 G7 \0 i  P+ Y# [- D1 R
& Y  K* Z0 }% I1 x7 W& K

0 Q6 w- F& H# D& T8.1在KVM02中安装kvm组件! `1 d% ~2 y& p

) ]& U7 {& Y7 ^[root@KVM02 ~]# yum install -y libvirt* virt-* qemu-kvm*' U0 S' G& k' ~' c8 ^, L
4 K0 Y; w% z) o. ^

1 z; |; c: Q. Q% y
% |4 d3 G; `9 `1 L( l8.2配置桥接网络3 X  f6 V0 n3 v4 b. F9 i

4 j; f" k# {* J$ v8 x/ [[root@KVM 02~]# virsh iface-bridge eth0 br0" F: a* d% A2 @5 j6 S

3 O; q% T  I: B7 m6 e, m& C/ i7 G+ ^. S* i$ X; d, o2 u  d6 x8 z
) F, }( i  x5 V3 h' b
8.3KVM主机将虚拟机关闭,导出配置文件2 y( \8 w* Q. r0 K

6 F. |) Y) n) t" W6 m- Z  i4 Z/ P8 j[root@KVM ~]# virsh shutdown centos74
) Y( [& q5 L9 |1 y% O" G+ e+ K3 \* f6 e' V* U( w) f
[root@KVM ~]# virsh dumpxml centos74 > centos74.xml5 b  J( ?% u$ o9 \: ^4 o' |
" b. ~4 g- h# i7 \( f& l" w" t

# o: g" S6 I, \* _( Q4 O9 ?9 Y" z# A; K2 S
8.4将虚拟文件传输到KVM02上& Q$ ~5 p1 s* D8 `! }

  G  p0 F3 T; K% c5 P: C[root@KVM ~]# scp -rp centos74.xml 10.0.0.102:/data
, i& p4 u7 Z% J5 T( r: D
8 ~! F% a) U5 O3 z
# I0 z$ Q1 @6 w3 H! p, @8 Z; [  q, Z  o1 t
8.5KVM02主机导入文件
# \- d8 G$ X7 v$ K" y
2 s, x+ S; A. b6 T- P0 I[root@KVM02 ~]# virsh define centos74.xml! v  b" i/ i' ^7 M  e

# R9 E3 t2 x$ G6 P
9 [" ^$ P7 ?4 ?1 J) D0 g8 Z$ }& O' u- s$ y, s3 r
8.6启动虚拟机1 ]$ ]! u# L9 H, p. i

2 T, c: j( I  J# |[root@KVM02 ~]# virsh start centos74& M1 {( e5 ]; F9 I6 @

  m  w! {0 {' o& \  g, N! E3 J: B5 [

6 F2 y3 ]9 e- s, a& ~0 B9.KVM虚拟机热迁移3 [+ u$ r* t' n) x% T* C' d

9 V# K: t% c- l/ l" Q
+ j6 {; s4 M! L6 u: t: w; A4 ^
) s# Q# w1 J& b& @9 h' w9.1KVM虚拟机热迁移的核心' o' B& T7 _6 w8 G  F5 e

6 o8 b6 M" |9 {$ P! F   共享存储。这里使用NFS共享存储(详情参考:https://blog.51cto.com/13520761/2087720$ A# O  h9 |# S' y+ k
0 W& o+ v  B/ A: i& J
+ \, Q8 x! X8 ?0 G2 D
5 R- G( ?  k: d) U6 J4 @1 [
9.1安装virt-manager所需桌面及vnc-server/ A. r2 o* P# m& c3 R

. Q) h: d3 m( t/ k9 h+ j[root@KVM ~]# yum groupinstall "GNOME Desktop" -y
0 }2 D3 d; K& t6 b+ X+ ?
4 b' [: n$ h/ d. `. ][root@KVM ~]# yum install -y tigervnc-server 5 R, ~3 X, ^" k. t* B7 |  `9 E5 B1 `
, s# |3 v6 s, m1 I$ l0 g
[root@KVM ~]#  yum install -y opnssh-askpass
9 C) P: Q. @$ T; L, m" M4 p6 y  d2 Y3 d: s7 |* s6 n
% A1 F+ E: G5 J' \8 H* r
) }" W5 c* |% J. y( n
9.2复制vnc配置文件
: ], `: O7 `& o$ ?8 D: P) ^1 H+ G9 G8 F# Z4 X) W9 P8 }% Y3 H
[root@KVM ~]# cp /usr/lib/systemd/system/vncserver@.server  /usr/lib/systemd/system/vncserver@\:1.server' j0 L: {2 |1 z7 h6 y- j

! }8 i# ]7 {5 B$ U) H9 N/ E! Q/ j* ^/ ^2 n, R9 `$ m9 p
! _" y% }$ s2 Z" ?' B: n! e0 Q, J% Q
9.3修改配置文件! S: [6 F6 m6 @1 {6 ]+ N+ c
& `. e# D3 R. U0 k' C' s: i: B- s: _% Z
[root@KVM ~]# ) X3 S3 E7 k7 D& ?9 S; r4 l

& @" M; G# E+ _, ^6 Negrep -v "^#|^$" /usr/lib/systemd/system/vncserver@\:1.service: C5 e% E8 y  q
. S$ ~3 P5 @. t( |6 l
[Unit]
9 X3 M) w; K5 F$ s
5 |, O1 s+ P# L% p) U" yDescription=Remote desktop service (VNC)- V+ J; a5 m# \$ x

2 P& I: V0 _" b4 p+ h9 pAfter=syslog.target network.target3 D# h% U$ t, [0 t( D$ ?& i

" w) h- H" E4 c. d8 z/ I[Service]
; {- Y/ z9 X& _9 G
& S* u  v! g$ Y1 ?% N' ^# ~Type=forking
  g# k  F  j; U( s$ @
7 P2 O  |" S' n/ y' t( mUser=root
4 F, W0 t# n3 g8 _3 y& F7 i& E7 R$ f
ExecStartPre=-/usr/bin/vncserver -kill %i" P' q+ e- _& Z/ d6 ~8 H
$ ~7 F8 s% t; H) O6 i$ i( e( s
ExecStart=/usr/bin/vncserver %i
  D3 @1 u) J: \8 {
8 W- ^% F  }+ Z6 G* |PIDFile=/root/.vnc/%H%i.pid
& I9 c7 \7 R6 l/ F  G3 d# @* R! ]9 f( r* o  q9 f6 W7 R
ExecStop=-/usr/bin/vncserver -kill %i. [0 o, [4 N: ]; t: z! d0 b+ `0 \
* _  j% l* d; ^5 O6 o
[Install]& M  j  {9 P7 g& G3 _
( U2 R3 X0 m9 `. R) {* l
WantedBy=multi-user.target
. ?! y( W& f* Y: R. I3 B6 g  S& }% b" F0 b
" j8 e2 G( U* V& c  C8 R+ y

9 e; `6 ^9 I% e! o9.4设置vnc连接时的密码% \& u) `" o3 x$ C/ Z" k/ {& v- U

& E4 V5 K! I+ Z+ J[root@KVM ~]# vncpasswd7 H& @9 N& t: V8 _% W
7 ^' z$ p& [: n4 n1 d- B  i

+ g8 U4 Q  z6 V( z4 j+ u" R; S) B% }! v7 ~5 }: y0 e
9.5启动vnc服务
# p! j4 u0 c9 b7 Z5 _
1 o5 a- e% [2 x0 K' b! ^, R[root@KVM ~]# systemctl start vncserver@\:1.services
, r/ [5 W, C- p' _1 t  v$ I5 b+ E- l: i
您需要登录后才可以回帖 登录 | 注册

本版积分规则

返回首页|Archiver|手机版|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )

GMT+8, 2026-6-12 04:06 , Processed in 0.022236 second(s), 24 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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