|
|
楼主 |
发表于 2019-11-19 14:27:55
|
显示全部楼层
4.KVM的相关命令
: y! ?7 X+ ^8 ^5 f. W; d
. Y+ ~" O, m( x# g V' U- j, G+ [5 x
* r9 |& J& \" v4.1退出虚拟机
R( y. f1 p9 l% c, h5 w2 S3 H: \& N4 y+ }! W# A) E, y+ q
ctrl + ]# ^ S$ G, J7 f: Q7 F& Q% {0 f) J
- W" u. ^# M: p. i& m! r! s
: X6 _7 ]% w: J( W
. P% c- |% A! ]. b2 b/ x
4.2进入虚拟机
5 ^ g$ \. D; B4 A& D8 P6 u/ g6 n& ^
4 k& n+ H% [9 e- S8 f2 _& U* W, Yvirsh console centos74
4 T% ?7 M' B" |" z) F* I) [4 Y! T& e/ {: ]1 |
: F' z6 A1 F% ?- ~. J: n
6 a; t8 t% k* D) V4.3查看虚拟机的及状态
3 a$ s/ n4 f& ~; W$ R; _$ u4 f
$ W* P) W7 g. S5 a* Dvirsh list5 I: J% [! t0 `2 u6 j/ S
5 B6 q" |+ H1 t- M: d b# w
virsh list --all/ F c0 F/ c/ @" z" K% }
4 Q4 t+ I2 N4 y- L% u( e- l( B* y" v& B$ j
. D$ B; q2 ]7 ]0 P. ~5 J4.4启动虚拟机
% E0 O1 `, W" A. w4 |. G' `- B" ^: I4 A2 w* p- I
virsh start centos74
/ I7 r* W1 p4 k% B2 n- Z7 A9 S
5 k. T9 @% }3 X( c
# y" {% }" N9 T4 a! [. v+ ^5 y# y3 y
4.5关闭虚拟机
% m, Q6 a/ f; |5 B2 V3 }' d/ j" E# |4 H5 g
virsh shutdown centos74
, ?4 d' v: ]& m! S- w2 e" l; B, j. R8 P* \/ @9 j% l
i; d- B3 C( `6 V4 {
4 n) v. i% ~) k" d/ U
4.6强制关闭虚拟机% k3 H/ B; G% S( B! @/ Q& v5 a
7 C# q1 ]4 y: q) P& s2 e4 ovirsh destroy centos749 j* f# I' G- ]. A+ {! M& v
& ^% z' N. C7 K2 c/ ?+ ~
! O8 K* z( j6 n, A5 |, I9 F& G- c6 n6 O6 p& r$ [
4.7删除虚拟机: k' ]' {- M+ q+ S& x( S
$ v1 a3 t" W* Pvirsh shutdown centos74 Q* O5 U$ Q, F, j8 t
7 ~9 N. C6 e& N
virsh undefine centos74
# H' I; d! w$ | T! q0 {
) ?- d) {: `% q" o. n7 z3 \
* B. G3 u' `8 T+ M: q4 a
! U" H( k4 G: r) W9 m5.磁盘管理' A/ O+ E! _3 y7 K# w' U
- ^+ a% O, `1 C0 E% X4 R7 H& A) K; i! C5 W4 t! s- l
$ [+ G, p. ?, V* W1 n4 ^' f
5.1查看当前虚拟机硬盘信息/ t: y" K, z) J
: H+ }! A! x+ u& D$ Q
[root@KVM ~]# qemu-img info /var/linux/images/centos74.img 9 f$ L9 ?2 R% H3 E
H* p# b$ l1 c0 w/ uimage: /var/linux/images/centos74.img1 m# |7 T2 Q: E3 i( v- N2 r
. o: T0 k7 U. [ r \- c9 @
file format: qcow2/ Q z9 e* G, x, m
* E/ |# A2 S( h1 V* ]! q4 p: S6 B5 _: cvirtual size: 20G (21474836480 bytes)+ R: i' k: m& b& k
' o7 \( h [' r1 `
disk size: 1.2G
6 G5 `( E2 e9 Q, O# c
3 l' S& c* N. j; `0 zcluster_size: 65536- ?8 F E7 _8 w# }$ N6 d. j
! _% q N5 p' W# C0 o
Format specific information:5 [ E+ R$ A1 M7 E; q, a
/ i, O( u1 M9 Y1 B$ c/ Z2 ^7 V& B0 e/ p
compat: 1.1
. a' f0 \5 B$ K8 J( P# S+ z. q1 v, C9 [, A# | g
lazy refcounts: false
* i6 Z8 ?1 \- ^
5 ^/ e( X! r" ^, r refcount bits: 16
* d( J0 r: f0 ^& S& w; w& \! ~- X" }3 g, v8 G- o( O! |( ~
corrupt: false. j/ x% @7 a" D N) w
! \7 B- @$ Y8 z7 ]* E
! h3 c v* k" ^% h: Z1 g
" A* g4 `& \; I6 s5.2转换磁盘格式(qcow2转换为raw)
/ U8 s+ x4 L- [0 _/ X$ U n/ b% C( ]4 y8 G6 c
[root@KVM ~]# qemu-img convert -f qcow2 -O raw /var/linux/images/centos74.img /var/linux/images/centos74.img 6 ^0 m. n7 u5 D+ k0 X" M9 c8 B9 ]
+ z4 n1 c* v9 R$ |
1 N+ @) k! e0 {7 k$ F& q8 W& I
& w s X5 O8 w' c% \; D5 S5.3KVM虚拟机添加硬盘
' k' l+ L0 ^( }) O
4 R: S. x; d" Q% w* ~) z j) N) C; d) U( ~! E
9 t) O4 O, m9 x2 `5.3.1创建一块新的硬盘3 S5 n" U D& M8 s
1 N& d: ?1 R/ m! t: q' }; E, J1 ?
[root@KVM ~]# qemu-img create -f qcow2 /var/linux/images/centos74-add.qcow2 2G
; a2 i2 Q6 g$ k/ a) d. q3 B9 E6 C w6 h% x! r& Q" ]' [1 I
2 ]' I/ e' ?, l7 f7 h
0 ~! F! e& P" g# I b2 A/ Z3 i
5.3.2查看创建的硬盘信息
* _. }* U9 x3 y8 q, p# d! |; z8 s; T* `; ]) t
[root@KVM ~]# qemu-img info /var/linux/images/centos74-add.qcow2 r; o/ e9 s9 c) H
9 {- e" G9 i, Y2 D
image: /var/linux/images/centos74-add.qcow2
9 R& U- e1 S% e8 y, D: J8 `: q# Q, b, ^; l% |
file format: qcow2
0 l" v. _$ m. l5 P" b0 g5 b+ v+ U; @$ P5 J
virtual size: 2.0G (2147483648 bytes)9 s$ b/ P3 ^, B% O7 n0 A! Z9 [
# M, m3 q; G! s' C1 @; K
disk size: 196K
7 K3 K7 } d! U: t% |% T5 ^# @5 q, l- r3 K8 C
cluster_size: 655366 F: }* _" e3 ^. k2 h
7 A2 n; ]+ i" ]4 W7 F
Format specific information:* O: o4 X: e+ b( n$ w! H9 Y
9 @; h/ I: }3 M/ E6 h compat: 1.1
r" W8 C: f# J. Z* r' v3 Q. U' p" e3 ^- C7 j
lazy refcounts: false
' v; \7 L9 t q0 p9 r2 I6 E5 \$ g' A: @6 R2 P/ M
refcount bits: 16
- C( V' K2 z% ^( S- j
5 S% H5 Q' f/ D3 l9 ], p4 R& l corrupt: false
$ J1 z* k5 U. t
- C6 z1 [- `) F
( o$ ?, G* i# B% m# l7 i; X6 m; A: }% q# k. Y4 x
5.3.3为虚拟机添加硬盘' R. l9 D; A6 ^! v$ z, |7 z( I
% B8 R6 S& q3 h' q, S, p[root@KVM ~]# virsh attach-disk centos74 /var/linux/images/centos74-add.qcow2 vdb --live --cache=none --subdriver=qcow2
/ M5 v5 P% Y! ^' b, p+ A" H1 U. X
Disk attached successfully5 h! ^3 m7 c3 x. d: B9 p
3 L3 U1 D P9 u5 P
8 G0 {1 D" X; m# U0 K2 B; B1 E' r
' ~$ v& K" z! [+ u说明:vdb 第二块硬盘
1 X6 N5 ]# E( y7 B
6 a$ ], @* ~, J, y" {6 r+ H) x+ A --live 热添加& t" t( g2 ~$ O: Q3 l2 d5 @
1 I/ S3 ]3 s5 j0 o% I* d
--sudbriver 驱动类型
8 s1 z) I* n4 {& M; Q" S7 ]4 L2 Y% D, ? ]9 O, K! O
detach-disk 分离磁盘设备
8 J4 d5 d* n3 S
5 u, F* K3 n( @ attach-disk 附加磁盘设备
6 v( L! N8 Z8 \) x5 e: E0 n+ e7 M' n# J. X
. R: s' f2 L& Y2 E# f7 p8 ?0 n2 m0 t
7 S/ Y* O- S0 ~! U v: r
5.4格式化磁盘(在KVM虚拟机中操作)
# ~4 f& ~7 ]! I4 e! w( E
% K: Z7 _: p7 M+ B9 u/ s; S[root@centos74 ~]# mkfs.xfs /dev/vdb
, v* O# U* ], ^8 `' H6 p( @
! K- Y# i1 z4 t" O* P! x& m" S U$ y; O, u. \* `) { t9 o
8 U. {2 G4 O& F% h5 G( Q6 u- j9 L
6.快照管理" |. ?9 z! P: m4 A' j: V; M' ~" o
* S9 l" l8 c [% Y' x Y
+ @" ^1 q1 ~9 u$ n6 W$ j
# B0 O! \+ H4 |( E, A6.1创建快照
P8 B! u& T4 A6 M. }- X
: E( M1 a# r7 k* K/ m[root@KVM ~]# virsh snapshot-create cnetos74! f" t4 P3 @2 B) E
; \- h/ N9 L8 \/ j/ ?
7 x( N) [, O* D# x/ Z6 ? w a" y! H
6.2查看主机快照列表
3 _3 @, ?. z3 ?; L" j8 }/ x p1 y! {$ L$ D6 ~
[root@KVM ~]# virsh snapshot-list centos74
! v: t& p/ ?: x' R1 e3 ~
* N/ a: K5 p: p
8 L9 O( ^9 X, N$ e$ R
( Z5 K% d/ A9 y+ N5 q6.3查看快照信息
6 `/ I' t( @/ H: f1 R. b5 r
; @. q% D2 n! F1 H[root@KVM ~]# virsh snapshot-info centos74 --spanshotname 1516607756
5 w( Z) g7 q( h" d. C* M/ n/ _' B I- e2 C9 [
% z6 }* O& ?5 y2 n0 g
7 o" X8 r6 O: D, O$ _6.4还原快照
* z3 E9 z& I' e; r5 R: r6 i* E# O; Z: i6 Y. h
[root@KVM ~]# virsh snapshot-revert centos74 --spanshotname 1516607756
( U9 G6 K1 H$ V) Z. ]0 A
( x) ^! `0 p3 \
: ]% ^- J, m0 J" K/ N( O* g' T6 ~; k) q" F
6.5删除快照$ O3 f0 G |. w- U+ a2 @& b( j- V
7 a- `$ z7 J5 o[root@KVM ~]# virsh snapshot-delete centos74 --spanshotname 1516607756
& K9 x. O! b: E# S: d1 \) S& V/ F* T5 z
* j* S6 A& R4 d4 @
R: a0 |* ?4 G1 a; X5 A" `" O6 n% c# N
7.KVM虚拟机克隆: p2 r* A# _5 W2 q9 e! G7 q) S
6 ^5 h: {. }3 ?, w3 {[root@KVM ~]# virsh-clone --auto-clone -o centos74
. i# H! G K$ t" ^7 n( S, q
* X1 k+ s# I2 l/ D2 v. @
a$ v9 O. s. ]9 [0 h: W" a- s- |
- y. M! g6 o4 s! n, R$ Q% F* L! G# g& H8.KVM虚拟机冷迁移
$ @, G, O$ A4 r% j, \3 C& u) ~+ n1 F4 Z; O0 k2 c- {
+ L0 I3 b$ P! [; g( K" z |" S
" p/ w! L' h0 M4 M( {8.1在KVM02中安装kvm组件
& `0 W. N+ M% _: X/ C& N2 L
9 n0 Q" n* t1 [/ m0 F[root@KVM02 ~]# yum install -y libvirt* virt-* qemu-kvm*
! [4 j/ |9 @9 J2 H8 H1 J( U
! m2 y f) t' e; f* _3 y7 i0 R! F) ^# l) F% h
) I i: }3 \- v! Z+ E
8.2配置桥接网络
! H: ^& N( [" k6 E0 L0 A, z2 ~. E3 |$ o- T B& d9 a A* G
[root@KVM 02~]# virsh iface-bridge eth0 br0
6 z2 s) ?% F) t- N W' ~% ~) ?5 V5 F' B" S& B! \ r
" g! j `' v1 o
" w5 ~7 r- d, ]/ c8.3KVM主机将虚拟机关闭,导出配置文件; p; ^# ]& X# k7 d
: X( E% P6 Y2 O' O x% z
[root@KVM ~]# virsh shutdown centos74
$ E* k$ \0 {' X) s! H- F
8 ~8 w* Z) \, `- o5 G9 M[root@KVM ~]# virsh dumpxml centos74 > centos74.xml: Q' { X) Y& z% d0 T
8 Q) F# ~! B% k, d- \" I. i
+ g+ z4 @1 ]1 h, Q4 ^ ~' k
' W L: N" j+ p8.4将虚拟文件传输到KVM02上( P/ L0 F( n! `' ^
7 p) @; [& {0 Y) f4 L[root@KVM ~]# scp -rp centos74.xml 10.0.0.102:/data" A: W9 A# w! d8 l
8 v9 F _) O$ Q% `0 L
/ Y! |1 c3 p. K! {2 M
8 @+ b6 }) Z9 w e5 E( U
8.5KVM02主机导入文件
- Q) W0 j9 ?/ t+ a" ~' p
7 D9 v0 d% F# K+ [8 ]$ A[root@KVM02 ~]# virsh define centos74.xml
- \# c% w9 y& {( H0 D, N6 w7 |6 i* a6 l' ?& }% z# e) }4 j% `! Z
$ w. L: z4 ~! x8 a$ [8 S+ r* s \* T. k; V; ?' \6 Q
8.6启动虚拟机& p/ K4 o* h% `; q& Y
3 P. I" U; L8 k, d8 S[root@KVM02 ~]# virsh start centos74
+ C& q% ^7 H2 g- k# b- Y$ Q( Y( ^( q5 K4 K# ^' J( \ j
; m/ I2 U. h& s- n4 J
9 Y1 r% W4 [/ u. Y, r9.KVM虚拟机热迁移/ p1 [ m- X% M0 F; Y6 D- L. R
/ s- n4 q9 T% {4 T+ ^/ |0 J8 n2 s c2 s
+ [! r' j, S( Q% R
9.1KVM虚拟机热迁移的核心, @0 s7 O# v3 G
9 W; y; V& I+ r
共享存储。这里使用NFS共享存储(详情参考:https://blog.51cto.com/13520761/2087720)
. Y( f; z" G6 L4 D0 z) s5 l" b
6 C9 H) g+ P, ] u& D
0 e: B( A7 e, U6 V$ Z( i: e2 b% J) J/ }0 P
9.1安装virt-manager所需桌面及vnc-server
+ _8 V$ I0 q5 s" S' y7 V7 V. V4 f" ?0 c
[root@KVM ~]# yum groupinstall "GNOME Desktop" -y6 {! Z6 o& d# ]& t, f
! P: Y1 S* Z( Y) X4 x[root@KVM ~]# yum install -y tigervnc-server
/ \ w0 H1 `. ?& C7 y* Z6 ^
: V9 G, }9 O7 M" `8 {4 m, l w[root@KVM ~]# yum install -y opnssh-askpass2 \, F3 q& [2 |6 A
+ S$ w( S3 x3 w. z6 A; h
/ }6 F4 V ?; Z8 y; y+ e9 U2 k6 S, q$ r5 v: t6 _& Y9 c1 M7 @
9.2复制vnc配置文件
1 D% f0 L9 q0 V0 g
7 @# s2 F8 _! I[root@KVM ~]# cp /usr/lib/systemd/system/vncserver@.server /usr/lib/systemd/system/vncserver@\:1.server% k+ }5 V7 b9 _0 G$ ?" k
1 H- ]3 k2 ?" k$ M4 y' q' a& z
6 U' I- }( E U5 S
" ~; I* x' e/ U- u6 ?9.3修改配置文件+ K7 f9 [0 ?+ y g& x h, D
2 d8 p3 V) |8 K9 @, \9 U- E
[root@KVM ~]#
1 Q. d' D4 g4 r) [# \0 D
& f9 R. M2 ~" N; X- U( n' Hegrep -v "^#|^$" /usr/lib/systemd/system/vncserver@\:1.service
# N1 g4 K" m. Z* @1 I6 }4 h! N1 j# S; b% o
[Unit]2 x" g. V& e. X
1 T- |+ C. ?( z3 z! R& i
Description=Remote desktop service (VNC)" E) d1 [- z# W6 l
, Z# K0 w/ }, J7 l
After=syslog.target network.target' |! z, E$ L& k" K# Z6 d4 C
, e4 G: R& Y' \[Service]
0 b( E% b& K# N; b
- p$ {* Y: w; |. B0 P- ~Type=forking, h8 ~! o8 c; p3 r
5 D3 g6 s0 e% w/ E5 o+ F% j
User=root
% G$ m# _1 V1 H, }. ^! X" Y9 E! C |' E+ t& w/ m- i
ExecStartPre=-/usr/bin/vncserver -kill %i
$ Y& Y) o; E; G, u/ a8 [
! B1 \; `, H, |' w: cExecStart=/usr/bin/vncserver %i
2 |) P' T5 p- L" a9 x2 N1 t0 ?" A( q3 {5 [' W: h' C
PIDFile=/root/.vnc/%H%i.pid" t' ]) Q+ K6 ]6 u& T' y) X6 t( R
X/ w( q/ B9 @3 B* y1 F" t% jExecStop=-/usr/bin/vncserver -kill %i( Z4 T9 u/ A3 y0 M Q. J9 B
$ ~, |; A& P* H; z( e
[Install]
/ j* x$ y, r& D4 r6 o& x7 ^0 ^5 l: n( u
WantedBy=multi-user.target: y. x. I" V8 i9 \. v6 K: Q
$ h* H1 u$ U X
& h! V6 x# a8 |9 a, O+ P3 ?' \
6 K) U8 }3 k9 K8 S
9.4设置vnc连接时的密码
t* U; q+ _% S8 ]
6 V% P0 Z! f$ H9 B[root@KVM ~]# vncpasswd9 X. \8 D* |8 ^5 ^' T
8 F) W* @8 {" `6 P, y
- z" Y! T( J& `
6 M! ]/ H$ v; A. X% [, i- D9.5启动vnc服务7 I/ ^! F, Y! ?: ?& \# \- v' v0 K$ m
* m+ ?% h. n, q9 `
[root@KVM ~]# systemctl start vncserver@\:1.services' ?3 J& ~3 C0 X. ?! S
& W! U$ N4 k, e, o; Z( {0 J7 U# s |
|