找回密码
 注册
查看: 4414|回复: 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 | 显示全部楼层
安装软件包
5 Y4 h$ {+ j/ P+ L0 K/ T# yum install qemu-kvm libvirt virt-install virt-manager
3 Y0 l& h# P7 s* U) A在这条命令中我们安装了qemu-kvm,libvirt,virt-install,virt-manager这四个包,下面了解一下这4个包到底是干啥的。3 P) g! m; e( i/ d# _! c* u
qemu-kvm
) D7 E! v/ U7 K, Z0 o. \% u该软件包主要包含KVM内核模块和适用于KVM的QEMU模拟器。KVM模块负责CPU和内存的调度,QEMU负责虚拟机I/O设备的模拟。
: ^& f3 S9 }+ r* {2 d- k0 k; U依赖包qemu-img4 M0 x* B5 m+ w, P# f/ U
主要用来QEMU磁盘镜像的管理,如新建一块磁盘镜像给虚拟机。) \" C3 {  P& s9 o! I
libvirt
# n- s/ |" L) ?" y* y提供Hypervisor和虚拟机的管理功能。( S* z5 h3 l& R8 }) f: t
依赖包libvirt-client3 H  O3 O  J$ B' [2 \' ^
KVM客户端命令行管理工具virsh,负责虚拟机的启动、停止和管理等。
. t' F7 ~' l* V  H6 c5 i3 E7 R4 w- z" u依赖包libvirt-daemon* ^% r! j3 f$ f% p; J8 p+ w/ W
libvirtd守护进程,作为客户端管理工具跟Hypervisor和虚拟机之间的桥梁。6 V. |5 i6 {6 S6 A( q: ^1 o0 s$ e
依赖包libvirt-daemon-driver-xxx6 ^- D0 c7 X3 K
从名字来看属于libvirtd服务的驱动文件,作为libvirtd服务跟Hypervisor不同对象(如qemu模拟器,网络,存储等)间的接口。
$ |  v% K' |6 O1 i依赖包bridge-utils
1 J  ]2 E; y' _1 E网桥管理工具包,负责桥接网络的创建、配置和管理等工作。! p$ H) p0 g! _. U3 O
virt-install
8 g6 V3 A3 |5 w4 g9 i: @( W2 B创建和克隆虚拟机的命令行工具包。
' p1 c2 v7 A7 ~- t- cvirt-manager
/ @- N# I, X8 g2 R' V图形界面的KVM管理工具。  I! w! z' u# y( b. j. Q* K# `! w( m
当然安装KVM的依赖包远不止这些,由于本人水平有限,所以仅挑了一些跟KVM架构有主要联系的软件包进行描述。, K* d3 C! ~% k% D& [2 k
后续配置激活并启动libvirtd服务
: I" Q( D/ ?1 f* D. J  V, _6 [# systemctl enable libvirtd
/ G; n6 v( ~6 A/ E# systemctl start libvirtd

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2019-11-19 14:27:55 | 显示全部楼层
4.KVM的相关命令
" Y# q) y# B+ J
5 N$ K. w" a8 a) a# c- }& s& P" A& c/ N9 \! v; q7 y2 M9 L
% j, f7 m- s5 K6 q* _
4.1退出虚拟机
# e# Z" f" E+ Q7 P" B9 {( h. g" ?2 a; N- ?
ctrl + ]
. m  c- O; P2 {# V, |8 I1 ^
, Z. U3 X9 Y5 i8 |) A/ z; H6 Y; P 2 w8 G0 e1 k9 W. c- e5 u- E

3 ^1 ~+ R, W' c; u) v) L$ Q: Z4.2进入虚拟机
. Y0 U6 F6 |# v1 P$ j- M- Y1 G" T( K
virsh console centos74
: J) w+ z7 {2 S& g! ]- G1 u+ w+ V
% y6 t4 T! a# k8 T
' u3 o4 `# e4 A3 c' H1 T* _" w- z" E+ t9 E; P4 C5 Z
4.3查看虚拟机的及状态. u4 [" V0 c7 Q; _7 P
/ ^9 H0 e. L9 v0 e0 R
virsh list' x5 v; m% o+ M; {
2 W* A3 X# [- p4 @4 ^
virsh list --all7 k% o9 B" F6 `* L& a# A/ Q

5 Q  t. U9 Y# n* Q. ~. S0 Z( D% L7 y# Y0 G6 A+ p
3 \% N4 U7 X4 u' p2 a; i
4.4启动虚拟机% g3 z3 w3 {% P$ s5 M% T; r& O3 P
* l6 A& W- g: x. f, ]4 \. Z, x
virsh start centos74
4 S9 T# N, t# o# x  D, E" c. M
0 @$ P8 V' i+ c6 I- ~
7 f2 M. a, |/ [9 [3 O' f
, G! Z: t7 G( D' O4.5关闭虚拟机% n' F+ E0 `; C5 N+ @: h1 O1 g
  T7 a% n) O! N! N9 Z3 q$ r+ t
virsh shutdown centos740 P, S* {- w) t/ O4 e& M6 k; [4 o
! X2 h9 x+ j$ ~  [. S' L9 r
+ u7 \- Z* |$ \/ U
2 @% w) j$ t  h3 ?0 k8 O4 G8 i& K
4.6强制关闭虚拟机
% i6 D+ y% r8 i: M6 i1 J8 \; K5 D% z' v9 v4 Z3 n
virsh destroy centos74( R; Y5 E" Z1 L# }* A
# ]" c- c; w+ y% B8 `9 Y0 k( Q, d! I1 k

$ L8 ?5 E4 q0 ~, u2 f* V5 F
  _5 ~2 O, t, o" I4.7删除虚拟机
/ l8 b/ {: G9 u7 q' E& t+ v8 w1 @1 p3 v; k: L; Z" \
virsh shutdown centos74
6 A/ _" i* R; _  S2 Q' o9 x) v' D4 `& h, E; ~) T+ x* N5 R
virsh undefine centos74% X2 m6 ]( J' f. y3 ?- V8 D

; R3 ^6 G. a3 K/ \9 l  K: p. B! W
( v' N( c4 f1 r& |
5.磁盘管理2 ~  W6 X1 n4 m8 N& }# I

9 I! ]" q& V3 A' [8 X
- o4 F3 J' B) m. H: k* T' x2 a
" K& W6 `3 k! ^: |3 f7 ]5.1查看当前虚拟机硬盘信息4 t  t* u# {8 g$ E, }0 `9 m

) X6 V  P6 R$ |9 W& U8 ?& Z[root@KVM ~]# qemu-img info /var/linux/images/centos74.img 5 T0 C0 _, P" ]
) k% `/ d$ x, Y
image: /var/linux/images/centos74.img
6 x- g3 n# u1 X- [+ f5 N
( \5 ~1 C& p& S9 xfile format: qcow2
# A7 P0 f/ Y1 g+ ~
+ k, d/ Q. p6 _( j- ^virtual size: 20G (21474836480 bytes)
! a9 c  }8 N$ t" \# Z7 u  x- h. w2 _$ B3 H- u6 q
disk size: 1.2G1 Y- N& a1 ^& c; `& p9 e% K' x
8 D! u, a- }7 t( {$ C2 Q
cluster_size: 65536, C3 m5 G4 J. U) v

2 Z! H2 O0 H. hFormat specific information:
4 g, _/ p0 h4 H0 ?( k
* v7 @. b  R- N    compat: 1.1
# T9 u( I6 q# Y& \0 {+ j! j  q& e4 z: F% v- T1 V, d
    lazy refcounts: false. c1 q8 G) k. T: n5 S
7 u- \$ i. ~) b+ S
    refcount bits: 16" ]0 C2 j4 i1 y6 F9 Q' Z# V% Q
' Z/ g/ D+ |, M( F8 [" r
    corrupt: false1 B; r2 J0 P3 D0 b+ q
  U: H" g( J! x# G
9 C" b- Q' ^$ v% M  N
6 J5 f1 k) f7 d, I3 u! _6 E
5.2转换磁盘格式(qcow2转换为raw)
: Q- ?  O# ~/ \" ~6 B  i. ?. Y- \/ |$ y8 ]3 n! s0 J8 X
[root@KVM ~]# qemu-img convert -f qcow2 -O raw /var/linux/images/centos74.img /var/linux/images/centos74.img # F0 K! w2 ]$ C( d- Q% ~! D. i1 q% |

, R4 M) H9 ]& n8 r3 V2 L0 y/ g
$ q8 M; Q# y& K- V
: q# z  M8 h. j; i& g1 L5.3KVM虚拟机添加硬盘0 j% X: E- s! M" R8 L0 x; O
- N; @) R7 m! Z7 j$ o1 F  E5 _
. b; t. E- @) {  t
/ q+ P; c& ]% Z) @; z( J
5.3.1创建一块新的硬盘
: e+ _: p6 S- M0 ^5 W( ]: h7 R2 D9 k
; F% m* S- w* Z[root@KVM ~]# qemu-img create -f qcow2 /var/linux/images/centos74-add.qcow2 2G1 g  n+ D) q3 o8 m& [2 k$ a0 Q( ]7 Y/ u
& r% B: z, X; d. E5 X2 ~
- }, ?2 D5 Q; N6 @: ]$ w
2 W9 q6 `3 C7 r
5.3.2查看创建的硬盘信息" u+ m4 Y3 \: Y9 N, i5 m
6 d# X" u3 ]$ f! p# |" a. Z
[root@KVM ~]# qemu-img info /var/linux/images/centos74-add.qcow2 - ?0 p5 {$ ?3 F9 W6 M: k
) t3 V! P! ?6 ~7 f0 P, o3 ?
image: /var/linux/images/centos74-add.qcow2$ g1 l& u" M  I4 b4 M8 q
, `" p$ W0 p2 f9 |+ m
file format: qcow28 B7 y1 O1 M5 U* ^9 q- |

; V8 ~* s7 Y& N) w/ t$ k3 i: Rvirtual size: 2.0G (2147483648 bytes)/ k: i9 k1 @, P& O9 C! h6 D

% D5 ?* ]( Z; J' V1 j. h/ mdisk size: 196K
2 X7 C' ~/ c# E9 k5 Z: T6 m$ W7 f/ h+ q  J2 {% a  l
cluster_size: 655360 b6 u3 w3 d; E0 ?4 y* l
$ [8 y; I) _( z
Format specific information:$ M8 e' R. V! q. |
) B8 U* J; ]  i; q1 ^* {  M
    compat: 1.1" n/ o( Y2 Z  e- P
$ j0 G" v8 e% S( \7 {- J2 Z- S
    lazy refcounts: false
+ D9 ]0 O! L. x, b+ E# b& i( i
8 a- Z( D5 B4 B0 F* ~    refcount bits: 16, n* s/ P* ]& N

! |( E7 h. j, z5 t0 `    corrupt: false3 I3 S) |% y# K# w& f$ F% c  ]' j* ~
! z8 p( I; M. J% h0 z) Q9 b. H

7 `0 E7 D* A& y! j* C$ k% n1 y; `, W9 t. M* {
5.3.3为虚拟机添加硬盘2 P2 p% L: I& B; K  x
- |1 x4 B) L1 |" u# q" V
[root@KVM ~]# virsh attach-disk centos74 /var/linux/images/centos74-add.qcow2 vdb --live --cache=none --subdriver=qcow2
  t2 f( ]! \# O8 v+ J, X0 B: q5 }3 A/ L$ B( G2 f) j
Disk attached successfully5 M! _2 U/ X9 g
3 O5 A7 j3 w1 L' w. f$ F
  . s6 C3 r! }7 G1 G4 q  V5 c

" M1 g) o# e" j: g& O说明:vdb    第二块硬盘0 ~# `) M" k3 p  @

/ f9 H, k% e" n$ a' k& p/ N          --live    热添加" s! Y  B: ^, V2 D% S% u( R2 Y
5 I" G" \. r! m
          --sudbriver    驱动类型# Y3 F% a. K% @7 B: `
) I. L# y! b- }( ~; F
          detach-disk    分离磁盘设备
+ e3 e/ `& p6 ?7 w4 O  r" ]& c2 e
1 {+ t8 [$ {7 D5 I          attach-disk     附加磁盘设备# h: l5 S& c* V2 N

6 J$ K+ q" b* k* C; P
0 }$ U3 s" _5 T* P) \) l. e8 B# X( e
5.4格式化磁盘(在KVM虚拟机中操作)
' J: }% e3 N/ U6 B  L' v3 r$ B% z  E4 V' q7 k/ V! ?
[root@centos74 ~]# mkfs.xfs /dev/vdb" D/ ]( N# f; P1 R3 V$ e
# T1 `& \3 b5 k8 X

) n5 c+ u$ o9 a- W1 G# W+ ?, Q$ T& k, S' ~7 L
6.快照管理
9 \6 n1 J  a- K0 W+ P5 O& E% r8 M& f8 x( E& p. M# X6 q  p

5 O) f, X* s1 C2 n; H) S$ f1 b( ?% a1 t
6.1创建快照
* {/ V5 w# `! F+ s. Q8 ~/ c, t* R. h3 a3 x
[root@KVM ~]# virsh snapshot-create cnetos74. E; n; U2 A" P) u6 G

! M6 I6 t" ~+ X5 ?$ g2 ?6 ^; \" X9 C- o1 D. ?8 j6 n6 D6 ]) |; m

* i- g. e  G9 M  u1 R6 y6.2查看主机快照列表4 M  o) M3 Y; i6 V9 `
9 X& h8 M" u. \3 R
[root@KVM ~]#  virsh snapshot-list centos749 }' a% P- D  ]& a  H6 i8 @
- ]% ]2 t, T& S/ R

% n- o/ d% z" l0 U; |+ a
1 J: X: w4 q8 H1 C- Y6.3查看快照信息
- f( k9 i+ m. s: N1 m# `9 \' p0 @( _. B- p
[root@KVM ~]# virsh snapshot-info centos74 --spanshotname 1516607756* B8 H" d7 M) l" b0 U, n
" c9 M* B7 o$ J
- G, I9 E, t( b% G, m. g

& B: Y* c) l+ L  A% ]6.4还原快照
1 J# N" F  i! u- Z5 k3 c% z/ J
3 |- S# z$ X! w- r8 @+ K[root@KVM ~]# virsh snapshot-revert centos74 --spanshotname 1516607756
) j/ e' ?8 n$ m  E" u8 H5 ?0 z" k: R4 A
! f- m0 v  ?- a
# I/ T4 v$ \. x) w. R3 p
6.5删除快照
2 u& K, W+ t4 ~" W1 _9 Q4 m/ B  K
[root@KVM ~]# virsh snapshot-delete centos74 --spanshotname 15166077560 P0 d: M$ @% G; z2 e+ `, X

+ _# ?/ M, X: g' W( E) a! p$ e  B( \8 ~3 z1 I
' U7 J7 x- |' D: k% [5 Q( K3 W
7.KVM虚拟机克隆8 O( B0 r7 m% i
0 C5 Y+ a9 E. a4 m1 y4 }
[root@KVM ~]# virsh-clone --auto-clone -o centos74$ d; f7 s1 x' i% R

9 ]' O7 p/ }/ h% z% T7 a7 D% P" p8 d4 I/ q2 O! a2 K" {8 P. n
5 y5 [5 m7 N0 i1 ?0 w* s
8.KVM虚拟机冷迁移# U# P# p1 u: W5 U& i3 X; v
! Z. H+ W2 \4 Z& W& w, N
! Y+ e! E7 C& W( I/ k& \. ~' Q' R
7 M8 V8 C8 J0 b* g, c% x! N
8.1在KVM02中安装kvm组件' ]7 M3 q; N, A* F  {/ }
6 V- K* ]0 C8 a! p
[root@KVM02 ~]# yum install -y libvirt* virt-* qemu-kvm*
+ r+ e: ]1 L# y4 P
! S" e7 e5 b2 K3 u& n/ Z3 M5 o
  |3 t% b: ^5 n6 |% S+ v8 v6 ~
5 ?1 o8 h: }# C- Z5 n8.2配置桥接网络
4 x) T8 [! ^3 Y/ `/ V8 p6 c/ m. c2 y& w3 \( c& r
[root@KVM 02~]# virsh iface-bridge eth0 br0
8 {  h  X$ z. k# c5 F5 |% A" u# e0 a) {9 b& d9 S# r
7 d$ O$ P/ g( O8 k% r  F
, z9 Y  M8 {- R4 P% F+ E5 M/ k
8.3KVM主机将虚拟机关闭,导出配置文件
# ~, N: t/ {: ^
8 z' u5 e& E& {2 l# w! V2 r# s[root@KVM ~]# virsh shutdown centos74; D6 n! ?* V3 D4 G6 t

7 E$ _% n: A' V/ F+ b( R[root@KVM ~]# virsh dumpxml centos74 > centos74.xml$ x" u0 Z8 X" `, z* |2 c

) m; x8 ^" P0 L  c7 B: u+ I" s
% G! F% U, v' Q% m3 L6 O, ^- ~6 g
" f7 n8 ?$ F' d2 Q  Y8.4将虚拟文件传输到KVM02上. y  j, r! y6 F5 @
* ^8 D1 a+ `  O) l- ^; ]
[root@KVM ~]# scp -rp centos74.xml 10.0.0.102:/data
: b/ `# n$ P$ k6 t7 [$ m  v& k( @: k! m  S' N2 K
# {* D& @$ z# |6 k: X( q
) Y7 T' H+ @; i+ m) o
8.5KVM02主机导入文件
/ e; i/ d% Y$ P! F" @
& ]0 c  u7 _0 l( g1 T[root@KVM02 ~]# virsh define centos74.xml
; k' U) G3 a9 W( x4 S! w: B6 V8 B' U0 \" w4 y; Q
6 e" Y: B5 T7 @6 D3 w

4 A9 b8 K7 j$ O9 ?# i" j7 R8.6启动虚拟机
9 `; _) m5 {, }& g5 x2 j( S+ Y. d% B0 y
[root@KVM02 ~]# virsh start centos741 [: ]' j! \2 B& z/ `( N: @

9 x" X/ j+ d& b4 ?6 M: s
( l; {% Z/ g* E% h& O, G( C1 w
0 |: O# q, B3 @6 j+ d: Z6 O9.KVM虚拟机热迁移( S0 s6 p2 g, I* `+ ~$ I* z
! H" u) [, }" n% e9 ~

$ v0 d! z& H+ W$ L7 {8 w$ g8 x% N8 e& n$ k
9.1KVM虚拟机热迁移的核心
. P) b, h; x( e
/ K9 k  A/ I* W   共享存储。这里使用NFS共享存储(详情参考:https://blog.51cto.com/13520761/2087720
( P1 Y' I. L" g% j
: \1 L5 _5 R  ~( s1 i
/ I* D6 e: Z* `# t8 H! K
: {( G5 J2 X. L: |. I; D2 b  m' \9.1安装virt-manager所需桌面及vnc-server. ]: X& W5 Z2 q1 V( d0 y

# K" Z% Y2 s2 J# U* K$ i[root@KVM ~]# yum groupinstall "GNOME Desktop" -y
. s8 d/ W" P! K8 r. z- A$ Y- A& v3 U& T) P( S) p
[root@KVM ~]# yum install -y tigervnc-server 8 z4 Z* k, }8 G- k! |6 K
9 ^3 c2 S* A1 u5 s/ `# J; ~
[root@KVM ~]#  yum install -y opnssh-askpass( ?& C: [* J. `" Y6 r

, B! G2 G; s4 a. i
6 n' s2 B( Q4 w0 p/ E' X' f5 ^% k5 C# v- H# E
9.2复制vnc配置文件
, }+ S) ~+ z. t8 N6 Q3 D; j/ e7 G/ {6 q! {
[root@KVM ~]# cp /usr/lib/systemd/system/vncserver@.server  /usr/lib/systemd/system/vncserver@\:1.server0 O( W# U5 N7 g
" l& J* ^/ e7 w8 _. ]7 a( H. t% _" r
! W$ u8 {: J. T1 ?8 h; a7 Y9 m+ S# f
, _4 v1 w$ S- j7 I. X: F7 o
9.3修改配置文件$ l6 x3 P, x( v3 U" E. H8 F, q
9 V4 K3 q  I: y" [
[root@KVM ~]#
2 j4 F) ^2 V8 ]6 e$ I$ N  h) `4 D% \$ w! [: y
egrep -v "^#|^$" /usr/lib/systemd/system/vncserver@\:1.service
; }5 K: G0 V) c( @. K2 k
' d& `, o/ z7 }) A9 g[Unit]! B1 {, F& z/ w/ |6 Z8 r# r, V8 V
- l8 C' {# H: r* v7 O
Description=Remote desktop service (VNC)2 B$ J' F6 S) }/ C6 h2 |
# R' Q$ P2 o% f( U$ Y& U
After=syslog.target network.target
, p% X) G; S7 w. {9 N8 s! I% D- K+ ^( X4 |( b  m, x* x; C0 a/ a
[Service]7 t( w" M1 P% o7 M
8 M/ {4 K6 n7 v7 k% D  Z, f
Type=forking: \' I- {# G* @- ^! |( |! Z. U& t
" d6 u/ [+ g( X. \" @% _
User=root
7 U4 \8 D; t( @+ L, r
* O* f. g8 G8 V5 B8 i  K2 oExecStartPre=-/usr/bin/vncserver -kill %i" \" K( p/ R; J8 ?$ U
6 H3 {# [* X$ p( x; F
ExecStart=/usr/bin/vncserver %i
% o4 f* F' {1 L# a" h8 z/ U4 @' k" ~
PIDFile=/root/.vnc/%H%i.pid
8 F3 @. D( j8 ?# L* q- b
2 h; b$ A) t; F$ ]& K4 H2 DExecStop=-/usr/bin/vncserver -kill %i( P5 |' v# \( ^7 w1 t3 |0 Q& X

2 g/ E6 K0 V2 A/ R: _3 `% b[Install]4 H) n$ i" T- ?0 Y- W* c. c: {9 E
' U1 q( l7 V4 u: a
WantedBy=multi-user.target
; _7 @3 n9 j& X4 \9 b5 l3 F" T
5 t9 s3 W9 n* F# F' ?9 V
' V5 ^! h; o/ P0 u" y3 u
7 `: ]  a" b& l6 ?3 _" n9.4设置vnc连接时的密码
7 Z+ m$ a! u; X" ]5 D7 [+ t
) R" A  F/ U' j[root@KVM ~]# vncpasswd
) Q* k% W! [: p/ r& R% }* t4 x2 \5 r
" g! f+ n4 c3 l6 w9 e0 M5 U( ]; M2 D* m& Q) ^! R. {, b& Y
; {. o. a) a8 {, V( T6 M/ I
9.5启动vnc服务4 f' n2 q; V8 T# I2 F$ z$ Z5 Q
/ Z5 X9 l, \+ S! h
[root@KVM ~]# systemctl start vncserver@\:1.services
2 a, q3 x7 v4 @. k2 t
1 K2 m- o, [' w' Z

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2019-11-19 14:28:17 | 显示全部楼层
4.KVM的相关命令# j' l$ Q2 i+ y: m- M$ v- b
' Q$ V; k4 A7 M- n+ Q
$ h0 ?; [$ x+ X3 Z: D

* ~* F4 v. m7 l7 y4.1退出虚拟机
, J" |# f3 u$ Q6 h  D4 m1 o. k6 z0 q+ j, S. _* Z4 g
ctrl + ]
6 h7 ~; [4 D0 w' C( ~+ I0 Y* o) \' N1 }4 d+ k) C

: C( Y7 x0 s, q0 ~. i
( p! e/ E3 f' }& ]: r' d3 R  @4.2进入虚拟机) m6 x5 [: O/ _( y) g
* \9 |- l' F; l* Q! E
virsh console centos746 I' W; g3 \/ G
: l3 Q' ~/ y8 A1 B8 \! M8 m

0 p2 j  }2 [. ^: v9 M2 I  M
1 v( S% S( J6 c; b1 G0 U0 e4.3查看虚拟机的及状态  U; j/ j- j+ N# Y& U7 q# F9 E
8 O- w/ m- x% ^4 R3 y
virsh list2 D: q! f# {0 z) I; ]

' D; Y; e4 y$ u3 e7 C3 cvirsh list --all
# M% {& b/ a2 Z& _3 L/ e7 K* R# Z1 j) ?8 ?3 l

, D9 n9 [; v$ j  I6 ?
9 F8 r9 o1 s: p+ E4.4启动虚拟机, ?7 \9 g$ ?3 f' I5 W% }, Y8 _
+ s6 P5 H5 X0 U; y7 F
virsh start centos744 L% x- i& u# s% U
- a! R4 M# P! f
( Z' I9 K( \$ A1 |
" [1 t4 k7 }) v& W7 y
4.5关闭虚拟机7 m; X1 i7 r! k; x, i: L' L

. v( h' M1 l% k9 ?virsh shutdown centos74
, D& v% `  g3 _  |/ f8 t
, ?4 W0 J) j% S' C& Q8 b1 u3 W+ w1 i/ e
, M* F& w) K. s
4.6强制关闭虚拟机
  {" y4 h5 u9 p( x
& ]: X, H) t- l2 Mvirsh destroy centos748 L) f8 }) K4 s) \( u3 }

0 M5 m( G3 n1 c( M, b  W$ F! ?; \1 I6 u( Y# n0 E/ `9 B) `" N

# c1 x. V( \( _7 G2 s4.7删除虚拟机
. t/ Z" T% p. z9 X4 e4 h/ O% l
- d! F4 c# ^" A% Jvirsh shutdown centos74
3 p) x$ _7 j" U. M7 q) p( ~1 k
* b& T- s) I2 g. v% g$ bvirsh undefine centos74  _' |* a; T/ S2 d& D. a7 r  q1 g

" G, V' i& c  a1 R& [( H! n( s% ]5 H) ?9 A( a* Q2 g4 K
: w. n% Z1 ]' D8 U) p. N
5.磁盘管理0 Q7 s7 a* G; x, n( H- A- W, c
) K9 L7 j/ H1 v- U3 q# x3 Q9 |
1 O; Y9 i8 g! S# o1 D
0 \7 n* M2 E+ U7 `8 X) c/ O* f! t
5.1查看当前虚拟机硬盘信息1 o3 P+ a) Z" e7 n. R3 T
9 k8 t5 U: D4 N8 }2 t
[root@KVM ~]# qemu-img info /var/linux/images/centos74.img
  O3 N5 \) `+ E* \
/ y  d7 \9 e, ^image: /var/linux/images/centos74.img8 c/ U; G, H) f; f. V
  S0 H6 {6 x2 T. r9 g8 R1 c
file format: qcow2
/ L+ b9 j' e" P
% i- V5 \! P/ O! M" F2 `virtual size: 20G (21474836480 bytes)  `) \8 o' N9 o9 l: k
3 }  T; G7 a# Z0 L4 y2 `
disk size: 1.2G+ L! I) F  ^3 ?: k' J! x2 S
. E# r7 J' I! E  d/ |
cluster_size: 65536+ N9 B* T' P/ p* ?) \& P$ v
5 L$ X2 @2 n2 r: S% U
Format specific information:
4 h5 X3 j+ s% X. z# s7 d5 U- Z  w8 r7 I2 k3 W$ `* y3 Q
    compat: 1.1
& F- P/ G# f/ M% z# P& C# R
: z7 ], z, k( Y+ ]( F: D. w5 `    lazy refcounts: false
9 d/ ^4 L$ q* G9 \8 M, J2 H
  p" ?8 _9 r3 u$ W: O3 Z3 K    refcount bits: 16+ ?- J- K5 \  n- K$ `, {
5 ~3 j% E1 Z8 j! Q* }, q
    corrupt: false: ?4 T5 P* V; H0 y1 L: k- F
4 S1 f. E: {) D

5 k) i( x& \- Z2 Y
9 o. q* o5 {2 D2 \+ U5.2转换磁盘格式(qcow2转换为raw)' X4 o9 C8 [# l* B9 C3 i3 t1 B1 V
; ?! m# q- Z; z' G6 N; t4 n
[root@KVM ~]# qemu-img convert -f qcow2 -O raw /var/linux/images/centos74.img /var/linux/images/centos74.img 9 y" A, s0 x+ ~% z4 N

) X7 v* w; I5 p( z
( T2 G* }' b7 K9 H: u) y& D  i4 a9 b/ ]( f
5.3KVM虚拟机添加硬盘
# }- I# |: A* u1 x/ n4 M+ z
5 k0 d$ C7 t2 L; c0 w; y
2 O% b8 T- ^# q( I: j) ]: b: m0 ?$ g1 N# ?  J
5.3.1创建一块新的硬盘4 C' g5 u8 k2 K; K. a( t

9 _+ z& C! f3 H  l5 u[root@KVM ~]# qemu-img create -f qcow2 /var/linux/images/centos74-add.qcow2 2G0 S! |% t2 r, }0 z5 a# U
( k+ Q; m9 L" s; R! T( A. C! @

! b8 t/ @8 M  z' O+ a
) N" A0 e4 X4 g/ f7 N$ o2 L5.3.2查看创建的硬盘信息  r" M  [  a/ H) N7 ?) U
  U+ l. f5 c; }& M
[root@KVM ~]# qemu-img info /var/linux/images/centos74-add.qcow2 , q9 G) ]9 G; P: d  K: A. g
" |  W6 H2 j3 f' I9 g
image: /var/linux/images/centos74-add.qcow2
7 y: ^; c8 G, ]1 e" s
4 E  ^/ ?" D6 V. Vfile format: qcow2
* h2 @( G7 ]+ S( W( @2 m, [+ o2 d) |3 a7 g+ F
virtual size: 2.0G (2147483648 bytes)3 f3 a2 T  a, ]5 [1 o

! L5 Q4 H8 D& A+ r1 M% _% S- c: \disk size: 196K. j+ M% W* a) [5 h- K

7 ?3 k1 j+ H$ L/ Qcluster_size: 65536
. \0 B3 g0 E& i$ i
# G. w6 Y6 h6 x# VFormat specific information:
5 s* H8 m2 J4 W$ O0 B. ^/ k( d! f  m+ r7 s7 c# J: x
    compat: 1.1
4 H0 `/ _8 Y  P1 q: K  U
2 |& }3 G  }9 G, v7 M. Z. Y0 b    lazy refcounts: false
8 J+ U* _; J- z6 M/ B$ |) u: z8 F5 |3 D! ^$ y: W' l
    refcount bits: 16
) Z( @0 J6 X- }2 E0 A; }
' J4 T; Z) K* m" e! X' v* p& u- ]    corrupt: false
' ^, e# p& ^( [9 {3 j0 d2 d, I* k+ h  j8 j* S
' `) z6 \  q; w: L( d. Q7 ^
7 s& t% R' c' y* Z4 U) z
5.3.3为虚拟机添加硬盘
8 L7 Z- P0 J  v' C: X$ n" N. y: o2 |. Q
[root@KVM ~]# virsh attach-disk centos74 /var/linux/images/centos74-add.qcow2 vdb --live --cache=none --subdriver=qcow2
' f; k/ W1 J  O8 A7 P4 k" G& P0 i5 n! I5 H5 K" d1 O
Disk attached successfully
9 ~+ J: ]' y* J8 [) v- U% Q, J7 [9 e) L% I: c. c8 i# k+ m0 d
  ) F. w4 }% K( z8 d* J
% r, @1 E4 Y2 s6 _- Z& x) @5 Z7 r
说明:vdb    第二块硬盘& g' I& Z" y$ P) w' L8 R) _' S& O$ F
5 U6 X$ V8 ]' K1 o8 K  l1 `
          --live    热添加; l) k* w$ e5 e7 ~3 w

6 @  H9 w; `' o7 {6 {          --sudbriver    驱动类型7 L1 ?: c3 x2 L# O. y
  [7 H' Y6 U& O% t' z# z4 A. [
          detach-disk    分离磁盘设备
$ Y' T4 F/ {: Y- B; C1 j6 V2 x3 ]1 S2 p" R
          attach-disk     附加磁盘设备
/ G, w  D! M  M5 |' _  D$ `1 P! ]1 E
/ G6 X# H% V; J
4 ~2 O) Z# ?/ P1 O- d" d0 D* r! z5 m, n, h8 r: d& h* J
5.4格式化磁盘(在KVM虚拟机中操作). |& F& @# `+ v! }
3 k, g9 Y8 w7 E
[root@centos74 ~]# mkfs.xfs /dev/vdb
, n: C% v, W9 S2 M" r; p$ N& Y5 j" ]% z* S3 [) P- ~% Y! W0 ^

2 @5 M. U, g7 P+ V# }6 _! U0 j* M1 `( n! \2 }9 j8 T
6.快照管理
7 \4 b" x) J' \+ {$ L) M9 c$ ?0 ^% l

, f' B0 k. l7 E0 _/ c' }& n' I9 {3 S' W! t8 `/ r7 v$ ^* r
6.1创建快照! n( Z: x3 N8 \2 o" {& I
- L* J. j+ Q8 b" \6 @" E1 b
[root@KVM ~]# virsh snapshot-create cnetos746 W) x1 Y& M2 R% L- O5 j
8 V6 ]* o: b1 ~

8 v1 |# a* {8 |
! [0 n4 c$ t6 y% W+ J& ^1 I6.2查看主机快照列表
; p: w. P" }5 ^# t
; r3 i  W5 t0 Y$ ?$ U[root@KVM ~]#  virsh snapshot-list centos74
: H6 Y! ]" x+ E' d: z" i4 H
3 q3 t/ N6 j2 V0 F" \$ L0 u( ?/ j/ p( v1 D) w, u; p" Y' E
# c% b4 o4 M4 d8 u' X# `$ D  y
6.3查看快照信息
4 N$ g9 z  v# c4 i4 B
1 B5 Q2 Y" x! W8 k[root@KVM ~]# virsh snapshot-info centos74 --spanshotname 1516607756
6 i9 g, x" N' Z* R" c# x9 L* [, g/ p
, t+ f6 E5 z% `' z- i* p5 I+ b2 y

2 ~+ y6 k4 W5 I& d6.4还原快照
1 r5 N) \% S; `& f7 a9 N
2 N2 y) Q: K3 X8 x5 c[root@KVM ~]# virsh snapshot-revert centos74 --spanshotname 1516607756
$ p. D* }2 G: m( D, l" _$ K! P8 q( U  m. W

: E4 N2 K% |$ {4 V
( [! E% j/ w6 ~" v6 W# ~& u6.5删除快照
6 a, V1 D2 n" F/ M% D$ R" o$ r0 Q, O) q& l  _* l2 I( m, r  x5 F
[root@KVM ~]# virsh snapshot-delete centos74 --spanshotname 15166077563 U9 u% z& M% E- b  ]
7 \- Z) ^: R4 M; s

5 ~% H/ ^6 @+ `0 a0 s" k- D. D+ k, a2 r0 U
! x5 e7 n5 c( c2 p  ~/ Q0 h  `7.KVM虚拟机克隆$ H- {& x3 {' O7 l$ G
: _5 P  z0 e% A3 D
[root@KVM ~]# virsh-clone --auto-clone -o centos74
* d8 u& m/ T: E. U: q0 ~  e1 O
9 q! i+ m  S+ T& B
$ ]5 D2 h% k( I, G2 b8 ~
( m( ?: u* U# H8.KVM虚拟机冷迁移/ r  R  N  l6 h) |; v

% z" e; w4 M' N) Z. H  E" v& w
9 E) d* B% s9 g/ m
- ?% S" Z) W3 l( y8 \% m8.1在KVM02中安装kvm组件2 ]+ k4 D& E% H9 a6 d  U
3 o0 x5 r; L! T) g* T
[root@KVM02 ~]# yum install -y libvirt* virt-* qemu-kvm*3 s1 [: b: u# n& |

2 \" n: S5 s$ V; \/ ^' x7 ]6 |
; m0 m6 y2 h/ b& [& k
8.2配置桥接网络8 f8 C# y' K2 ^6 o3 U/ c

% I8 _7 Y5 u$ H$ o5 o6 H[root@KVM 02~]# virsh iface-bridge eth0 br0
4 L2 S' T) Z6 F: q- e# C$ S: i" o  T2 h

' _$ U% C+ d/ U& h4 F) x9 {% o$ l! H# a1 T5 y" X
8.3KVM主机将虚拟机关闭,导出配置文件1 X- v# l8 u0 u3 z! P* b+ q( X
( g: T- ~& u7 }1 B) e. s
[root@KVM ~]# virsh shutdown centos74
$ l. ]5 d3 g& D8 |7 G& t% l2 Z
4 B* _$ H  q9 A9 r: @0 C0 E[root@KVM ~]# virsh dumpxml centos74 > centos74.xml1 C3 X' V1 \% _" s5 r- M. s
4 P  g" t0 w0 M% I

; m- S3 W! c7 l  m) F; \& E! X, p8 P( q0 q: o5 C
8.4将虚拟文件传输到KVM02上# D$ [! r+ w3 ^! x

" A5 B7 P! q$ n+ W5 }( y[root@KVM ~]# scp -rp centos74.xml 10.0.0.102:/data
( ^3 u) S/ L# {( x/ M6 u6 I
; k0 `$ M5 S' d
+ v) V' N. l# _6 L5 f
: C! d# p, S9 R4 I8.5KVM02主机导入文件
! G. t/ h0 C# H# T0 |
0 N3 S# C  t9 m5 Q" W9 Z% t% X[root@KVM02 ~]# virsh define centos74.xml4 {' O4 i5 y6 K
3 _$ f& [- W% l/ ^% t% t
9 x1 L/ u& G! X" E6 ?* a  A
6 o' f) |4 }' r; b4 N
8.6启动虚拟机8 u3 L8 g0 |5 x7 s/ [

% a9 J* E4 y$ p1 L' z[root@KVM02 ~]# virsh start centos74
7 U" m3 [+ j% U6 F& d" |) k5 S9 y6 C: i# V% N9 b. A

6 H4 d/ ?0 g1 I3 x3 z, `
3 @% X0 ^5 Z& ?  I9.KVM虚拟机热迁移
, H6 E8 K/ l8 v& w+ }# J7 ~- d

3 |! K+ j  k- o2 c
( z. E) {( Z3 r1 W; a9.1KVM虚拟机热迁移的核心
8 R- D+ ^, f: L5 \
9 g% J( R3 ?- w" |' ]4 i# g   共享存储。这里使用NFS共享存储(详情参考:https://blog.51cto.com/13520761/2087720
0 G. q6 q" w( W0 J; |! s3 ~
) j, U* {/ d1 z: s) B' p; {0 ^. n. o0 b; h5 q+ B* W9 W; O
3 ?% E6 P$ F+ u+ l9 Q; n+ Q
9.1安装virt-manager所需桌面及vnc-server0 i, o* D; ]: k8 \9 N: _

& v" \1 F. `3 B- C. X0 X[root@KVM ~]# yum groupinstall "GNOME Desktop" -y
& E2 S7 x$ X2 Y$ o  U- G5 F7 J5 D/ l7 m5 j2 y
[root@KVM ~]# yum install -y tigervnc-server
1 }; C* f" c  h2 _9 Q: {7 s/ H: F) o- b
[root@KVM ~]#  yum install -y opnssh-askpass
8 \9 z2 y8 J7 ~9 t6 w$ l9 K
+ Z0 h$ {& @1 }# c8 q9 k% K" o- n  o; N/ |! V0 p4 C" ^

$ H& E, }: V9 y( K- |2 x. v9.2复制vnc配置文件
+ W2 \; t$ S! m6 S
! l: R8 L4 _- l, P- S+ ^% {& \[root@KVM ~]# cp /usr/lib/systemd/system/vncserver@.server  /usr/lib/systemd/system/vncserver@\:1.server
( x- }( G* n/ {) i4 w* {# `  D% r( t
3 j, `+ {: C9 L, P
/ N0 O2 V$ S. |% e1 F7 V
0 P: C+ [7 ]. l9 X, d* N  x. ^9.3修改配置文件
0 [2 G( t9 m. i( g7 _1 ?/ b$ V! `* ~! l. \( s* b- @; z
[root@KVM ~]# * W, I! v8 u5 T# B
# [' Y  E" H" f# L& t
egrep -v "^#|^$" /usr/lib/systemd/system/vncserver@\:1.service. m( Y" M& i. Z5 h8 |
$ |; v4 i2 n$ q& V6 f1 }+ [
[Unit]
$ Z+ M: I# m7 Z8 L- o* E4 Y( q" F
5 u. u& N* `( V, QDescription=Remote desktop service (VNC); j- P1 \7 @( t8 G" r. G. d6 p

5 p# h% M1 s( v. bAfter=syslog.target network.target
7 S$ z* \& M' E* W
0 R& w" p( ~8 N( X  Y[Service]
9 T7 `8 m' R  E' b7 G4 D7 |! X  N* @+ T
Type=forking4 n0 E! n! l% I. b( S2 s# `  r
7 ]8 H9 [7 P% F, E9 L, M- h/ H
User=root7 j/ P9 U1 n5 Q$ X
/ ~+ y; d! g! {3 V5 j( m2 J
ExecStartPre=-/usr/bin/vncserver -kill %i
/ q5 B/ k; e! T: ?4 }3 o) @) x
1 `7 z  s; @0 x) z3 jExecStart=/usr/bin/vncserver %i
) L# W4 W9 e! }. C- f2 p  V( ^6 w( e4 u
PIDFile=/root/.vnc/%H%i.pid
1 F& _7 d' R' J# ~$ Z6 J
) v, X# k- Q% |( w$ H  K) vExecStop=-/usr/bin/vncserver -kill %i3 T6 a. E) W2 K! r- Y

9 |5 J/ V+ }; C( `/ N[Install]
! ]3 H3 I) T+ f# r1 K
2 ~% S4 B9 Y6 IWantedBy=multi-user.target# O  A. A+ d* r
. d5 X; {. y+ K4 q

3 T$ l- G+ `, S# v1 z; w
7 V2 b/ n/ H2 f/ E9.4设置vnc连接时的密码7 O. `9 K: H0 l. z
/ h9 q  @( i% C3 p' O
[root@KVM ~]# vncpasswd
( L0 ]$ c- n1 O3 }2 D( Z+ x& Z& f. V$ [. e
6 [9 w' {; i8 B- j' S4 Z6 d
9 f" f+ `9 m6 \' v5 |' r6 v( _
9.5启动vnc服务  H- J4 m& s* j
$ z! v( i- y5 I+ ~: U
[root@KVM ~]# systemctl start vncserver@\:1.services
. j1 u# o* t. w) _$ i. j4 F* b' \# ~: Q( }3 u- E
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-12 01:58 , Processed in 0.022214 second(s), 25 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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