compute node ha 主流开源实现

nova evacuate

各种实现方案基本无例外要调用nova的evacuate接口。

nova evacuate和热迁移很像。都是想实例从一个节点转移到另外一个节点。区别主要是热迁移在正常状态下进行的,疏散时在异常状态下进行的。用一个形象的比如就是热迁移发生在地震前从建筑物逃生出来,疏散发生在地震发生后,从被毁的建筑物里逃生出来。

但严格说来上面的比喻还不够严谨,准确说并不是从被毁的建筑物里逃生出来,而是被复活出来。

所以nova evacuate翻译成复活要比疏散更准确。

masakari

日本电信NTT的开源项目masakari已经成为了Openstack的一个独立项目,该项目就是是专门做compute node ha的。

masakari的日文是まさかり,斧头的意思。准确说是板斧。就是周星驰电影斧头帮用的板斧。不知道,项目的发起人,几个日本人是否受此影响。

取名masakari就是发现故障位置,使用斧头帮最高绝技,一斧头精准扔过去,隔离斩断故障。

detect 3 type of vm down

  • unexpected vm down (monitoring libvirt’s events)
  • vm manager down (monitoring manager process)
  • host down (using pacemaker)

masakari 正在努力推进的新特性

1)现在只支持疏散active, stopped, error状态的vm 以后可以加上去疏散更多状态的vm,如shelved, rescued, paused and suspended

2)现在监测到故障后的流程都是固定死的,要改变只能改变代码。 以后可以通过编写yaml文件让用户自定义流程。

compute node ha 其他用到的技术

  • consul
  • raft
  • gossip

compute node ha其他的相关开源项目

  • Openstack Congress (策略即服务)
  • pacemaker-remote (host monitor方案)
  • mistral-evacuate (工作流程)

附录1:Gossip协议

在所有的Consul Agent之间(包括服务器模式和普通模式)运行着Gossip协议。服务器节点和普通Agent都会加入这个Gossip集群,收发Gossip消息。每隔一段时间,每个节点都会随机选择几个节点发送Gossip消息,其他节点会再次随机选择其他几个节点接力发送消息。这样一段时间过后,整个集群都能收到这条消息。

乍看上去觉得这种发送方式的效率很低,但在数学上已有论文论证过其可行性,并且Gossip协议已经是P2P网络中比较成熟的协议了。大家可以查看 Gossip的介绍 ,里面有一个模拟器,可以告诉你消息在集群里传播需要的时间和带宽。Gossip协议的最大的好处是,即使集群节点的数量增加,每个节点的负载也不会增加很多,几乎是恒定的。这就允许Consul管理的集群规模能横向扩展到数千个节点。

附录2:路径算法

为evacuate寻求最优路径。

不仅适用于compute node HA,还可以负载优化均衡

尝试设计迁移路径算法以优化vm所在节点的性能以实现硬件投资回报最大化。

原文发布于微信公众号 - 后端云(opnfv-tech)

原文发表时间:2017-06-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java一日一条

多种负载均衡算法及其 Java 代码实现

负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展 网络设备和 服务器的带宽、增加 吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。

1671
来自专栏云时之间

基于百度翻译的简单爬虫翻译-- coding:utf-8 --访问网址模拟浏览器创建文件夹用一个text文件保存,文件名用单词名字

因为最近有数据需求,自己写了一个简单的小爬虫,但是这是第一版还是比较简陋,慢慢更新吧. ---- 能够实现的功能是查询英语单词和中文单词并且能够找出读音来,希望...

3217
来自专栏WeTest质量开放平台团队的专栏

深度了解Android 7.0 ,你准备好了吗?

2016年8月22日,谷歌正式推送Android 7.0 Nougat(牛轧糖)正式版,首发推送了多款Nexus设备。除了修复常规BUG,Android 7.0...

893
来自专栏开源优测

JMeter定时器06

前言 在默认情况下,jmeter发送每个请求之间是没有延时的,如果采用默认方式,如果线程数足够大,瞬间就会将服务器压死。再则在实际的业务过程中,请求之间是有一定...

3856
来自专栏前端笔记

【新手指南】浅谈几种WordPress固定链接的优劣势

新手建站须知: 所谓“固定链接”,其实就是指访问某个网页的特定链接。也是我们站长将网站提交给各大站长平台的重要参数之一!建站初期我们必须确定好“固定链接”(准确...

3177
来自专栏开源FPGA

基于FPGA的Uart接收图像数据至VGA显示

系统框图 ?   前面我们设计了基于FPGA的静态图片显示,并对一幅彩色图片提取了灰度,学习了RGB转Gray算法。这是基于一幅静态图片的,那么后面我们要怎么模...

2669
来自专栏AI科技大本营的专栏

全文来了!打败DBA老炮,机器学习如何改变数据库管理系统

作者 | Dana Van Aken、Andy Pavlo、Geoff Gordon 编译 | AI100 数据库管理系统(DBMSs)是所有数据密集型应用的...

36812
来自专栏何俊林

使用TensorFlow进行训练识别视频图像中物体

本教程针对Windows10实现谷歌公布的TensorFlow Object Detection API视频物体识别系统,其他平台也可借鉴。

3982
来自专栏AILearning

TensorFlow架构

我们设计了TensorFlow进行大规模的分布式训练和推理,但它也足够灵活,以支持新机器学习模型和系统级优化的实验。 本文档描述了使得这种组合规模和灵活性成...

3877
来自专栏祝威廉

Spark 1.6 内存管理模型( Unified Memory Management)分析

新的内存模型是在这个Jira提出的,JIRA-10000,对应的设计文档在这:unified-memory-management。

1233

扫码关注云+社区