易陆发现互联网技术论坛

 找回密码
 开始注册
查看: 10|回复: 1
收起左侧

openstack evucate疏散虚机命令

[复制链接]
发表于 2025-2-18 09:55:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?开始注册

x
openstack evucate疏散虚机命令  ?( \5 K1 x0 y, a& g

0 c; }& m" L( |- ?0 S; M( c1 L: `1 O+ ~! O* {. M; r
如何使用evacuate,使用evacuate功能可以通过nova命令行工具来实现,管理员可以通过物理机发生宕机时通过命令行执行evacuate操作,指定要evacuate的虚机和目标主机,系统会自动将虚机迁移到目标主机上
8 \: w2 }9 D: Y/ N/ x% l
0 q! I$ u, j( R) c% D例如:
& u1 h! |9 ]! X2 [使用nova 命令进行evacuate
; U: v9 T; p  }& m+ ?5 Q) Mnova evacuate <instance_id>  <hostname>
% A: b+ q7 E9 y7 e. O& D. j3 F( F0 z; P" [
使用openstack 命令& b3 `" v* w! X  |, W) |
openstack server evacuate <instance_id> --target <target_host>5 t, G1 y8 h  o5 V& s5 e) n
4 k' A7 S0 g, m; [
<instance_id>:需要撤离的虚机的uuid ID。
+ C3 [* `/ _9 K2 N/ [8 N. R: c4 w. L- H, j--target <target_host> : 迁移到目标计算节点名。5 y) T$ {# z5 J& U9 v
例如:
6 A" ?. L$ t/ v8 ropenstack server evacuate dde200ld-klsl-sskc-2135   --target compute2% G" H. U# i/ b5 E" _- |

, q5 u' x, u; r, o# q" x" [0 S% j, O/ ^% k% n/ X
自动evacuate功能
; ?! [0 v, ~9 R0 m+ U/ A2 L在手动方式疏散外,Openstack还提供了自动evacuate功能,可以在物理主机宕机时将自动将该主机上的虚机迁移到其他主机上。
6 J; a$ v! c% Z( I配置参数:5 u: h* O% w' T! k& E  }
在nova.conf 配置文件中增加以下参数:! G  @* ~" P' d) W' ?5 y% V+ A
auto_evacuate = True
5 b% y1 b$ j' |. T, H: l6 D7 H* ~) F! g" @. m
 楼主| 发表于 2025-2-18 09:56:52 | 显示全部楼层
Openstack组件间的HA6 Z" p0 h0 P: s
官方提供了2种配置方案主从模式(Active/Passive)和双活(Active/Active)。
4 d# g8 K9 R" q; d' X) m实现(Active/Passive)需要借助于pacemaker来实现自身服务的HA机制 ,(即通过注册成为pacemaker的一个resource,然后将自身的行为交由pacemaker来进行管理),用来提高可靠性。而(Active/Active)模式则是使用了HAproxy来进行负载均衡的管理,用来提高性能。而在实际部署过程中,通常需要将两种模式根据实际业务的情况来进行考量配置。例如,对于访问比较密集的api服务配置为(Active/Active)来实现负载均衡,但是需要用第三方工具来保证服务的可靠。而对数据库等数据重要组件则使用(Active/Passive)来保证数据的高可靠性。
+ m5 M8 M1 ]' Z5 z3 ]' D
: m5 Q7 T0 b: X: b' R3 _Openstack VM的HA
) C6 q0 E& j- N3 N; ^, M# M到目前为止并没有一个完整的使用说明。但是从目前实现的功能来看,Openstack自身已经具备了一些HA的功能。1 j* h* D9 j/ @1 {/ U
1.在nova中提供了Evacuate命令来实现,将VM从失败的Compute节点在目标节点上rebuild。这一功能的实现需要依赖源节点和目标节点间有共享存储。6 @7 s% h, U; f* X% v. Q
2.在VM的HA当中,对于Compute节点是否故障的判断需要非常的精细,目前在Openstack中每个nova-compute服务启动时都会启动一个定时器,定期的将心跳写入到数据库中,这样可以从控制节点方便的知道Compute节点的状态。0 ]' x0 A: G) p4 T$ B

2 f+ Z9 H& P/ \' p* e6 p2 X但是Openstack仅仅拥有这些弄能还不足以完成对VM HA功能的完美支持。* l) x1 z" f# p8 l7 ~  o  ~
1.只是通过nova-compute服务来确定Compute节点的状态时不可靠的,例如仅仅是nova-compute服务失效,或者网络闪断时,也会造成心跳的过期,从而对是否进行HA不能进行准确的判断。因此需要通过其他方式来确保准确获得节点的状态。
% V4 b/ D) o: N  i& T; n2.Openstack没有对VM进行加锁,因此在进行Evacuate命令时,会出现脑裂(同一个disk启动多个VM的情况)。" \. X: j/ i; y: [. H$ v
3.对于需要保护的虚拟机需要提供一个列表,用来表明哪些VM是用来保护的。目前的Evacuate命令会奖失败主机上的所有虚拟机无差别进行rebuild这样的实现也是不太合理的。7 }# G4 N( q/ {+ G

! F) z' f' g2 d" m' C  N3 q
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

北京云银创陇科技有限公司以云计算运维,代码开发

QQ|返回首页|Archiver|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )点击这里给我发消息

GMT+8, 2026-4-8 21:27 , Processed in 0.044697 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

快速回复 返回顶部 返回列表