易陆发现互联网技术论坛

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

CentOS 7部署KVM

[复制链接]
发表于 2017-8-2 19:20:22 | 显示全部楼层 |阅读模式
购买主题 本主题需向作者支付 3 金钱 才能浏览
 楼主| 发表于 2017-8-2 22:39:13 | 显示全部楼层
安装软件包; w. o9 O/ b- D8 h2 |
# yum install qemu-kvm libvirt virt-install virt-manager
. w( B: {( @; `; ^2 k在这条命令中我们安装了qemu-kvm,libvirt,virt-install,virt-manager这四个包,下面了解一下这4个包到底是干啥的。4 W' V( W0 h8 N) O. d
qemu-kvm! Y1 C+ e! c4 H  r. w
该软件包主要包含KVM内核模块和适用于KVM的QEMU模拟器。KVM模块负责CPU和内存的调度,QEMU负责虚拟机I/O设备的模拟。7 Q) G( B" H. ~% |3 x
依赖包qemu-img) }. i) [' f/ q, Y" s( M
主要用来QEMU磁盘镜像的管理,如新建一块磁盘镜像给虚拟机。5 Z/ @) f+ I; P
libvirt0 |4 ^; c( i' _* e+ W1 q
提供Hypervisor和虚拟机的管理功能。' W7 r5 c" S6 _, R( Q
依赖包libvirt-client( Z4 i" J0 y/ W; r" G( Z
KVM客户端命令行管理工具virsh,负责虚拟机的启动、停止和管理等。
: e* `3 T2 H7 v( w5 S; n, L: ^% n& c* t, ~依赖包libvirt-daemon
1 w- ~+ L$ v8 N7 r: Vlibvirtd守护进程,作为客户端管理工具跟Hypervisor和虚拟机之间的桥梁。
% r* K8 _4 C+ K2 m) R4 Y) ~$ _依赖包libvirt-daemon-driver-xxx+ l6 ]0 G8 Q3 \9 Y* c" r
从名字来看属于libvirtd服务的驱动文件,作为libvirtd服务跟Hypervisor不同对象(如qemu模拟器,网络,存储等)间的接口。
1 B9 K% }( o# l7 V依赖包bridge-utils! V! W' r* P9 J7 I
网桥管理工具包,负责桥接网络的创建、配置和管理等工作。
  Z6 p' R/ S+ L% V9 \  I5 x3 E! mvirt-install7 ]* F/ I5 j' v( e
创建和克隆虚拟机的命令行工具包。
  t/ C/ s3 X% A% ~1 D' Rvirt-manager' ^' z* e* p) [9 o5 G' ~3 _
图形界面的KVM管理工具。' I4 o4 b4 b  i1 ?' ^
当然安装KVM的依赖包远不止这些,由于本人水平有限,所以仅挑了一些跟KVM架构有主要联系的软件包进行描述。
; s( F; W$ C% D7 |2 w" q后续配置激活并启动libvirtd服务
6 g  d/ T( @- p% m# systemctl enable libvirtd
5 U# X+ S1 N! }# W# systemctl start libvirtd
 楼主| 发表于 2019-11-19 14:27:55 | 显示全部楼层
4.KVM的相关命令
2 _/ C9 G4 s- h+ E
# U+ h6 ], M* B/ t  j
. K& r/ S$ e8 `! `
7 \& X" `% s5 {& P4.1退出虚拟机# ]7 ^2 N: r$ j4 r

7 |0 U2 F+ ]1 t4 t! Wctrl + ]
8 A7 V& B3 s+ O2 X5 G7 [) w7 z6 k( E2 t) S$ n$ r9 u& r

; }# C" a& v8 s* E! ~. `  j* t& O9 s1 b6 C9 P
4.2进入虚拟机7 V. s7 }* N7 W* d7 s

( ^5 B) u; L/ I% P1 ]virsh console centos74; w( M3 A* T8 E, ?4 C
* `& N5 p1 p% Z, ]) O, a

2 D! T5 v0 c7 I1 }% l/ Z! q+ a* C8 H, p0 D8 E0 \) i
4.3查看虚拟机的及状态
9 c! I) u0 x. D/ h) P! E: _2 P8 R: u. q' @) R' L# h, U
virsh list
$ C# [7 }8 X, O, a4 c/ }9 O3 E
  t8 j7 ]( P& [5 c( L& E+ L% f' bvirsh list --all
; y5 @8 N7 x* d, N. b6 G( i+ E( u
( h5 e2 `6 [8 x0 G6 z# F# m; ]& V" A  ]3 d
7 a+ a3 _8 {# O9 T% E) }+ R
4.4启动虚拟机
; w. I9 U3 d$ b& f& t
3 H& ~/ ^0 p8 J$ X0 K# ovirsh start centos74# |% M9 x% v% g7 \% F+ a9 t
6 f: W3 x1 h( e6 W% E

- c$ s3 d* K4 I' Y# u
' b9 B/ z- a+ J+ f5 K- ~4.5关闭虚拟机0 Q. A8 W/ R) }. d, |1 z* A( O

8 D3 u+ e2 s5 K7 U( J+ F# \8 p* Ivirsh shutdown centos74
4 j( J. C& u0 W# \: k
. @5 D- k; |$ D/ b
6 T) p- [7 k3 b$ @
% H1 U4 w' ?! O- w( n4.6强制关闭虚拟机
% G8 ^  X! ^9 c, f$ j
6 C9 h, @2 T, D$ }9 svirsh destroy centos74
  l3 s$ a9 B( d
* w. D3 Z% M$ i+ P# N" H& @/ E, L2 K5 H; e

: ^$ v  d6 U/ r" p; b! P. l) [5 J4.7删除虚拟机
# P5 h4 b+ u" I, s
( [* c, n1 b" J. Y$ C+ k6 avirsh shutdown centos74
3 y' E* Q3 {! v: r
9 J; @) \( n& o7 r5 T8 C2 Xvirsh undefine centos74
; d: I/ c0 @* b% _' j& C9 e5 |$ T# n/ d1 g! c. G6 w

3 g0 y8 m  n$ ?; y7 [% z/ z+ ^2 S0 H& R
5.磁盘管理
4 u1 k: Q. g2 Z& Z: G1 U, [) h, _' l0 r4 s8 o

# i3 u6 t; Q2 I/ p1 v, O+ Q
4 V7 O6 p( o1 r' I5.1查看当前虚拟机硬盘信息. H- ^' {1 A0 N% m

( K7 `: @9 g4 }3 B% E5 L5 d[root@KVM ~]# qemu-img info /var/linux/images/centos74.img / V: f3 P# }; o% a3 y+ N: `

4 |/ Z8 ~2 p- {# C2 L9 y- Bimage: /var/linux/images/centos74.img$ b, Y3 y+ v/ j. C" \& k( A

1 ]6 m# s$ x! Ifile format: qcow2/ F, T$ B# \5 E% V4 f

& H% x& o) E. ^* Pvirtual size: 20G (21474836480 bytes)
4 ~; [! s8 b8 R! ?6 M. L2 {- E' b# p  D9 f. t- `
disk size: 1.2G; a* q* J# ~6 G" ]* M0 c: @, z

: X2 a( B2 J- p" @3 b" K& ^cluster_size: 65536$ M8 ?8 R+ ?& p" O- h! c
8 H3 F& w' ?* Q" T0 F3 f
Format specific information:
& h4 l* Z! ]0 P4 n, z( `  C6 L+ y! q$ k
    compat: 1.1
  c5 r2 U7 E1 Z
& P0 M& |7 @- ^2 _* J  J    lazy refcounts: false3 S  p3 R8 ^6 b. K+ `) i) F
% t) G5 R$ _5 k/ ?7 @
    refcount bits: 16
7 E/ l. u% v6 o2 A/ v* g1 u: t/ a% m' w  E
    corrupt: false
; z4 h+ U6 a6 b2 Q. x3 F0 {; ^! Z
; H2 ]) L. Y5 E; D, C
+ @) i2 j: A* c5 F5 ?9 ]6 B! n
5.2转换磁盘格式(qcow2转换为raw); w- b/ i9 B0 ~2 R1 e& B

# o3 [7 J/ v) Q3 W, _& S[root@KVM ~]# qemu-img convert -f qcow2 -O raw /var/linux/images/centos74.img /var/linux/images/centos74.img
9 w$ C9 q7 z7 L' q# G) H. F
1 d, C; G+ b6 ~4 v2 M6 S
' @" t5 l- ~8 X" |$ H; D7 {, Q) g& e
5.3KVM虚拟机添加硬盘$ P: s, S) h$ O) m& @* v

, |3 g+ \- Z  `2 T; Y: u' G7 p/ |0 f  m

/ |1 M: D) M( W# x! w0 r5.3.1创建一块新的硬盘
8 F7 n) i) _+ v6 w: R% K
& E( X3 z  M5 x  e+ U+ N6 H[root@KVM ~]# qemu-img create -f qcow2 /var/linux/images/centos74-add.qcow2 2G2 P& l( l7 H! U+ U

) C7 }& \/ E. P- z7 N1 B6 J* q1 q( y/ ]2 X% [

0 `9 g5 q2 i7 n0 q2 y" _0 e5.3.2查看创建的硬盘信息
6 T, Z4 v! R- f. W) y% B
8 u0 T7 o9 N) k1 \. @[root@KVM ~]# qemu-img info /var/linux/images/centos74-add.qcow2
2 e$ r: Y- s# K4 r* ]# f2 g  J3 o: B
image: /var/linux/images/centos74-add.qcow2
/ d- K5 a( U$ N: h/ p( n4 t2 E# D3 z3 W9 j; }; N
file format: qcow2
' v! _( B( y, O$ R/ d" k- j* R; {( w- h: y
virtual size: 2.0G (2147483648 bytes), o% |! ]; q! F( Y/ A
: n! [3 e- s/ X, u9 D+ W0 z
disk size: 196K8 A! ?% p; n7 u1 B" _- {

4 q, f/ [, T- x. b4 ^cluster_size: 65536
5 P3 A& \) k0 v1 n* |* G- U5 J
4 P, S! F& ?8 ~& b# T: @6 ]Format specific information:4 Y  G4 M* S# J, H: D  Y

; b" S( ?: V2 Q0 j    compat: 1.1' Z4 i* A2 Z" y" m' S8 s6 `

% N# n$ Z5 C1 L8 x1 [# M    lazy refcounts: false
& g" \, H) U/ G( L
2 b/ b0 g) \0 k7 L, Y    refcount bits: 16
& W9 d  [' H. S. m! p7 C
  d# Y$ H( |; D6 ^& ~" r    corrupt: false* [/ \( |: g4 H

) S* h2 X% i& w& F/ N) D8 d6 V0 w3 a/ C- N9 c; {$ E6 E6 [
6 P, i$ s- N) Y& ?8 r4 p- k
5.3.3为虚拟机添加硬盘) P: i. W6 l1 R, t& D

- W' p% ?6 \/ N6 R6 I[root@KVM ~]# virsh attach-disk centos74 /var/linux/images/centos74-add.qcow2 vdb --live --cache=none --subdriver=qcow2  `" u; M5 f5 Y" P2 q( w

! X3 H8 B% s6 w, `6 WDisk attached successfully
( Z+ Z& D$ z3 \9 c: C! K' J
0 V% I% P& C) D; [6 x, V  & d5 G% ~5 u# q( g5 B+ y
4 G1 P% n' G! c- D
说明:vdb    第二块硬盘
* j: l( ?* {! z2 c. L* @
7 s& Q. l+ }' R9 g3 }+ L0 \          --live    热添加
5 S5 W9 O. k: Z2 o! N2 Y" R: t# a  P% l8 L0 ?9 M% n* x+ z9 [( J  K
          --sudbriver    驱动类型, l1 t& X& N6 v# N; z0 Q7 |- ~

. r: X! N# w5 Q          detach-disk    分离磁盘设备* {8 R2 Z4 P' d* L. z8 F" ^5 b
6 C: C+ K: r. p/ k% }  }! y$ N
          attach-disk     附加磁盘设备
' U6 g# ^; S* h! N# y1 d: F* |2 [' V# B* S
: h; ~+ |  ?0 W& L5 p6 j! J
9 |0 n4 l: p" M" ?6 x5 s3 c
5.4格式化磁盘(在KVM虚拟机中操作)
: J6 k  y. b1 a+ F' Z3 N
" _& Y2 E1 C0 ][root@centos74 ~]# mkfs.xfs /dev/vdb7 Q$ K# {: F& b. ?
$ t1 b3 Z/ \6 m. B

$ a7 O8 ~/ ~6 R) U% y, Q3 G0 g* o! _& V% \; |
6.快照管理
& A: E( @) C3 G& M% a9 X% V! H6 w# i/ H3 {) A2 m
) W4 v8 h# Q4 ~
. t4 A2 J8 _( s" S% U: I" R
6.1创建快照
9 B3 R( `& P; X: g: i, l, H. R9 z2 j
[root@KVM ~]# virsh snapshot-create cnetos74
* F2 y$ R+ _5 Q; _4 |% l+ c( R9 @; i/ H' f$ [1 J

4 j7 h  K) h% ^: b  x# F- f$ N& Y7 p6 {6 P9 \
6.2查看主机快照列表
* }, w8 N  j. G& R% x/ i! J: Z8 k5 h/ e# E8 R7 `
[root@KVM ~]#  virsh snapshot-list centos74% s$ k1 i2 I- O$ K8 \% F& v' b

7 L, q: n' E& p* y$ p4 C# M: `
2 ^4 R- [9 Q/ g+ @. h% n
. b; Y- r5 ]& o* H" ~8 z  ^  O6.3查看快照信息
  P3 n4 v& V/ _% j8 Z/ C! N" t3 w. A/ Z- t5 x
[root@KVM ~]# virsh snapshot-info centos74 --spanshotname 1516607756
! _. ~  Q; a6 l$ t; ?' v+ N& d4 {7 A) r* |
4 @2 ?; c# x6 @2 L  O. I% K7 P8 |

$ |/ v/ o  Q  O8 O2 M8 O6.4还原快照& F5 f' Y( ~; V9 U$ D5 o
/ g7 G* [4 J6 b2 N! v- U% |
[root@KVM ~]# virsh snapshot-revert centos74 --spanshotname 1516607756
9 G. v, k4 y3 X6 {7 l9 q! `9 p# ~/ U0 U

) n7 p  Z7 b. j! C: k. B! g- |; j; W; r& g& T8 @4 k" u" x
6.5删除快照4 q: b' W( @5 u* `( q- C

% T4 v7 \$ d# l% E# [( B. D: O4 Z[root@KVM ~]# virsh snapshot-delete centos74 --spanshotname 1516607756; A3 {* [& ]# D2 W$ f
( H1 `2 |* F5 {( b  H+ E; }# h) x
7 n1 a$ K( d# f5 G( E6 Z1 U: x2 M
2 @: P, Y* c  M! O/ l" O
7.KVM虚拟机克隆
  @4 X3 m' @- ~4 l: i" s% G9 a4 h
! y5 z8 \( o9 C: a3 [% t5 f[root@KVM ~]# virsh-clone --auto-clone -o centos74
( K& f# l; h( x+ K; Y' i5 g3 W. J8 }: f; o( V

" i" a8 ]4 _; }+ c# j/ D. a; t6 O- V6 X
8.KVM虚拟机冷迁移
# e8 M' @' F, g4 ~6 |+ r1 J8 F/ k- l, e) N

) W1 R1 p1 h9 J8 t4 C* @; y, y- t
8.1在KVM02中安装kvm组件
4 {) n) J' F& W; D6 Y3 t: p; s" Z! L& d# H' W
[root@KVM02 ~]# yum install -y libvirt* virt-* qemu-kvm*
2 G. z6 w) E8 d+ M  L
: t. k0 \/ b3 i9 m( h. b7 P$ @7 t% g9 ]# \; x- J$ f  o

5 \, H5 J; h% q8.2配置桥接网络
2 K- z3 I. g+ p7 y9 S
3 E& v5 @- P' E1 w3 n& ?! v[root@KVM 02~]# virsh iface-bridge eth0 br0$ X: M' M( T+ E* K7 a

& A7 r8 t. t; d  u4 a7 S
# y4 k  L2 l% B; _* u4 @
) A, t* ?1 `0 @. E# n8.3KVM主机将虚拟机关闭,导出配置文件$ y% U, s- H/ C5 Y( t& Z4 ]* ~

" k! n/ }& r( a0 R* P' }* \/ g' I[root@KVM ~]# virsh shutdown centos74& p/ y$ I. U+ G6 q; m

  J; x/ T2 f. l4 X' C6 c  Q- H[root@KVM ~]# virsh dumpxml centos74 > centos74.xml
/ n  v# w. [; y. m7 }& q' T2 R5 N
( h1 @. T$ k3 b1 i* c
2 X% d- Z  J" X% ]/ S3 k4 {
9 e/ a: C. ^2 u) ~4 x8.4将虚拟文件传输到KVM02上2 I* U- V4 S4 V/ |
/ P9 w2 g* h2 q) ]
[root@KVM ~]# scp -rp centos74.xml 10.0.0.102:/data0 @5 u1 f+ c7 }& p7 p

, _8 G  U: B% l2 C' [9 O
6 X5 ]4 _  k  Q5 S4 Z, z5 b, F; ?$ ?8 t( z( X0 m
8.5KVM02主机导入文件
, m# Q# @, g4 T# Z  [
; l3 m9 F- n7 i& D9 |[root@KVM02 ~]# virsh define centos74.xml
  ~+ b+ w6 s: M# H8 ?; U: j: F
6 t: M! e* ^$ J/ v# n7 {4 z' k9 {& ~1 J: h9 p
- ~2 E" m4 L, e7 \" R+ B# v
8.6启动虚拟机
3 \; r- i7 O9 c, ?1 _5 l  @0 ?! A* r' |% @- V7 P2 @
[root@KVM02 ~]# virsh start centos74+ |: k9 v+ l3 K" P1 G' A3 T6 t
% z6 f& E3 [9 r1 p2 O# q
/ A- p; M$ a% X, I9 B1 Y
4 ?' n1 e; k  G: [5 [$ H7 N% _; q" {! X% W
9.KVM虚拟机热迁移
: ~4 s  g) R  s3 h1 g0 m6 M: }* v! h3 N$ [( j
+ u( `6 G0 I+ l+ B5 ?( h+ f# D
6 [2 x! Q$ w2 j. ~$ i
9.1KVM虚拟机热迁移的核心
  Q) K$ E* E2 r" h* \
5 n& y3 A6 j6 M1 N% X3 Z   共享存储。这里使用NFS共享存储(详情参考:https://blog.51cto.com/13520761/2087720
9 C5 a0 q8 j8 Q5 Z0 v: |) T8 q8 Y$ q% d- `: _  E
' O# I+ z$ v# w- ^" V, b4 j

! D& O3 e! R; I  B9.1安装virt-manager所需桌面及vnc-server: z+ c7 z9 U& X" E2 J& p  H

+ q, e  N0 }* z2 X; T" S) O[root@KVM ~]# yum groupinstall "GNOME Desktop" -y% m5 `% T! h, w3 q" |+ g% O, ?

8 h4 t( N5 E8 x" Q, q: P[root@KVM ~]# yum install -y tigervnc-server ; C/ m$ S; Q" u: ~* k5 N4 ?
; h5 f' `4 y& O; Y; u$ p0 U
[root@KVM ~]#  yum install -y opnssh-askpass1 A# S$ d( j) b5 ^
/ x+ B, Z. q+ M
+ x  S6 ?& Y% w4 G

$ F2 J( S4 {9 H9.2复制vnc配置文件1 n( z6 D" Y3 `' z9 l' j

! t% S$ T! J" X' j[root@KVM ~]# cp /usr/lib/systemd/system/vncserver@.server  /usr/lib/systemd/system/vncserver@\:1.server
6 S) R& Z5 {9 m& N7 I9 \' p+ |8 l! K! L% y+ m

  O+ i, E- T" l8 ]7 `/ T1 e! I+ t% u( h% S1 c/ D
9.3修改配置文件# J. V/ R1 g4 Z+ f& y6 Y

. n! O1 m( z% b5 ]* |[root@KVM ~]# ! T% v' T) ?' H, s! @8 Z
# [) ]4 G0 i4 J6 B0 f9 z
egrep -v "^#|^$" /usr/lib/systemd/system/vncserver@\:1.service# \1 y( L8 @4 k1 ]( q

% g1 W& n8 M6 k+ w! P[Unit]: g) c, g% T3 N

7 Y3 G. f7 ~( T  M/ \4 b3 e5 QDescription=Remote desktop service (VNC)/ t' \% L" C% e# j7 g

9 y- c& W1 A* w9 `; d. M5 cAfter=syslog.target network.target
. |; k7 Y0 q% z" H' t( K  Q0 b# }6 q& M. ?
[Service]0 r( v$ c- g& a
- P9 Y0 L/ ~4 @! x2 ?; f
Type=forking2 K2 u0 q, O! |$ ^
1 }+ A. t& m. c. S3 y
User=root* L, Z4 z9 E0 a5 p+ ?
* s0 `% e6 D6 @8 l% }, p
ExecStartPre=-/usr/bin/vncserver -kill %i" _, Q# h1 u1 U/ C
; F. Z6 ?9 }6 @1 {2 O2 S
ExecStart=/usr/bin/vncserver %i7 F* \4 G8 x5 W" V; s1 }: Q

& R8 D1 W% ~5 f. E) mPIDFile=/root/.vnc/%H%i.pid$ z9 u/ ]) y3 y8 x" C  I. e/ p. ^
( r; Q3 r5 t7 I* P" \
ExecStop=-/usr/bin/vncserver -kill %i# U2 |2 u; U4 c6 j2 B0 R6 d

' V: m3 t: [" W# h' A[Install]
- V5 M; B2 z$ d. o* R1 i8 R# t8 Y& v6 B' g
WantedBy=multi-user.target/ o* L9 r! J1 R; g" m/ X6 x

2 G- X+ z3 R7 v5 ]7 O( h. n$ ^' ]9 `- \- x

. t( m. U9 h6 D! R: w$ S9.4设置vnc连接时的密码# o7 n; ]$ [2 H( z) S6 ^8 I' Y) c% P+ ?
% n: X! S, p2 X& b! e  h  k# y
[root@KVM ~]# vncpasswd
; }# \2 E2 D+ J: ]) C2 l' j7 ~  t7 A3 m- \- h# l! T

6 a; `. ~- H  N
& }. S' }- {' V* o$ E9.5启动vnc服务% p" U7 n+ ^% j: g3 m/ j  Y
: |/ {7 i' ]1 w4 x% {( K
[root@KVM ~]# systemctl start vncserver@\:1.services0 h- U" _8 K  N$ L# o( c: y) n

$ X; D7 S' M; J/ z) w
 楼主| 发表于 2019-11-19 14:28:17 | 显示全部楼层
4.KVM的相关命令
( f, T3 |8 s: m, }/ |- r7 ~9 J$ O3 F: l! `* ^. C
- A* T  }  E+ p4 H# O* ]+ y$ [( s' w6 z& O

: c1 H' l" |+ E4.1退出虚拟机% J# o: N, a% `. z
8 M0 |0 D. v. k8 q9 ]# r- o
ctrl + ]0 L# j" T0 v' H8 E% ~  c# R2 I

$ h& C' {/ M( P  d  v! n $ T! N5 ?# F- A8 u5 P* t* t1 N! D$ X

' t- {3 j$ n3 ?+ K( m4.2进入虚拟机
! M+ j8 o' e7 C- g% a: K; \3 P) G; E+ z6 E9 V$ g" Z
virsh console centos74
6 z4 P' u: W6 E6 ]9 C, o5 K) q" F( @+ Z: g( A/ S- B1 k
( O4 a* Q5 T" j% H8 \6 I6 A
  F" y1 B" J5 J: `7 |3 G4 u3 U
4.3查看虚拟机的及状态
( s9 u8 n+ A' @! X4 v/ O- o7 R$ p) ]% L, E
virsh list
. n. m) @1 U( O9 @7 M: W! o: q; M; y- s: d& |" @+ e
virsh list --all# {% X3 f: {) w6 {5 u
3 s" W5 X: T4 Q9 h) {

6 S( ~$ ]0 Z& u' B
3 w# h. j: P- I4 `" S9 U4 w6 G- o4.4启动虚拟机
+ B! e" _! b" B6 N: M+ w- S. U2 F+ Q/ B; T6 y* Q
virsh start centos74
+ [& _; G5 n4 Y  E9 o5 A: L; @4 ], D% H. B7 ~* Z5 G

/ N- \4 Y$ V) i$ a2 k8 p6 R" `2 I: o; H7 n6 Y8 {
4.5关闭虚拟机) w- M) D! F- m1 g
: E  W2 F' E4 Y" K' S+ O
virsh shutdown centos74( O5 E0 g4 n2 j# Q$ L% Y

+ v2 q6 L& e6 j0 C0 L6 {9 @0 o% O  b! ?, d' E; E
7 Y# }/ s& l% Y' V% f
4.6强制关闭虚拟机3 ^' \# o  ^2 D; Z0 v. T7 E9 l" T- G
* T! T" l& u$ J! p% }+ ]
virsh destroy centos749 _0 Q) p( ]/ X5 e& K

% Z8 C0 n, Q7 H6 b+ F4 G2 G& [  q5 r

2 W6 b' p) O  C5 W( h  u" ~4.7删除虚拟机) f/ G" _. t) Y3 h
2 ?) b% p5 _2 e0 {* O/ q
virsh shutdown centos74
1 ?  X, J7 i# k5 M- Q+ E/ T. n# M1 l
virsh undefine centos74# i; p0 Z* R5 g/ e9 ?' M; I# {
9 T: B  p3 z% c& p

: s/ B' a# ~8 ^% `- f) C% g2 v) Z2 t- x6 K/ l7 k4 `: ?  M
5.磁盘管理; U& G/ c! ]6 i$ g' I1 F8 ~1 \# Q9 C# a
2 m# O6 d  i! s: c4 ?

# m) R$ j0 ~4 q$ r) h8 z/ ?) x6 T' S# P$ ?2 X) J
5.1查看当前虚拟机硬盘信息( `( B( c( z' E+ ^6 z) f# @7 ]# S

) j) V) R1 u1 ~& R" U6 K" X[root@KVM ~]# qemu-img info /var/linux/images/centos74.img
& o: c8 b6 e, ?3 C6 \6 J
* {+ B3 k, c' Fimage: /var/linux/images/centos74.img% y' J7 n; h+ T, j9 l3 i+ R

3 H4 u9 W% h& U* Wfile format: qcow2
- r# _8 B) c/ d$ P7 m, i& ~; y0 q# A, L. s! x5 k1 R
virtual size: 20G (21474836480 bytes)
' U3 @. u/ u! H8 @: n& L) y& ^8 C, j% c0 b7 S( \) E8 ]. S
disk size: 1.2G
8 \8 \5 p" Z4 o& H  L  m( l3 U
+ q7 D& R, _+ Z, }cluster_size: 65536
( i) n+ f* @4 G4 b1 M4 c8 l$ k0 C& V  q2 p5 v! A0 V6 y+ [
Format specific information:2 D# Y' w+ f8 r( `2 d
3 i1 p# m& A" G% C, q
    compat: 1.1) Y: @: }; s4 I
+ J/ {* E6 _% m) ~0 D! P! x
    lazy refcounts: false# S. ]0 L3 |& p7 T

2 H( U  G& g/ t  w/ e- B$ T    refcount bits: 16
; N; Q1 f3 x  N6 ]
* s$ t3 a, g5 n* g; q* T; U    corrupt: false
- N2 v* p: p* @* ~+ _0 R0 W% h- g9 d0 a4 K

- b2 V( A0 n7 U  k+ I$ I. A
# p+ T" F. \6 c5.2转换磁盘格式(qcow2转换为raw)* V$ i$ D5 y( u, L) K0 J' ^3 i5 h( R) i

- W+ X' D+ h; T/ [. f$ }% t/ \[root@KVM ~]# qemu-img convert -f qcow2 -O raw /var/linux/images/centos74.img /var/linux/images/centos74.img # X; B3 v; M1 ]. t+ f9 v/ V

  v4 J& i2 M* d, w, x# E- |; y
6 `. H! T+ ^! f. o% T( y
, p. H& M) i% `- d. Y; G5.3KVM虚拟机添加硬盘
! y$ W! P2 [: |! b: S! @' T
- u) J% O* o( j0 n) g+ n$ b8 v7 ~% k7 I  U: x) g
, ]# m+ x# e9 v" D# t- ?1 G
5.3.1创建一块新的硬盘6 O9 h! y* t" s% x- Q0 C& d
* b0 f- [  u5 F9 q
[root@KVM ~]# qemu-img create -f qcow2 /var/linux/images/centos74-add.qcow2 2G
/ r9 m" W  n7 \$ k( N8 J; R9 J- s9 E5 o; e/ t5 A9 n) j, F

% f: X: X4 |: j$ G1 Z6 o
% ~" I) t9 p! \/ }  c6 A5.3.2查看创建的硬盘信息
$ `  D: D1 C. }+ i6 l5 Z0 G6 m( [; p5 a% M# K6 _; ^  z
[root@KVM ~]# qemu-img info /var/linux/images/centos74-add.qcow2 * j+ @0 j) G. k( ?3 u

) H1 F4 \. v2 r* `7 V! A1 rimage: /var/linux/images/centos74-add.qcow2
' y3 K/ Q' k+ o' h9 c  b. Q3 d. C
* _$ u1 Y1 N1 ^: S: m" Afile format: qcow2
: F# w2 S7 u9 U  F  L( |0 ~
$ C! ]: }  S+ q% p: ~4 h! Ovirtual size: 2.0G (2147483648 bytes); M8 n$ {% H! i. I# T" l/ @

$ R( x0 _2 i+ [' r6 Hdisk size: 196K+ g" n) f8 Y4 L: r

0 X7 N1 C+ J: ^cluster_size: 65536
9 m. J9 |2 |* F5 q1 Z) q( D1 o5 Y# i. C
Format specific information:* ~" X+ T0 [: U  q3 |0 c, K
; `+ e! m9 s" [8 Z4 ~
    compat: 1.1! G% \- I0 h% Q1 X1 B* G0 B

+ \/ }6 _5 r" `" i  n    lazy refcounts: false
3 H( \( |4 x) x8 }- m: O2 ?! l7 G
    refcount bits: 16
, O+ L- G# Y2 B( g/ h' O
0 f  g) |# c- T/ Y/ |; Z    corrupt: false
. K. f+ j4 A0 M( g! ?+ H
; G* Q6 G* w9 z; m' J, W5 k! |3 c
' o1 P8 D( u* r% y' A
1 @7 d( f; Z% T- l. N. j: _5.3.3为虚拟机添加硬盘% [0 a0 ~( C2 l# f2 b* i  u4 w3 x5 S6 r
( z* O8 j; |0 Y* S7 U- x7 P6 h
[root@KVM ~]# virsh attach-disk centos74 /var/linux/images/centos74-add.qcow2 vdb --live --cache=none --subdriver=qcow25 w1 ^' n1 |. h1 R
# M' x" v" r" P
Disk attached successfully
1 b3 [9 q$ \. B4 E8 t2 \; ?
" W2 z3 Q1 ?2 u# f8 ?4 _  l  
$ O0 Z' D3 u# d. j0 g$ x) m, v; D3 b8 Q3 L/ s
说明:vdb    第二块硬盘3 I2 y. E6 F7 n
4 D" t& V$ U$ d; u
          --live    热添加
: ^& @0 t# Z, }1 _8 ]
+ r/ N2 j% Y# D3 E5 h: V& N          --sudbriver    驱动类型
# a/ O0 u0 q6 @5 X$ {# p) F7 o- ^6 U6 v+ y
          detach-disk    分离磁盘设备$ M, f$ r& m, l9 W# t5 C
; ~$ \! O# Y+ Y
          attach-disk     附加磁盘设备% u/ O+ G  r* B
. M0 _/ Q# v" e2 u/ Q  V
6 x4 E3 @, J+ T# R
* q/ e5 z# \  c1 @# Y
5.4格式化磁盘(在KVM虚拟机中操作)/ A& J# q8 U% ~  Y9 O1 v; n
% r# c' R2 y/ a3 _8 p1 [& z
[root@centos74 ~]# mkfs.xfs /dev/vdb* e5 t0 F( T7 R! O2 [
. h# u5 F4 s6 U: h: H. E) m' U

& b$ q* _" d1 B3 N. l
3 o, ?8 a9 O+ h8 I# B1 Y5 V! N9 T6.快照管理
# l5 t) b! h# ~& j/ \: b
# n- |1 o# l+ z+ ~# O5 z! Q( g% H. |* n8 ~1 E

/ i3 K6 f. K/ T* I! X( X! }6.1创建快照7 F5 [. {' P$ j1 C
; p; |/ d, R! b, Q$ g* a; i/ ]
[root@KVM ~]# virsh snapshot-create cnetos74
8 r( S9 ?0 n; p+ F, M3 x! x# E2 n  J+ p) }

; m+ c* [' k0 Q. k$ M1 ]; L- ?
4 ?0 O( m7 b) U4 ?6.2查看主机快照列表
( p( m& n, q% R& n0 T
! S2 N7 T) |# F/ n[root@KVM ~]#  virsh snapshot-list centos743 G7 M. N+ \( a

3 W$ }* d, B, K% d! j! y( ~" K8 ^. ], p
) n6 ?% c, d7 R
6.3查看快照信息
( W* M6 r) e, i5 |1 S8 @
0 R1 |$ ?$ z. I4 `9 W* X[root@KVM ~]# virsh snapshot-info centos74 --spanshotname 15166077561 a* ^% M) [9 o" s1 G0 g# ^

  O! i4 U, c+ j- W0 x; s8 P$ x: m9 n" Z6 {. x

3 }: ~% e' B$ I0 b6.4还原快照6 o) ?9 F! v! k. @; `: ~
5 R9 B8 r% X4 j$ R7 a
[root@KVM ~]# virsh snapshot-revert centos74 --spanshotname 1516607756
8 d( |5 J4 [2 c0 C" k, C4 C  F
$ O- R; ~# x, q9 e6 Q) D  n9 v3 X+ E# N1 v

% S7 I% O1 J/ B* n6.5删除快照
+ X: T2 P; ^4 `3 b' i! c3 X8 z1 e, f9 r8 ]$ A' A) F
[root@KVM ~]# virsh snapshot-delete centos74 --spanshotname 1516607756" F3 y5 Z, h. S0 G2 X$ I! c
: W& l6 w/ A% F+ r) v

9 Z5 Z  ~) Z" p) X4 A: |
( P5 L0 S0 c' A0 h( x7.KVM虚拟机克隆  v: l; I! s& ?& b' f' E( a3 n
! |) [7 g0 X7 @0 j
[root@KVM ~]# virsh-clone --auto-clone -o centos742 Y: I6 q$ [6 q8 C8 n

3 ~7 [+ u- A( C! O7 s/ {% H4 E: O. `
! m1 u" I7 L0 V4 m% f
8.KVM虚拟机冷迁移
. {" K- }( m- l3 N! [8 ?3 m) y
& @% q! ?7 |+ A
" W2 _/ l7 N' a+ R6 [* L3 }0 z% i+ f7 A% ^2 K
8.1在KVM02中安装kvm组件' b! |. B0 P! {! y9 `% [$ Y
0 O* X$ ~& h7 v9 Z; ~9 ]" f
[root@KVM02 ~]# yum install -y libvirt* virt-* qemu-kvm*! O: a6 H* _9 V/ j( o6 F8 T
% J* [) J/ W; O; l6 q

( ?4 W% ~& y. L( }6 G# w2 ^- a0 P- \
" |6 _/ W  z6 T) F1 R8 T8.2配置桥接网络
. Z$ J- J# F+ ~6 f0 b
: M7 o9 o3 a% T2 D[root@KVM 02~]# virsh iface-bridge eth0 br0
6 s+ w( I5 N. U! |  S+ u1 f' r* ?5 h# m5 N
1 k) j9 P# I5 q6 D5 M" y9 y

  z9 m# r  A9 u" l8.3KVM主机将虚拟机关闭,导出配置文件
  X  V1 l* l: g- u1 D. A
- t( @, K" Q; F" Q) ][root@KVM ~]# virsh shutdown centos74/ d* z$ g- K7 \, a0 s

, i6 ]6 H3 G2 N4 R7 |; \[root@KVM ~]# virsh dumpxml centos74 > centos74.xml. K- h5 Q+ d& t/ U: X
9 D4 @6 M, z& k7 H/ C( \/ q

- O+ y" C/ H" N. k9 [: ]. y3 I
8.4将虚拟文件传输到KVM02上
- F; a" p, ]/ p
* d( j+ M% w. X. K[root@KVM ~]# scp -rp centos74.xml 10.0.0.102:/data
  K) W' T/ F2 s) \7 n( p3 Y% |3 d0 y6 _; e
/ |3 O8 l0 M6 I* Z) g
  @0 K: _: `! e1 v9 C  k1 x9 F
8.5KVM02主机导入文件
2 Q" x( M# \* l6 J/ R- E  Q3 ?( w/ |# n' x0 z7 c" ^
[root@KVM02 ~]# virsh define centos74.xml
9 ~+ F) X) l* H* A; v8 H  s* [& O' T$ i6 g( H8 \7 D
+ h& O5 ^8 S1 r% z* P' @+ q

9 {# j6 D. d" {: ^7 ]+ \+ ?8.6启动虚拟机
7 F' p6 o* j3 W& d4 R, R. B7 @1 R- _* k
[root@KVM02 ~]# virsh start centos74
" b) J' s% t! G8 w( z2 S3 ]: H% s1 H, Q7 K* v; N( Q
! D+ M! G; \- i7 f% o1 ?$ H4 A

. ^6 t0 M2 k1 z+ q9.KVM虚拟机热迁移! p+ m* X8 h8 g  w5 D% j
0 V5 ?: M# `0 A4 V1 T$ h% Y7 y

5 n- R; o( g$ N( h
( A, ^% m& Z% Q) J9.1KVM虚拟机热迁移的核心0 m$ J2 t; Z9 n
% ~' p4 c2 [2 k. L
   共享存储。这里使用NFS共享存储(详情参考:https://blog.51cto.com/13520761/20877203 ?) K0 P1 g  ^

& S% B3 d" v: z1 Y1 ?  e" a$ K$ p
; N# z8 }0 G7 G4 V4 l
1 o# F' ?  p4 j( e  ^5 R2 {9.1安装virt-manager所需桌面及vnc-server/ ^/ Q* E& N) Y
% Z8 F. ?$ g! d  T2 w( s9 _8 B7 [
[root@KVM ~]# yum groupinstall "GNOME Desktop" -y
1 ]! z: M. c4 O6 j; W' _# y/ g- D2 f
[root@KVM ~]# yum install -y tigervnc-server ( d, J8 J& |  I, Z6 L0 t/ k3 m3 l
/ a5 H. m- B* ^7 }7 ]) ?+ R& C# y
[root@KVM ~]#  yum install -y opnssh-askpass9 d9 l: R$ n' q% B) n+ N, b% W9 g6 h

: I! J2 C( f6 e
  |6 i/ |' _/ Q( ]$ V1 |9 m- n
& @1 O- ?# ^3 `' H/ m& O" d9.2复制vnc配置文件
- i3 Q4 k! }* F" Z* p* s4 ~( `( Y% c( a
[root@KVM ~]# cp /usr/lib/systemd/system/vncserver@.server  /usr/lib/systemd/system/vncserver@\:1.server
/ u$ d1 y  k% ]9 X6 N
# ^/ c" P& \# @5 i8 m% H3 B" f( p
, c6 p& F3 ^# m6 D6 [/ d. T  m8 a& U3 Z2 m/ \1 F
9.3修改配置文件
3 g( a) _. D9 x5 q" k) U, ?
0 k) P3 h! X1 b' p" j[root@KVM ~]# 0 g; s) F" ^  `( o+ }: k% D6 h
) M2 I! M; b: R, I3 {% a& Y# g
egrep -v "^#|^$" /usr/lib/systemd/system/vncserver@\:1.service
! r& {8 @, h/ p4 M
9 H# s; g# z+ P; h1 m[Unit]
+ G: o2 F/ G5 |  p8 D) v+ V0 ]5 m  K5 x
Description=Remote desktop service (VNC)4 W  w3 ?  T+ p

$ \$ i/ Z& P( y1 g/ F! G) S8 RAfter=syslog.target network.target! d8 ]9 l$ x( X. L# z
. v$ n5 T$ t/ s6 r/ u
[Service]
: e0 @; C" J  b5 f, C$ m, ~% W0 b+ [
Type=forking
* W8 {5 V5 u# [1 S0 @9 d. w& O( p; [/ S- J! I
User=root6 k7 a6 U$ l4 X: z
# L+ [& R) ?9 ?% W3 E
ExecStartPre=-/usr/bin/vncserver -kill %i2 T) v9 N% F2 z9 l5 c( w
5 u) c0 E5 k5 U' c: L
ExecStart=/usr/bin/vncserver %i0 ^9 E+ J; {, g" c6 J& a* a( P

! m1 i' w$ G5 ]" T: yPIDFile=/root/.vnc/%H%i.pid
' _5 G) ]6 D0 b! r" R  K9 E; t) t" @+ P! ~( a
ExecStop=-/usr/bin/vncserver -kill %i3 J$ ?5 ^) C0 ~& J2 b6 c
- ], s* i# O2 P
[Install]
# X4 C# T9 @& x- K5 H8 T$ t; V" }
9 o" j* F8 {) q2 p5 mWantedBy=multi-user.target; i( v9 @1 y4 @

( }/ Y& p2 E$ U4 l4 p$ Q# N3 X
3 K* A  u9 B( ~9 n" c2 F
9.4设置vnc连接时的密码" H: J8 m6 N8 c" P% u  d7 _6 V
) y) A4 z& W! c$ t: P- f, n' }0 V
[root@KVM ~]# vncpasswd% a( |9 `, f: e' B2 J: O
/ b6 b1 h: o, j4 n' I% _% \

- q# T5 h* n( V4 c+ c
9 B, x' C3 g1 q" N. I! H9.5启动vnc服务
8 b. J$ Q: j& q, ~# m% [8 p& \' o1 Y6 G5 H2 p# S
[root@KVM ~]# systemctl start vncserver@\:1.services
: |3 P0 a; N/ J% H" J" v! h5 k- p  E/ h0 l
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

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

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

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

GMT+8, 2026-4-8 23:57 , Processed in 0.067680 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

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