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

openstack evucate疏散虚机命令

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2025-2-18 09:55:33 | 显示全部楼层 |阅读模式
openstack evucate疏散虚机命令7 ~7 N/ d, Z2 A, Y+ o% v& k

4 g7 U6 H, d& W4 k' Y1 [% j
+ M' f. ^: H' R9 ^" d如何使用evacuate,使用evacuate功能可以通过nova命令行工具来实现,管理员可以通过物理机发生宕机时通过命令行执行evacuate操作,指定要evacuate的虚机和目标主机,系统会自动将虚机迁移到目标主机上
! V( v4 m' U0 d% m
& _& z( z+ a1 y  Y$ h- |8 b( i' Q4 v+ u例如:5 N  v. R; o- A2 i! |) G* m. n
使用nova 命令进行evacuate6 X8 ?* c$ E  [* j* d
nova evacuate <instance_id>  <hostname>+ G; b, Y% V2 M" }: E& a
2 F7 D5 K% W4 n4 y" U# s
使用openstack 命令- b7 D3 _; v- J0 V4 E( _. o0 r
openstack server evacuate <instance_id> --target <target_host>" x( z, i) d6 ?; N) d
/ Z6 V; I+ X. \# L) g* H
<instance_id>:需要撤离的虚机的uuid ID。
2 K3 K. H' I, e. N/ I" H  s* x--target <target_host> : 迁移到目标计算节点名。4 M* }4 Z) s3 t: _5 U- m! A
例如:
4 k4 w; w& P  N/ Nopenstack server evacuate dde200ld-klsl-sskc-2135   --target compute2, A% _, Y7 v+ T5 G
- `" j. A3 Z  E( g# w

5 q1 k3 c( k5 j; j+ D自动evacuate功能8 I- h5 Z, Y" C9 e
在手动方式疏散外,Openstack还提供了自动evacuate功能,可以在物理主机宕机时将自动将该主机上的虚机迁移到其他主机上。, d) ^0 ^2 ?6 i7 S5 m  k
配置参数:8 q6 L/ ?: e6 ]+ N+ W
在nova.conf 配置文件中增加以下参数:
& M. }1 b; w/ a7 zauto_evacuate = True
: d. ^. A9 X& d  j, Y( H) a  E% o  P

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2025-2-18 09:56:52 | 显示全部楼层
Openstack组件间的HA) ]- B5 y6 ~, ~' l+ \8 H! `1 J
官方提供了2种配置方案主从模式(Active/Passive)和双活(Active/Active)。, q* T, q* x' E  ]3 d4 h2 `7 I
实现(Active/Passive)需要借助于pacemaker来实现自身服务的HA机制 ,(即通过注册成为pacemaker的一个resource,然后将自身的行为交由pacemaker来进行管理),用来提高可靠性。而(Active/Active)模式则是使用了HAproxy来进行负载均衡的管理,用来提高性能。而在实际部署过程中,通常需要将两种模式根据实际业务的情况来进行考量配置。例如,对于访问比较密集的api服务配置为(Active/Active)来实现负载均衡,但是需要用第三方工具来保证服务的可靠。而对数据库等数据重要组件则使用(Active/Passive)来保证数据的高可靠性。
! U* V% j; Z1 a* F/ S- _+ l' s, q4 h
Openstack VM的HA$ k+ u7 H1 u  c$ _& Z
到目前为止并没有一个完整的使用说明。但是从目前实现的功能来看,Openstack自身已经具备了一些HA的功能。
5 t5 ~) f1 ?) ]& j4 @1.在nova中提供了Evacuate命令来实现,将VM从失败的Compute节点在目标节点上rebuild。这一功能的实现需要依赖源节点和目标节点间有共享存储。* ?4 z# s; {# _# F
2.在VM的HA当中,对于Compute节点是否故障的判断需要非常的精细,目前在Openstack中每个nova-compute服务启动时都会启动一个定时器,定期的将心跳写入到数据库中,这样可以从控制节点方便的知道Compute节点的状态。1 L) W; Y( S/ X/ P4 U6 A" s- }% _

5 |/ A8 @) e; D3 v0 Y) T. ^但是Openstack仅仅拥有这些弄能还不足以完成对VM HA功能的完美支持。
% z7 M/ w/ J$ D0 o. I1 Y/ h6 Y1.只是通过nova-compute服务来确定Compute节点的状态时不可靠的,例如仅仅是nova-compute服务失效,或者网络闪断时,也会造成心跳的过期,从而对是否进行HA不能进行准确的判断。因此需要通过其他方式来确保准确获得节点的状态。. f8 j. v2 G% s, w
2.Openstack没有对VM进行加锁,因此在进行Evacuate命令时,会出现脑裂(同一个disk启动多个VM的情况)。
/ h0 w" b, a) w  n7 l/ J* F, Z3.对于需要保护的虚拟机需要提供一个列表,用来表明哪些VM是用来保护的。目前的Evacuate命令会奖失败主机上的所有虚拟机无差别进行rebuild这样的实现也是不太合理的。! d1 K% o% s  j- r4 \" j

7 U" s1 L6 f1 ]' x# T
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-12 02:06 , Processed in 0.024509 second(s), 22 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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