|
|
楼主 |
发表于 2019-11-19 14:28:17
|
显示全部楼层
4.KVM的相关命令1 N# j1 C' x! p0 }) U0 }
! Z8 O7 m2 A0 j& E' Z
- P2 j. ^+ ^' @3 r
. D% K2 z# N7 j" O1 ?' F4.1退出虚拟机. S5 W2 T8 L9 l- Z7 s" i5 J2 E7 J
! N: I; z. d7 ~* e* A
ctrl + ]6 }7 M% u+ U9 z7 o6 t& E
2 W4 E. y* a5 W, e; k 9 t, m( z2 Y+ D/ J7 o
6 f$ u7 X1 \# ?! } z* G) J4.2进入虚拟机4 p& o: T0 B- [9 r+ b7 }% W* }
3 H* G! S+ \* H6 r- P6 _; [) avirsh console centos74
3 Z1 q& ? R/ O8 B. L9 x) N" y/ v" ^
& b* `) r- b* b2 D7 L5 N/ c
`8 d/ h: t( h4.3查看虚拟机的及状态5 Y" W, w$ G% z P1 {0 A
5 n3 y2 o m- {$ w4 D7 ^
virsh list9 w3 W. a) E: X: `+ g% ]8 u
3 m/ m; Z0 u# s( ~& y2 P6 u
virsh list --all& p! {$ _, E- N
) X8 f( h# k0 R# j
9 M+ r- w" E9 V8 A
- S" |2 t2 x/ H9 C1 ^( N4.4启动虚拟机
- C5 c& B; t/ @9 A: z+ Y1 Q" @
8 j, I/ s3 `- l ovirsh start centos74
) h e x7 o) u+ e. T
! s1 Q3 v/ s2 X$ M/ d, |) n& f/ G" b
0 m9 `, t" O( I1 T4.5关闭虚拟机; r2 @1 |6 J" l5 f: K$ L
( \) f. \1 ?+ Kvirsh shutdown centos74
& }: T1 @" ^" L
* _9 K' D/ X2 B/ @
: a* s6 k( |$ ? S1 O' g/ J2 _1 @0 c" o/ p
4.6强制关闭虚拟机
2 J) N* `; @# N/ G, {: M
0 Q, Q. |: A$ i* B& c4 Wvirsh destroy centos74
3 f0 o0 E3 p" ~6 o$ t4 f6 @8 A- O- k7 S
% q$ D8 Z' {2 i, j
4 {$ a1 _, l5 n1 J8 ?4.7删除虚拟机4 }( [$ `0 Q, k! p' y
& ?9 X. x2 m3 \virsh shutdown centos74
8 r+ W! s' Z4 v1 l4 }: v2 I, q5 F }- q
virsh undefine centos74+ b4 F* l d' Z- C
% _1 ~0 P% s" f
1 x8 F! m' X2 m. t. ?" t
+ Q9 J7 T' P- y7 ^$ b v5.磁盘管理
1 c& p1 j0 T; K& e( z$ O; L" f; V5 G; r- L# M0 t5 |7 |% |
. M7 o2 `. \$ w5 T
% Y0 L2 m X, N% @7 a1 r: a7 p; @* ~5.1查看当前虚拟机硬盘信息
3 z* c, `/ C; D- c7 a/ _0 n7 g( D% b0 p
[root@KVM ~]# qemu-img info /var/linux/images/centos74.img 3 [4 s- E8 d0 ?+ x4 W1 l% c2 {5 V
( I! f8 W6 G1 e3 Uimage: /var/linux/images/centos74.img
0 `, U/ x- C5 B5 ]4 K/ f
, }; @) b1 v4 x7 @. L4 F0 Zfile format: qcow2
% i) L) y* Q" M; H9 Q3 }% c3 E# b9 s$ K$ _0 p
virtual size: 20G (21474836480 bytes)
2 B$ i9 [! T5 k9 z2 t
2 h2 u5 a! ` }8 ^& n0 V% ]3 Udisk size: 1.2G8 ?2 `; a* c w3 \* I! `% J3 M
0 `3 g9 u( e9 Y8 g7 P1 L2 }2 z
cluster_size: 65536* U# y- A( e, M* U2 p4 U
; X5 p5 O/ V% f2 t5 A( n' T3 O2 CFormat specific information:4 J. W& U6 t- |5 `$ K
3 j5 P. T6 R, K3 k
compat: 1.14 f" D+ D1 `. @3 W c
, T ?7 s7 V0 Q* y) U1 b lazy refcounts: false
`5 u5 S+ N7 I- d8 w
; x( k# [1 U( T9 c( [. N/ k refcount bits: 16) U6 Z, V) X3 x' ~8 d% b
& ]6 c# J2 c/ T8 F4 a
corrupt: false# q' d" Y) F2 m3 F" v, e
) H) G7 _/ c$ V3 y# v$ T
5 g( }/ h8 A( V8 I# h9 ?
' v$ z; j I5 V5.2转换磁盘格式(qcow2转换为raw)1 R _; Y: Q {8 B
0 b. I# S! I0 e$ M- k# r- N[root@KVM ~]# qemu-img convert -f qcow2 -O raw /var/linux/images/centos74.img /var/linux/images/centos74.img
. M2 h2 M, b* H; m9 g$ x) _+ N. I9 }3 {
7 W% `: z9 H4 `, h% B8 {2 o
& [: R- r. q+ G0 ^$ o5.3KVM虚拟机添加硬盘% q }) q0 z& v+ d. _* n
% s: n$ {" X: [" \# n [2 _5 G/ \- F& v- ?' }. R+ K O7 U
4 b3 K, F+ D/ U" c5.3.1创建一块新的硬盘9 o# }7 V7 R8 b8 t( T
/ I, V6 [3 ]. o: m8 p2 X. P
[root@KVM ~]# qemu-img create -f qcow2 /var/linux/images/centos74-add.qcow2 2G
3 V' o5 O$ Z4 p& m; F7 s6 V5 \; v! g" o' o2 q3 U
3 q( K4 D V/ ^1 z3 ^& _
5 F% q5 m" O3 u) G- F5.3.2查看创建的硬盘信息 s8 p9 I) n! c* w8 u7 F: i9 Y
0 f- Z+ h9 q! y4 _, {[root@KVM ~]# qemu-img info /var/linux/images/centos74-add.qcow2 " l6 `" w! X/ b: K( D* G+ n( ?/ i2 X
7 [+ J8 R. j; ^+ b, z2 a
image: /var/linux/images/centos74-add.qcow2# I9 Y) R% k7 z P" Y. K8 d& Y
# x- g+ m$ ^7 V6 a1 [- Z8 Jfile format: qcow2
3 R4 ?5 i% {- C( {" n
# D( U/ h3 |. S% S2 u8 Avirtual size: 2.0G (2147483648 bytes)
) b, J9 s" j2 O% U3 S5 I1 r }4 j) w: d, X" A& f# i3 o
disk size: 196K
1 j. }1 @: h% o$ B" }, M5 N; D" Y6 m" Q1 t' w, N# Q! t; {) t- h
cluster_size: 65536# a/ o9 b# h) E/ m& @; j8 b
0 x6 F4 m* ~* b5 k* Z. Q
Format specific information:, o4 i2 T# _% i3 F9 p: h. J
% d6 R7 h- K; P! U! l
compat: 1.1
8 ~1 V! ~4 y' P8 l2 V5 Y0 b' i- M8 `4 k0 v* Q9 W* l
lazy refcounts: false
/ q2 F2 H; A: e. |7 @. o2 x' l; c* ^: g. z' I' D* I2 |6 R' O! ~
refcount bits: 16* W* L5 P+ b( ~6 S2 I X8 R2 M( f! B
; \, ^% x! b- \$ \& K corrupt: false
$ z" J7 W' F4 O, [/ |
# C: o. _# C1 N/ v" D# E2 s9 b/ T
. m: l- ` a W; B8 u" q8 `! T7 Z" j
5.3.3为虚拟机添加硬盘 ?7 v$ }# d4 f# e* t' a
: `) h5 Q. ^* `' I8 u6 h) y
[root@KVM ~]# virsh attach-disk centos74 /var/linux/images/centos74-add.qcow2 vdb --live --cache=none --subdriver=qcow2& s" x9 q) E. }" @1 `. j2 R3 o
3 D7 d" {/ z& w% s! Y/ iDisk attached successfully6 I, M. i: a |$ u. L5 q
6 W5 `, ?) C' [! H
4 U) b3 j+ G( Q9 Z: `, D/ D1 d! f/ _+ I
说明:vdb 第二块硬盘
. z; O H8 ?& m7 m+ f3 F
* i! E" \: ~. M( Y/ G" g --live 热添加* [- d4 c7 @5 \1 n5 x2 w- v3 S
6 B4 K, M9 c1 L" ?& f* U- D$ n
--sudbriver 驱动类型: a& n3 z V8 P2 l
2 o/ Y6 c- ?6 D+ E
detach-disk 分离磁盘设备
3 y4 I. P/ D7 ?* a4 f9 X' c( r! E- A D
attach-disk 附加磁盘设备. E2 v, M- n" z; ]4 w
; B; V0 J" J/ E- [) |
- H$ ]& ]9 o8 {/ f8 ~0 k1 X
1 a" e* a6 P8 _# B) A$ t. |6 p! H
5.4格式化磁盘(在KVM虚拟机中操作), l0 a! o; {5 a" j0 {% f ^- m
7 \" j# a3 h5 t) r! c
[root@centos74 ~]# mkfs.xfs /dev/vdb
, p6 }' i9 R D4 h' v0 X4 t! _7 O& K8 T" {4 x- ^
3 H% T6 e0 l$ j1 q
. V4 c. L& n; a4 Y9 [6.快照管理3 s' D0 x" ^3 X
- T# [" ?6 U+ y* u2 }, |5 d5 Q& _/ }8 S" B: [( S: o4 _
5 v$ |) g" i( o9 }& s3 t0 ?9 ^% l# j" M6.1创建快照
) m/ j) Z1 }: ^# w9 k
$ i x% Y) F- T$ T[root@KVM ~]# virsh snapshot-create cnetos74) {) O+ P+ A0 ~7 m7 ]+ u, e" z
: \# Z5 x* t! T" ?8 `% z
: k+ j& u& U) N, L; @, D& M5 p5 z
8 E: v4 G$ h9 z& b# `1 X) b6.2查看主机快照列表* F2 F) d- g8 Y6 n3 \$ c
! B6 {* C! n% N% Q- O/ s' o* g[root@KVM ~]# virsh snapshot-list centos74- Y- m k0 @7 z. V0 Y( M' c
% H0 t; n7 R8 p- U5 _: R* [6 x; l- X9 V; I% E
: K! S; W7 {' P: _$ s' |6 i6.3查看快照信息
2 A- M6 _; g6 }5 E
, R4 k: T. K2 |" s5 N0 t[root@KVM ~]# virsh snapshot-info centos74 --spanshotname 1516607756' t0 ~/ C/ T/ K3 z9 o w
, ?' q8 H; @& l, `7 F* v0 j
" K/ k: Y8 o& w; x3 q( F' k! W
3 v4 ?( G3 d% \% S7 N v6.4还原快照% N3 C. z0 I$ }% L8 Z- j7 J
, g3 U1 Q/ u! N0 v# U/ u[root@KVM ~]# virsh snapshot-revert centos74 --spanshotname 1516607756' M) V9 f7 I* W0 _" x/ w
) g+ L3 G7 ~% D, ^% F% W5 T) m S8 b: r& O+ V7 q
% ?! K% U' y+ ]/ ~2 L6 b
6.5删除快照
* T3 H$ y ]2 {' ], Q
2 T. u, D- S8 l4 X[root@KVM ~]# virsh snapshot-delete centos74 --spanshotname 1516607756
3 Q# I: ? L( I, L1 `- a0 t# l" w7 V* ^- `/ t
/ h3 d/ r% X6 {' u# \* d
2 g$ e# D" r/ U7.KVM虚拟机克隆
' ^# L# q$ T5 M, F( f( ^+ A' x$ L
[root@KVM ~]# virsh-clone --auto-clone -o centos742 [8 ?+ c3 ^; T8 u" ?" t; R( I& B" Y
7 M# m4 ?+ `0 J
`0 Q) j$ y/ g) Q$ y u
# S- F' k1 E% o- R* |/ |8 @" q2 t
8.KVM虚拟机冷迁移
7 S9 |/ D x4 w+ ]( F+ ]$ t6 [0 e0 _0 n1 u: r
) x8 l8 Z6 X8 O5 o1 c! U' G0 ?* l
& @- o) L6 l( B+ q
8.1在KVM02中安装kvm组件6 U9 N# o3 O7 e% y2 Z6 w
8 u7 u8 |" w+ L; V. |% q1 d& _2 L
[root@KVM02 ~]# yum install -y libvirt* virt-* qemu-kvm*2 g% ~; T) V% |, Z8 H( i
8 ^' p' f' j6 n! @5 O7 r' o0 m/ O2 b# g" R2 |& v
6 E1 Q8 Z9 \/ {( N
8.2配置桥接网络
- V7 i# k' I# U4 Q9 ^, z1 G# E. v n' o- m8 ~' I
[root@KVM 02~]# virsh iface-bridge eth0 br08 V6 D. L/ ~! F5 M1 ]3 {% [1 R
- J! d& n$ k. i& `6 C! }
4 I0 }5 D5 C1 d" I9 U- x! H
5 t5 y: Y+ p% I n% i) o6 d# g
8.3KVM主机将虚拟机关闭,导出配置文件 ^& v+ P+ e) H+ W/ W: R6 X
; F+ C! _( x. j) I5 g( K
[root@KVM ~]# virsh shutdown centos74
3 G- Y* Q$ Y, n" D6 ^9 s0 [
/ I( q2 X$ ]% a/ D+ }9 g3 |, B[root@KVM ~]# virsh dumpxml centos74 > centos74.xml
, _# z" v+ n# H6 d
% K% V8 J! n8 j1 t; K( V8 n7 b5 G5 `* t% O' x! l
0 R% a3 G9 C% z8.4将虚拟文件传输到KVM02上
8 s+ @( y8 {! [/ t$ u2 T: m2 h& T
0 q1 H2 L* ?9 w) c+ H' V# {[root@KVM ~]# scp -rp centos74.xml 10.0.0.102:/data
& k) ~7 {/ A$ b, v& u6 R; Y) Q. [
& B+ a/ M" @$ b6 x$ x/ H( V: H+ U" [9 j4 h! e9 |% u" ^
8.5KVM02主机导入文件
& [( D; f Y- q3 \ j
, a7 M" c1 C; K! w0 i% O[root@KVM02 ~]# virsh define centos74.xml
3 c9 K! B6 ` ^) W& b) x4 D1 e$ Y2 u( A; I9 } }
9 g' v1 {, y. P
' P! A; r1 k+ S% A
8.6启动虚拟机% S+ E1 r7 I" E/ I
7 U5 g7 }" o- G3 Z* |+ ?- ][root@KVM02 ~]# virsh start centos74
# S( S! p* [" `6 M' m
+ r& i M- M( `5 K" n9 b3 S0 V1 w# k: f" @' ]7 y- f
+ G2 G) T2 h; N6 h
9.KVM虚拟机热迁移
0 l$ R7 f9 v1 ^9 o! Y# J# t* Z r3 g5 V* f
Z; l6 k: X i1 l6 l; o+ D! J7 Y: s% `: \/ H6 n* [; C
9.1KVM虚拟机热迁移的核心
2 D! B$ a5 a- C: s0 t7 I( R3 ^0 M8 u
共享存储。这里使用NFS共享存储(详情参考:https://blog.51cto.com/13520761/2087720)
$ b. T0 @9 n6 R
# V$ W6 A7 \5 ^3 d( I8 n9 p- P: p
, C2 G% `9 p% J4 h1 m _& ~$ K" m5 T
, P% d6 c' l2 F8 j) T. R# {9.1安装virt-manager所需桌面及vnc-server
; I' U! _% T) |0 w1 G3 c x& e0 b
5 W/ K( x4 v2 o[root@KVM ~]# yum groupinstall "GNOME Desktop" -y/ A, _6 }( p1 W! E) m% W( b
2 U9 [- Q# V# t) p: Z[root@KVM ~]# yum install -y tigervnc-server 6 J$ P4 k! J5 y8 s1 k9 |# [
% ]7 L- j6 l$ ?[root@KVM ~]# yum install -y opnssh-askpass
2 E, U& B, C& R& `6 m- [! Z+ C5 \' e3 v5 c6 k" i
6 e4 A7 ~( C8 d
9 B2 P3 E9 n& G# I) r) i5 v9.2复制vnc配置文件9 u! @& w/ \0 ?+ F* P! r. _
1 Z: o/ H9 c" Q. J5 t. [* k7 Z1 O
[root@KVM ~]# cp /usr/lib/systemd/system/vncserver@.server /usr/lib/systemd/system/vncserver@\:1.server! G) H4 k7 I* Y0 M2 g" J
) q2 p+ _) p* d2 m, S8 X( e
3 ~ s9 m- k) Y$ G, I) B) B
( H% e! |6 W1 |4 Q5 W9.3修改配置文件& S1 O1 L3 s$ q- J4 i' u3 q
9 _- ]& u4 \- r5 A
[root@KVM ~]#
) C( | c4 R6 G& }, V+ n, a, m
1 |' d6 {3 t7 m+ p* D1 m" pegrep -v "^#|^$" /usr/lib/systemd/system/vncserver@\:1.service
: i; [/ |" \( k: `4 l" \
8 I3 @ V# {- D) j- J# S+ I[Unit]
( {$ z6 y! b! m* e5 n7 K
; k; v2 a0 P* LDescription=Remote desktop service (VNC)# c( N& l" Z6 T7 H7 x# z# R
! x0 S9 }! ?9 s1 pAfter=syslog.target network.target3 S/ d0 L' t+ G: p/ d
& @+ Q4 i$ c# D: ]& d, U; ][Service]
1 { Y" G% Q# y, P4 e9 m( L9 ]% {, O
Type=forking& y- T5 g4 ?' u0 ]
' @6 |; o7 @# ~- c4 e
User=root4 |% ?9 n2 e6 u
0 l/ |! M4 ^* F: Y6 ~7 j1 n2 m& ~4 w
ExecStartPre=-/usr/bin/vncserver -kill %i# N q9 e9 z) H2 O# y8 i( F6 ?
& l2 P) g% k4 }7 Y( M+ r& QExecStart=/usr/bin/vncserver %i( |( _' @: ^7 z, W
" J4 Y: W) ~' @2 Y" c! F2 I; K2 S
PIDFile=/root/.vnc/%H%i.pid1 c1 K/ T6 x3 E t$ i8 c
$ D0 z5 A( p i, t& g6 G9 e9 G
ExecStop=-/usr/bin/vncserver -kill %i1 u/ k6 ^* \: m4 [ E5 p; i
" {( B. @6 l0 ~3 b" S[Install]
- X0 T/ ~* t- C3 N4 S
X$ F C* a8 V. ?/ mWantedBy=multi-user.target3 n/ b4 V$ |4 v# `8 `" t( ~+ @6 }
0 m3 r5 q+ K, h: h S& _( M! {
6 q F, Y' J( o' R- L5 r
9 i3 B9 O1 L P: u3 V9.4设置vnc连接时的密码0 R7 h4 {- B& j- e+ @* {) T2 Z7 t) C
, i+ O9 @% {0 W _% @9 k
[root@KVM ~]# vncpasswd
! @0 F; p7 H* }6 A
, s$ T! W" o3 z2 O6 \! l4 X" e. @* a Y1 p
6 a: V; I6 }+ k" G1 f) i9.5启动vnc服务8 O( C7 o3 A* a: R) D) o+ Y
- r; @4 p% ~1 S3 e% b[root@KVM ~]# systemctl start vncserver@\:1.services. x. F$ D( D$ K6 h) |' w
# s0 c' @. G; z/ E1 {) D |
|