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

openstack evucate疏散虚机命令

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2025-2-18 09:55:33 | 显示全部楼层 |阅读模式
openstack evucate疏散虚机命令) e4 B! U/ I2 J: H& P2 G

. r8 ]2 y0 B0 }1 p! ~. u! k5 \9 X$ E, i7 _
如何使用evacuate,使用evacuate功能可以通过nova命令行工具来实现,管理员可以通过物理机发生宕机时通过命令行执行evacuate操作,指定要evacuate的虚机和目标主机,系统会自动将虚机迁移到目标主机上  I; W' l" Q7 P9 s5 b9 R. G
" m* X6 J2 N. K7 w1 B; P$ @
例如:* h* e( E+ ^4 u$ K4 ~
使用nova 命令进行evacuate" H& q7 g: Y: F1 e) u2 R
nova evacuate <instance_id>  <hostname>
6 c# ]3 g6 F  c3 G3 p" s2 C
$ b6 J/ F* m" U* V1 d9 g, g& h使用openstack 命令
! H6 a: `: D7 h$ Xopenstack server evacuate <instance_id> --target <target_host>! O. ^6 X# |/ C. s4 e" n5 s8 D: r
. y4 ~4 @! p) P+ d! t
<instance_id>:需要撤离的虚机的uuid ID。
: P+ P  J% B4 e4 }. p0 |  q--target <target_host> : 迁移到目标计算节点名。
. A# J; J! V- i, v+ |0 q例如:
3 R/ o9 b) C: W7 b0 popenstack server evacuate dde200ld-klsl-sskc-2135   --target compute2; H$ L- Q# _* V' V! |

/ d& e. T7 r: @- `) F3 Z( J4 G* H( L# y
自动evacuate功能- R4 h, A6 c4 Y2 p! t
在手动方式疏散外,Openstack还提供了自动evacuate功能,可以在物理主机宕机时将自动将该主机上的虚机迁移到其他主机上。
( x$ F% m3 n; ~) k配置参数:
& i" {6 V' |3 a; G7 j在nova.conf 配置文件中增加以下参数:4 B+ p! X9 L6 i3 S) q& s8 E
auto_evacuate = True
; k4 m: S6 f1 u0 w" r! A# s2 Y6 ]  M

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2025-2-18 09:56:52 | 显示全部楼层
Openstack组件间的HA; P* F- G+ x: g0 d2 N
官方提供了2种配置方案主从模式(Active/Passive)和双活(Active/Active)。0 c0 k, P7 U& Q  f. g& d4 }
实现(Active/Passive)需要借助于pacemaker来实现自身服务的HA机制 ,(即通过注册成为pacemaker的一个resource,然后将自身的行为交由pacemaker来进行管理),用来提高可靠性。而(Active/Active)模式则是使用了HAproxy来进行负载均衡的管理,用来提高性能。而在实际部署过程中,通常需要将两种模式根据实际业务的情况来进行考量配置。例如,对于访问比较密集的api服务配置为(Active/Active)来实现负载均衡,但是需要用第三方工具来保证服务的可靠。而对数据库等数据重要组件则使用(Active/Passive)来保证数据的高可靠性。3 a5 \( l; F+ `* e
0 n1 z$ l8 B/ _/ D4 b: H  `
Openstack VM的HA$ F3 x! W! P- ]2 K" j- P2 ?+ v  Y2 S3 e
到目前为止并没有一个完整的使用说明。但是从目前实现的功能来看,Openstack自身已经具备了一些HA的功能。' f& [$ R2 t" B, G- h" _
1.在nova中提供了Evacuate命令来实现,将VM从失败的Compute节点在目标节点上rebuild。这一功能的实现需要依赖源节点和目标节点间有共享存储。$ _: Y0 [9 b+ C/ }# z
2.在VM的HA当中,对于Compute节点是否故障的判断需要非常的精细,目前在Openstack中每个nova-compute服务启动时都会启动一个定时器,定期的将心跳写入到数据库中,这样可以从控制节点方便的知道Compute节点的状态。
; E  I) i5 d0 Y4 g! V- L. V- x) s) d' Z
但是Openstack仅仅拥有这些弄能还不足以完成对VM HA功能的完美支持。
: b* k+ V2 G. C# c1.只是通过nova-compute服务来确定Compute节点的状态时不可靠的,例如仅仅是nova-compute服务失效,或者网络闪断时,也会造成心跳的过期,从而对是否进行HA不能进行准确的判断。因此需要通过其他方式来确保准确获得节点的状态。
* a: O* U+ h4 m. y% [. |% H2.Openstack没有对VM进行加锁,因此在进行Evacuate命令时,会出现脑裂(同一个disk启动多个VM的情况)。
  W  a+ |; i4 m, t, s, v3.对于需要保护的虚拟机需要提供一个列表,用来表明哪些VM是用来保护的。目前的Evacuate命令会奖失败主机上的所有虚拟机无差别进行rebuild这样的实现也是不太合理的。
6 o( O: f/ a" T9 I1 g8 U, ^
  H9 Y3 e) \2 {
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-12 00:05 , Processed in 0.014336 second(s), 22 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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