|
|
楼主 |
发表于 2020-1-18 16:39:13
|
显示全部楼层
NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。
, X. T& K" w2 o4 S: Z* Q( B' N) J! V" Q9 U
热迁移条件:& |# C) r6 W* ]: ]: p/ @
. J9 L' R. }# L: o' f
1.计算节点之间可以通过主机名互相访问
" ~ ]. X" c1 E; x O {: A/ I2 k8 _3 K8 z2 w% i6 K7 z
2.计算节点和控制节点的nova uid和gid保持一致 e* D" j4 S5 g0 V3 O h, Z
1 ^ o: O2 d; M d' A
3.vncserver_proxyclient_address和vncserver_listen 监听的是本地IP
1 h+ Z' d; w4 `! t+ y! C4 ^$ \
3 } k" y6 _3 ?8 M- m+ k( @' O4.必须有共享存储,实例存放在共享存储中,且每个计算节点都可以访问共享存储。否则只能使用块迁移- ^% S& s& | l) R6 J7 j
% Y8 e4 u- b$ F) c1 m C( P5 H
添加live_migration_flag
3 a; p/ A5 W" G& _0 \; M; k
# ?$ }- p8 a& z9 j. ]0 K" I修改nova的配置文件,在[libvirt] 段下 添加如下字段4 h2 l. j4 v2 t6 E
0 ] a5 m; J# Q; j/ m% Y
live_migration_flag="VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_DEST,VIR_MIGRATE_TUNNELLED"
; T l8 i' w/ H2 |$ K' P* B$ {/ X8 J) u- Z/ h3 s; E P
修改libvirt配置. X7 v% {% w* t* T- }
! n* O, F/ J0 |$ z$ L, f6 Z: w配置versh免密码连接,修改/etc/libvirt/libvirtd.conf
- R9 [. k5 ?1 S8 ?
7 a' w. G+ Q; j4 Q2 G添加如下配置# |3 z- M5 Z t2 o* F. C% Q" s
( o: |$ `% k/ {+ H" W
listen_tls = 00 F3 G! e4 S0 b3 P
4 i# Z9 w' w( o9 x9 `7 M% jlisten_tcp = 1
; @; j, _* O' @
' I: B4 T: K+ vtcp_port = "16509"7 L5 a- ^1 d) ~; }' W* X
7 f# g, [2 J! v" d& Tlisten_addr = "172.16.201.8" #根据自己的计算节点IP改写
3 }7 h4 H' I/ L5 M7 q% \- R2 f( ?: @" a# ]: X2 I* a w
auth_tcp = "none"5 M5 G. F0 c u
" o: Y4 P( x8 b+ P
修改/etc/sysconfig/libvirtd 添加如下参数
* X4 c) i- R& p+ P; R
% w8 t! x, ] c' r3 Y: ^$ yLIBVIRTD_CONFIG=/etc/libvirt/libvirtd.conf
7 K+ ?$ B M) R) @
( c& i% _8 y5 S y, o( D1 oLIBVIRTD_ARGS="--listen"' T) R/ k2 I1 O; H, r Y
1 y' k! M1 M1 q$ v* I, b: l" D
重启libvirt
1 E' F" Y0 j: S% d
. o9 Q; ]. y K3 U; g: Wsystemctl restart libvirtd.service# {$ S' C4 e7 Y( {- A6 D% Y
8 v0 ]$ Q, T2 _" z8 N查看监听端口:: z6 [/ o7 e+ x% I
5 a# C3 ]" Q' V4 f; \8 m[root@compute1 ~]# netstat -lnpt | grep libvirtd4 E2 W3 O* _4 F! v H, n* s4 v
1 H4 C$ z7 [! _0 rtcp 0 0 172.16.206.6:16509 0.0.0.0:* LISTEN 9852/libvirtd
; F. M% W( ^9 L" h* z/ L3 [& D, T2 w3 e4 @; O& m. o3 Y, e
测试:
0 Y* S4 v4 A$ @$ W: U: x& x) J2 L. h$ a& E
在compute1节点上:
& b/ _: l" C6 W" d+ g$ M9 ?) o0 e' N/ X3 o+ `$ l
virsh -c qemu+tcp://compute2/system8 }" ?: U- F4 U9 p. ?5 c
' |+ r+ M1 \7 m在compute2节点上
+ s+ I7 l1 N0 x' C! i2 t# T
: p3 }: Y/ B' r" N8 V( ]" fvirsh -c qemu+tcp://compute1/system
$ Q' Y, ^4 r7 @0 [. @- i0 @& ^0 m4 L k/ a
如果能无密码连接上去,表示配置没问题- Y2 z1 M9 g b% T1 Z4 w
# W. I1 p& ?5 w& Q! a4 p
查看所有实例% x# ^6 G3 m. d6 [- G
nova list8 B7 Z& M6 [' _: G' [! L }) a
2 r6 J7 s' f8 G4 ?- R. N4 `查看需要迁移虚拟机实例8 }3 u/ [& v& z. a; f9 e5 v2 [7 @
nova show f3d749ba-98e1-4624-9782-6da729ad164c
) E1 x2 `+ Y* D1 ^+ G6 ?# t
, A$ I# E9 m, C+ @ w7 j; U3 ~: w查看可用的计算节点
5 q8 S" R" `! W5 x! Rnova-manage service list( Q V3 [: b) s7 W% E
查看目标节点资源
+ h) ~4 l+ h+ {+ Snova-manage service describe_resource computer1
' \7 b* ]) ?6 z% G! @开始迁移,正常无任何回显' ^6 }+ g; \& f8 \
nova live-migration 8da00f69-05f6-4425-9a8a-df56b79a474f computer1
; w8 o8 Y8 z5 @6 _0 A+ O) a8 C( f: c' F( x4 E- s# k; L
也可以通过dashboard 节点迁移
& k' l4 Z1 g Z用节点迁移需要使用admin管理员用户执1 C j. h2 j! ], \# f! j
冷迁移配置
- |) S8 Y8 z* j8 U/ t, L5 ^- P4 p/ z冷迁移需要启动nova账户,并配置ssh 免密码认证
' r: a4 J; s2 h$ A5 V
* z- W3 m$ Y! Xusermod -s /bin/bash nova
1 G$ a% m% _ _8 y4 R+ u
8 k2 o! G, h% G1 I( Asu - nova
2 y" N) ^4 [3 T" k4 r2 W# C
1 a: T9 @$ m' t! A. q) w- U9 r$ rssh-keygen -t rsa
7 b, h" {) G: N6 Y! }
l6 ]1 L7 ^6 p8 w: c! n' t. q#生成密钥
2 p* t* Y3 g: J/ U: |, ^- ?, e) ]4 M2 |$ y! K( l# u
cp -fa id_rsa.pub authorized_keys" k& ]" j- @' d0 d3 K0 z1 t1 F; l' u
' I) o4 V. I8 X {将密钥复制到所有计算节点的/var/lib/nova/.ssh下,并设置权限为nova用户
" r' R0 M( [7 d1 ~) _% M+ ]' N8 S( j2 M a8 L! Y2 x$ P
编辑/etc/nova/nova.conf的配置文件,修改下面参数, |9 Z; r8 p+ \0 o5 V0 G. }
5 ?0 x- h. ?! C9 n9 S$ Iallow_resize_to_same_host=True. G( y, P8 {# y& S `; b
1 \5 A3 J5 m. ?. cscheduler_default_filters=RetryFilter,AvailabilityZoneFilter,RamFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter
# B; C& i% R4 h4 f$ r2 @# x7 Z
, C; R# A: I8 Q在计算节点重启nova服务5 r3 w: O! H0 L$ O* u
- g& h1 \- u9 t6 ksystemctl restart openstack-nova-compute
' m/ M: e- _& Z6 M
" j& F! R! a7 R% o在controller节点重启nova 相关服务" h! U, t% W0 M7 h
: I7 w0 Q/ r" j$ Usystemctl restart openstack-nova-api.service openstack-nova-scheduler.service |
|