|
|
楼主 |
发表于 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 |
|