|
|
楼主 |
发表于 2019-11-19 14:27:55
|
显示全部楼层
4.KVM的相关命令1 a. H: U2 d8 ]7 I3 F8 b
* F; ]+ a- w( E" x
2 t- M0 w; K2 o
4 K9 |/ y" _8 n* j" \: d+ R I) P4.1退出虚拟机7 \7 u7 ?- B7 e8 t* U; S. i) B9 f
( u. b; J, K0 w, U2 |2 W! N, ]0 zctrl + ]
5 v u0 h L8 P1 A p3 ?, @2 H) m* z# m" U g4 i# a
6 Z& `; I. T2 O" s2 s
, v8 I$ m" e$ z5 ~; O% c0 t
4.2进入虚拟机/ y0 k0 }3 @" l" t( u$ `
- q. E: t4 g& L% X' H) _( {6 p
virsh console centos74" s; Q( V- F! ?
; G8 o* }7 \6 [ l! @, j) B4 Y, L* g/ F
2 |4 J# {+ G' P5 z+ w; V$ |$ _
4.3查看虚拟机的及状态& i: p. }! b" Q' V3 y
! V- N( q2 i* C/ _) e- ]
virsh list
: C4 M; s3 S8 L2 [2 Y5 q& u& m. G0 y T0 v+ g. m2 o7 X: l2 E6 m
virsh list --all
9 a/ j9 {5 x: h. d% K% R5 W
9 o$ Q8 _0 X6 ^ |$ [% p, S. d# r# s2 h3 S0 R2 ^1 _
6 v& u3 [# o# ~. ~" d5 o
4.4启动虚拟机
7 T; D$ ~" G: Z( d* O* C1 I: d. A) S9 m& o: e! E" e
virsh start centos74$ c$ k- Q8 m0 l$ p5 Y: C" {3 a; Y
( j3 O7 c8 b& W( [% N# j- I! \ o
* ^! f& b; m7 p2 {. m1 V
4.5关闭虚拟机, V; H- `8 t( k
4 Z9 W# d* j: h$ @" xvirsh shutdown centos74) e6 G3 n5 _4 D& N. O4 [
! H. j6 D6 V: p9 S1 W% G
9 \) e6 p t, H1 |- D, C: R
& h. K c- W- g1 H' v
4.6强制关闭虚拟机
2 O7 s2 [+ Q: h5 L1 Y# \) J
- K: n; |3 I9 R8 ^" z' z. _) ~: Fvirsh destroy centos74
. _& J9 L8 K% w6 h. h# j$ m& B! j6 [5 I/ h3 Q
( Y: t: r2 J6 k7 g2 b: U- s* d' S7 d: @
4 V* [, \7 R7 `4 x, v/ C% {4.7删除虚拟机
& h" z7 z, ^; U7 d3 v9 Z, Q. j
virsh shutdown centos74
" G0 l1 e) z: k- u& W, I1 n( n3 J. r' n$ l# r; D9 r1 [
virsh undefine centos74; ?) m7 P( N, n
0 P1 Z8 ^7 Z4 j6 j1 h. l/ X8 k2 S+ w6 M8 i% f+ I, u) y
! \( d2 M/ B9 c6 \* Y
5.磁盘管理
- s1 t, |" N, K8 x7 E8 Z) ^
9 A, v6 }( Q. A% g! k3 O
2 l; o9 Z" o! m1 m% y4 [+ k# j; f: k0 [: @4 c1 I+ I% O- `
5.1查看当前虚拟机硬盘信息
8 O) S5 |0 v% {9 Y" [+ d8 d4 ?
4 B% S$ [0 b1 ~. [8 G4 r# y3 {[root@KVM ~]# qemu-img info /var/linux/images/centos74.img ) s- a6 v: |( N7 f
. @, o) G/ Q5 n
image: /var/linux/images/centos74.img
7 e1 i1 [% b" m$ P6 ?9 x# P7 G0 ~* W+ u3 d0 D5 M
file format: qcow2
( X4 z" N. K/ ~7 T y+ @8 ?6 [; z
0 K4 E* F2 U0 j8 v* |virtual size: 20G (21474836480 bytes)8 N+ \9 l4 U4 L1 b$ d, H
& u! w6 a: w) F, `7 pdisk size: 1.2G
' J) D- x9 E( v( ]' }, ?' O# a# d: m7 ?" q6 L5 ~
cluster_size: 65536
3 |# o1 F/ Q3 y$ |& X
% q2 b4 B: t. j2 \Format specific information:
, Y( C* r! J0 R' G6 [( q' K
' j: k" C4 o* W9 z+ \3 O compat: 1.1
. ?! t2 t6 c1 B d Z! s; [! ~- M! Z" i
lazy refcounts: false: [$ D# z2 T% n
4 \+ T4 E1 i- \/ U% ?
refcount bits: 16
, [( I/ |* K- p% ?1 |
q/ L9 D1 L0 T corrupt: false! l: i) X3 Y; L
! G: C9 `2 q9 |/ B. g- b8 F5 j: ?* e! z1 F
" T6 C" \8 ^' u1 [" e3 c5.2转换磁盘格式(qcow2转换为raw)1 R0 ~! y% q, a/ e. j) E: \7 f( H
( Z0 f: u- }/ F
[root@KVM ~]# qemu-img convert -f qcow2 -O raw /var/linux/images/centos74.img /var/linux/images/centos74.img
0 K. W; A% M/ ?! c5 M+ t3 M5 N9 b. c9 F
. W. Q; d/ T& G
0 k6 X1 s8 [) s5 u4 q3 B! d5.3KVM虚拟机添加硬盘; `& y F4 H6 E* B0 ?0 r" P
! @* N, P* B9 _# S7 R6 A2 x7 D2 l' }: V2 {* H d2 i. ^
( i7 T/ l# W6 I* O$ T/ g% v
5.3.1创建一块新的硬盘
( Q# X1 S& v3 Z5 b6 v% K+ v/ V# \6 u k" X) M; n! `! X: F
[root@KVM ~]# qemu-img create -f qcow2 /var/linux/images/centos74-add.qcow2 2G
1 S; n1 T O5 T3 u. u
8 M) P* J$ c: ?* k$ J" v' v- L' a3 y; a9 U# X/ s
7 h8 z8 P+ H5 A: e ]$ M# f
5.3.2查看创建的硬盘信息
# X# a, G j" A( a5 o: v! f+ Y: b
[root@KVM ~]# qemu-img info /var/linux/images/centos74-add.qcow2
2 p+ L* n5 l* A R& s1 v6 o" `8 F0 j) {1 _
image: /var/linux/images/centos74-add.qcow2
2 K: A; M$ v3 F) i
4 V, R9 H. Q" c3 Ofile format: qcow2
7 t9 m. M3 {. m f2 ^
. G- P8 A! v4 t5 U+ evirtual size: 2.0G (2147483648 bytes). _4 n$ E9 y0 h! Z
8 k6 O! U+ n' i8 E2 \, p* |
disk size: 196K
2 d4 @7 o. s4 i& _0 E/ I7 s( R$ |5 `, E
cluster_size: 65536
# V. T- s+ Q, z, [. H" e3 Z+ N1 \; |* Z: u+ x
Format specific information:
2 H: I/ j, g, ^/ N1 w, ?7 h0 C; k! j
0 i# I5 A @, L) E" q compat: 1.1- m' A* H5 p8 T2 D& f$ x
* A. F: D7 N: l, m( A
lazy refcounts: false
0 i5 Y. B b0 E9 y) e+ D+ X) z+ c( y) Q7 x9 g% h
refcount bits: 16
$ v* L: g i* `8 L! H$ k- {& D! r- L+ i# e* ~* L% u
corrupt: false
0 w, n9 c3 \, ]$ `+ T! V
8 |* o, u& u9 a7 Z. s# {& S, b' f/ T# x) ?/ z
5 d" }1 G/ z+ s. Q. x5 v0 v5.3.3为虚拟机添加硬盘0 H) J! x- R2 W \
$ N& O! P/ ?' E# t$ \8 \[root@KVM ~]# virsh attach-disk centos74 /var/linux/images/centos74-add.qcow2 vdb --live --cache=none --subdriver=qcow2
- x5 k Q+ b( |% L& v
* W. z7 l- s' w* t4 S KDisk attached successfully1 y" ]6 E, [( Y/ J6 q
* s7 S) l9 P* N5 R' p% j8 _& S9 L
r6 L; [ B4 Y' N" ~) ?# p
7 I- E; ]* N" x7 ]' w2 G4 N说明:vdb 第二块硬盘
$ w5 w/ \; t J- M F' p2 q- v" _/ a- {2 ?' S+ @1 u
--live 热添加
9 x( v* n" A+ E, U& M) b" W! o
]) _- c$ I) [ --sudbriver 驱动类型
+ W+ E1 h# L- U8 {& v4 `6 g' f
detach-disk 分离磁盘设备( r* y' P6 e4 i0 A* ] D) q
9 j: J$ H2 b4 b3 r: z# U
attach-disk 附加磁盘设备8 a v# s5 P. A3 _* B
/ a" [. F: G+ O ]2 g4 e# | G# s
5 s! D1 M! m1 ? s3 }7 b, `1 y; v( X' d! m
5.4格式化磁盘(在KVM虚拟机中操作)) M/ R4 H8 n/ d1 Z$ O5 l
# w; I1 S1 |8 Z& l0 Z[root@centos74 ~]# mkfs.xfs /dev/vdb$ g, C% S- L/ T1 g' X" `
- i7 J* V7 i" _; s s7 d+ ~! K* b5 w9 T: N; X4 C5 s) t% ^, A
+ @, ~" {- m( [/ ?6.快照管理. {/ Z1 f, n( ~2 V: V
" x! r1 G: ~& m& k2 ?. V1 U8 b- @, E5 F6 U# k
! r. \! X# f% c8 d6.1创建快照
9 X. E( \+ A" J. x6 C0 [+ I
- K, N0 k- D. g* x- O[root@KVM ~]# virsh snapshot-create cnetos74' P; d. _6 s7 _4 p6 P* h
) C) k6 N& N% j+ e s0 Y" J8 X
. A3 w: D4 u0 o9 [0 |; }$ s5 G& m/ }3 I2 Y: I; I, O7 k) S9 F
6.2查看主机快照列表& O# L8 X. c6 |9 d+ y# x7 L
) q' \6 O/ z; g2 x: h6 w[root@KVM ~]# virsh snapshot-list centos74
/ R8 _* @( G& f @% X; z
6 ]% @. b$ u$ |- l9 q0 a0 w: w; U) a) V* b5 t! h8 S
( w2 B' c$ i* o
6.3查看快照信息2 o6 g; F. f2 Y* K& Z
7 M, P# p' h# n' Q# c' Z
[root@KVM ~]# virsh snapshot-info centos74 --spanshotname 1516607756
: H& {! w- L2 v% G" x0 w, i6 |7 L0 U0 R# ~* m/ K* ]
. m @5 H& N) N. B% q i3 m5 Q' `9 @2 K' C
6.4还原快照, g& m# W4 {9 |: D/ C9 |2 Y7 [
( d# \/ v6 _5 P. |. G[root@KVM ~]# virsh snapshot-revert centos74 --spanshotname 15166077569 y: m1 T+ G# S
4 j" ^9 Z$ F5 ^1 L, ~ j$ u. {
5 x( k! @0 t" K8 u7 a! t0 }2 R% a
% E+ X; r6 @) _4 ^6.5删除快照2 {7 T3 r8 d/ B! G S4 H
1 G* N) T2 [' F2 o& i[root@KVM ~]# virsh snapshot-delete centos74 --spanshotname 1516607756
3 e) [0 W- d& O L: N3 j* H# b( o1 E# B# P0 k/ s. C
- R& `* Z P+ s: S/ ^1 s4 r! r! [! k
7.KVM虚拟机克隆; `# F/ S6 R; C& [1 `
2 Y1 }% J+ \* E: c1 }1 a[root@KVM ~]# virsh-clone --auto-clone -o centos74
$ r1 J2 U) o5 d9 b. F. S; g' P8 e; Y7 u
( T( f7 ^* [' I1 ?
c- U7 H+ {$ A* k8.KVM虚拟机冷迁移6 z2 u% }( n% Y$ ~3 q; l% a% g
! t+ V9 i' B# T7 M( D! w% z7 m: j
+ a; B B' n1 v& Z6 g
, t0 B' X) m8 d+ z: R: f1 ^3 v6 r8.1在KVM02中安装kvm组件0 ~1 [, D9 e! W
# O# _0 Y& h1 T- C) W# Y& v
[root@KVM02 ~]# yum install -y libvirt* virt-* qemu-kvm*
$ {9 d9 E$ M+ n! e- J4 c
# [; p' g( n$ G" F3 i4 W8 l8 ]3 V$ S0 R7 a3 I% {/ j: F% k
, A, \+ P$ |9 m/ [8.2配置桥接网络
1 [0 A& ^4 s; s- m5 p: W& P$ S5 F3 T: t7 \5 W, h6 d
[root@KVM 02~]# virsh iface-bridge eth0 br0! ^; D0 Z' v/ a; h' _( ~/ u0 d
6 y# d9 E G) I' N
$ V+ r' G# l' s" }: D, i
# g6 F7 d% Y/ T' p* {" ~+ n, U
8.3KVM主机将虚拟机关闭,导出配置文件/ W( y. U- a, N$ F
3 w N1 P: z8 Z7 ~' X& H2 ]
[root@KVM ~]# virsh shutdown centos74
9 @# W5 h6 C" I9 R& `, N' n
. S" W8 d* d: V1 Z; D6 k) h[root@KVM ~]# virsh dumpxml centos74 > centos74.xml
* h" a% F/ X% D8 `4 T8 F1 t# I. C) O, i% W3 a- m
0 n) J7 T9 x) s! V* U) g& D6 x+ ]% {, c3 M# G: m1 U! i. b; S& }
8.4将虚拟文件传输到KVM02上! Q2 u- q. M( B m) M {# \
: I" i6 K! j; f5 E! P- `
[root@KVM ~]# scp -rp centos74.xml 10.0.0.102:/data
9 D& B5 |" e: V5 |' B0 C0 W1 b8 h9 r! M5 h2 y+ M6 L3 G6 y: G
1 N9 E. b2 D4 H) w' z: Z9 _0 c ]. j+ ^, E
8.5KVM02主机导入文件) Q# D# q# P/ V% N( c1 r* K
, O, a# |1 k3 w% l d
[root@KVM02 ~]# virsh define centos74.xml d# V" K7 H- R: V" H% v6 a1 g: j
5 c9 y; a0 }$ P+ }& C) C& w" I) H( @' [$ T
, W+ j! G2 ^+ r- P8.6启动虚拟机+ ]. i: N p; t: c7 b% {# C* x
9 @+ e9 [4 @; {: \
[root@KVM02 ~]# virsh start centos74- B- H |3 v) z1 D
( D$ Y% A+ @8 J: _* I9 u. \: }' n+ l: @' N+ r* F1 J
! N( ~* e/ P' R3 a: V- q: V/ b9.KVM虚拟机热迁移
( h* o) D+ c, k1 ^2 l% D
- R1 C2 N' I& o5 t* _+ A2 C3 b4 q( C- a: H v
4 Z8 G/ L6 X$ v; Y) J9 f6 y# p
9.1KVM虚拟机热迁移的核心
( C1 O" C) f( [: ~9 _1 {, [
- b' K- j! x% N- O5 k( p- j* H 共享存储。这里使用NFS共享存储(详情参考:https://blog.51cto.com/13520761/2087720)
/ _$ D! D% K* g! {- P6 E6 Y+ y5 o, S4 ]8 B5 o+ B% l
1 O* m V* _/ U$ a$ I! t% r
+ w' j- [0 |& d6 s7 ]* M9 |, P, Z
9.1安装virt-manager所需桌面及vnc-server
; f0 h7 {! l" _$ ?; }* J) b$ _& _: v4 g4 d3 _ u' F( D
[root@KVM ~]# yum groupinstall "GNOME Desktop" -y4 I, E1 K. P: r( G2 B. x' s7 e
+ M9 }- _1 m5 a/ h; I[root@KVM ~]# yum install -y tigervnc-server
4 Z; V' i3 A$ L Z4 {6 j3 N8 f$ ^8 q' Y0 W* h) i! M/ A: H% v, ?
[root@KVM ~]# yum install -y opnssh-askpass0 L. n/ F3 \5 X o; W j
' W1 @& |3 `9 S! P J! E' T7 n' d1 K
) j& N- B& z2 F4 C. T% o/ E* t- W' K/ ^- r
9.2复制vnc配置文件& }' \3 a' i# L; p( r v" Z9 ^
- u5 W* D, L3 h0 s, K6 h[root@KVM ~]# cp /usr/lib/systemd/system/vncserver@.server /usr/lib/systemd/system/vncserver@\:1.server4 D0 N, |' j/ {
( A, P. S8 g1 M* b( C+ F, T8 n7 k" a- E
8 E) m* w. L5 L8 Q. `4 E& d$ d$ n
9.3修改配置文件2 K5 m) P6 W: S2 N5 k3 M V- ]
. C. O3 Y! V& O( m[root@KVM ~]# 1 y' p4 W' w% V% D5 i
0 |9 o4 e5 U. c4 P. iegrep -v "^#|^$" /usr/lib/systemd/system/vncserver@\:1.service+ M3 }9 s3 a: ~& \' D3 s
5 Q$ w" e' w1 f2 s[Unit]: @0 Y9 b9 _4 R5 |# G
" a6 h: v8 d# c0 t6 @8 W# @2 cDescription=Remote desktop service (VNC). C. z/ R2 ]1 @ H2 q6 w! Z, a# o
9 m" H/ C( S9 K* N3 aAfter=syslog.target network.target
- |" b: H3 |6 a# [* N/ _5 [; ?# v7 T3 U M) W) f7 p/ p
[Service]' l* X; {# Z* d
, R" N4 `& ?3 H3 `9 s* s; G. f3 a
Type=forking
$ {3 }- Z' l) E1 e% ?
2 v/ H0 Q1 V8 z# XUser=root$ W' `% y# }8 s' g8 a
R& Q2 v+ u+ o( X; \. p
ExecStartPre=-/usr/bin/vncserver -kill %i7 i3 f8 m& `8 \% r7 ~4 g" Z1 w
5 ^# h" C4 Y% D6 w
ExecStart=/usr/bin/vncserver %i: H( k; }. d( b2 r) i
, t9 P, s r; d* X# r) @
PIDFile=/root/.vnc/%H%i.pid
6 ~; G) R+ V- y& J5 \5 g/ Z- r
; Y. b7 ^# F5 ]" Z9 W$ ^) x+ nExecStop=-/usr/bin/vncserver -kill %i# w" `5 [# b: T
, @4 z4 a6 T+ m0 ^) {1 Y[Install]8 {( `! l/ d: G
4 _* I9 ?+ g% ]" ~: T; IWantedBy=multi-user.target
) f1 R7 [" Q; h/ F5 w( b! A \8 w/ J) a# l2 H; h2 h! M
! u7 P; _- Z1 [: n( A' Y2 l1 l7 ~1 l1 [- V
9.4设置vnc连接时的密码
5 v6 G- F9 b- t' n& P A: D
% @; S6 ?/ d! g& N0 K[root@KVM ~]# vncpasswd& F" s$ ?7 |: g# p1 y1 B, y; T9 g
3 L" q6 _6 V2 r& z: a" x% S
# I2 T3 y6 y/ W1 E/ J5 S
% O, M, i( w) O4 q9.5启动vnc服务
3 l! `- A6 P. y2 ]8 t- V& K, N
- G7 c1 q5 B G `7 F[root@KVM ~]# systemctl start vncserver@\:1.services
# T/ C5 c( G- R+ S) E# E) \# V# ~2 f, T- T3 [1 `
|
|