找回密码
 注册
查看: 16|回复: 1

openstack evucate疏散虚机命令

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2025-2-18 09:55:33 | 显示全部楼层 |阅读模式
openstack evucate疏散虚机命令  o; v# e) z! F& {
' k4 b0 k6 ^7 w
6 N6 b  S' z5 v. Y6 F
如何使用evacuate,使用evacuate功能可以通过nova命令行工具来实现,管理员可以通过物理机发生宕机时通过命令行执行evacuate操作,指定要evacuate的虚机和目标主机,系统会自动将虚机迁移到目标主机上
+ G* V: M6 M. E7 i6 _3 Y1 ]6 G3 I
. q, Y& [/ C( g0 j例如:1 s6 q+ ?0 ]7 W3 k% X6 E% L
使用nova 命令进行evacuate
0 ^3 {# ]0 W' z- p* I6 ]nova evacuate <instance_id>  <hostname>
( N" Y' d1 }, s8 i# `- j. a! B1 h: D; _8 C5 m
使用openstack 命令8 l  C: t# N; E1 N8 e3 d5 R
openstack server evacuate <instance_id> --target <target_host>
  c" Y; [0 m7 [0 t& b2 i0 y: m. I4 `* t( K) W0 ]5 W# u) v
<instance_id>:需要撤离的虚机的uuid ID。: h: I% s) D* ~! M, Z3 @7 {
--target <target_host> : 迁移到目标计算节点名。  I5 i) V: ~0 ^3 _# l6 k: `  V
例如:. L/ Q* D+ ^$ S  v& {) u
openstack server evacuate dde200ld-klsl-sskc-2135   --target compute2
+ E+ m% S% L1 q9 H6 H: E2 V8 C' e
' t; g5 ^8 |: J" Q6 |4 @$ |3 B3 F+ F. F6 N" f3 X0 @$ @5 p
自动evacuate功能
5 C2 c6 o% d. Y8 H1 N( r在手动方式疏散外,Openstack还提供了自动evacuate功能,可以在物理主机宕机时将自动将该主机上的虚机迁移到其他主机上。
( C% r% h6 N; F, I9 c: E& c! W配置参数:
3 k+ P  ~  ?, Y& r在nova.conf 配置文件中增加以下参数:" y* a  R; V3 y2 L* m+ }
auto_evacuate = True% C4 F  g4 z& e& y1 F7 \1 @( q5 D
" C% Q6 F! a" J% ]/ H/ t2 V, N( S

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2025-2-18 09:56:52 | 显示全部楼层
Openstack组件间的HA, b0 {  O1 V) E6 J
官方提供了2种配置方案主从模式(Active/Passive)和双活(Active/Active)。0 ?0 r4 |& ~7 G5 e0 J
实现(Active/Passive)需要借助于pacemaker来实现自身服务的HA机制 ,(即通过注册成为pacemaker的一个resource,然后将自身的行为交由pacemaker来进行管理),用来提高可靠性。而(Active/Active)模式则是使用了HAproxy来进行负载均衡的管理,用来提高性能。而在实际部署过程中,通常需要将两种模式根据实际业务的情况来进行考量配置。例如,对于访问比较密集的api服务配置为(Active/Active)来实现负载均衡,但是需要用第三方工具来保证服务的可靠。而对数据库等数据重要组件则使用(Active/Passive)来保证数据的高可靠性。  ^( P  _& O6 u
! H3 E, L$ a% K- _7 \$ r) i& @7 b
Openstack VM的HA9 [: B" R6 y& U8 |- [3 v
到目前为止并没有一个完整的使用说明。但是从目前实现的功能来看,Openstack自身已经具备了一些HA的功能。' Q* }/ S5 o/ z0 `3 V" d4 b
1.在nova中提供了Evacuate命令来实现,将VM从失败的Compute节点在目标节点上rebuild。这一功能的实现需要依赖源节点和目标节点间有共享存储。
) J7 j9 W- Q- e( r2.在VM的HA当中,对于Compute节点是否故障的判断需要非常的精细,目前在Openstack中每个nova-compute服务启动时都会启动一个定时器,定期的将心跳写入到数据库中,这样可以从控制节点方便的知道Compute节点的状态。& G0 }' E& O: B

* }, @. n0 w3 k但是Openstack仅仅拥有这些弄能还不足以完成对VM HA功能的完美支持。# i; _' v4 q5 F: i& z! L7 A
1.只是通过nova-compute服务来确定Compute节点的状态时不可靠的,例如仅仅是nova-compute服务失效,或者网络闪断时,也会造成心跳的过期,从而对是否进行HA不能进行准确的判断。因此需要通过其他方式来确保准确获得节点的状态。
$ \+ [) p& g5 v8 k% V$ m2.Openstack没有对VM进行加锁,因此在进行Evacuate命令时,会出现脑裂(同一个disk启动多个VM的情况)。
( }' R/ h! w: a; k" c' z' C3.对于需要保护的虚拟机需要提供一个列表,用来表明哪些VM是用来保护的。目前的Evacuate命令会奖失败主机上的所有虚拟机无差别进行rebuild这样的实现也是不太合理的。
/ l" \( C6 n1 b- ]0 m$ e/ R3 M5 N  |6 F9 W2 c
您需要登录后才可以回帖 登录 | 注册

本版积分规则

返回首页|Archiver|手机版|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )

GMT+8, 2026-6-12 04:22 , Processed in 0.029410 second(s), 22 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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