请问有没有 VM 级别(kvm)的拷贝技术(内存、IO)来实现 Shadow VM 的效果?

2020-02-26 10:12:34 +08:00
 sirius1024

最终的目的是: 申请一个 VM 虚拟机,会伴随生成一个相同规格的影子 VM 实时拷贝内存和磁盘 IO VM 宕机的时候,影子 VM 无缝或在短时间内顶上来,IP、Mac 地址等等全都一样,对用户无感知或极小感知

3978 次点击
所在节点    云计算
20 条回复
rrfeng
2020-02-26 10:29:10 +08:00
没有,但是 VM 有热迁移技术
BlackBerry999
2020-02-26 11:02:36 +08:00
那宿主机宕机呢??
stoneabc
2020-02-26 11:04:12 +08:00
各大厂都有热迁移,中断时间 1S 以内,有的 100ms 以内,基本无感知。
你这种开销太大。
stoneabc
2020-02-26 11:04:36 +08:00
@BlackBerry999 那就异地重建。
fancy111
2020-02-26 11:05:32 +08:00
你到底是要闹哪样? 分布式集群类的服务器不都是这样的吗,谁要用 VM ?
mengzhuo
2020-02-26 11:13:42 +08:00
unikernel 了解一下
Srar
2020-02-26 11:35:11 +08:00
@rrfeng
@BlackBerry999
@stoneabc
你好有的

@fancy111 不是

看下 vmware ft 虚拟机同时运行在两个物理机 还有一个是叫美国容错服务器也是干这事的 国内部分火电厂有用这种东西
a22124497
2020-02-26 12:11:29 +08:00
vm 不是有 ft 嘛,就是开两个虚拟机,自己同步挂一个,另个直接顶上
sirius1024
2020-02-26 12:39:52 +08:00
@Srar @a22124497
bingo,多谢,我去看一下原理,是想在 OpenStack 上也实现这样的功能,其实 OpenStack 也有热迁移,那部分的代码兴许可以复用的,但目前的公有云上除了 Azure VMSS 有点像,还没找到其它的实现。

@rrfeng
是的,热迁移的原理其实一样,追平 IO 和内存,在一个极短的窗口时间内切过去。

@BlackBerry999
这个会考验编排调度是不是合理,主要的 Instance 和它的 Shadow 不应在一个宿主,测试比实现复杂,可以理解为一个实时的 DR,不知道有没有说明白。

@stoneabc
嗯,开销基本是 double。CPU 是冷的,但 CPU 本来超分就比较大,成本大都在内存和全闪上。

@mengzhuo
多谢老哥,虽然不是我想要的,但确实增长见识。有点像 VM 层面的 kata container 啊?我没来得及看它细节。


这种形式的高可用虽然不是我们推荐的 part,如您所说,成本高昂、需要二开、稳定性有待考验,但作为方案的一部分需要有。
gamexg
2020-02-26 12:51:42 +08:00
mchong
2020-02-26 13:02:23 +08:00
vsphere FT 了解下。
abcdabcd987
2020-02-26 13:06:09 +08:00
sirius1024
2020-02-26 13:18:35 +08:00
@gamexg @mchong @abcdabcd987
感谢,正是我想要的。
Srar
2020-02-26 13:33:31 +08:00
@sirius1024 美国容错是基于 KVM 修改的 如果有路子拿到应该可以直接捅 OpenStacks 上
ps1aniuge
2020-02-26 13:57:43 +08:00
受保护的虚拟机称为主 VM。创建了重复的虚拟机,即辅助虚拟机,并在另一台主机上运行。辅助虚拟机的执行与主虚拟机的执行相同,并且可以在任何时间接管而不会中断,从而提供了容错保护。

主虚拟机和辅助虚拟机不断监视彼此的状态,以确保维持容错能力。如果运行主虚拟机的主机发生故障,则会发生透明的故障转移,在这种情况下,将立即激活辅助虚拟机以替换主虚拟机。启动新的辅助虚拟机,并自动重新建立容错冗余。如果运行辅助虚拟机的主机发生故障,则也会立即将其替换。无论哪种情况,用户都不会遭受服务中断,也不会丢失数据。

--------哈喽 10 楼,我在看这篇帖子前,想说高可用。看完了,一看也是高可用。
sirius1024
2020-02-26 14:39:00 +08:00
@ps1aniuge
看了下 FusionCloud 和 Redhat OpenStack 的方案,他们的高可用都是冷的,故障后在其它 RACK 用原来的数据启起来。
不同主机之间的内存是不可能做拷贝,这个 FT 的原理是 IO 复制和 CPU 指令重放。区别在于它是热的,当然,成本也显而易见的翻倍,并且东西向也有消耗,单个可能不明显,量大了估计也是个问题。。。

@Srar
呃……美国容错?
snoopygao
2020-02-26 14:48:53 +08:00
除了 vmware 的 FT 外还可以在业务层面实现你的需求
一个是负载均衡,需要你本身的应用软件支持,外运套个 haproxy 就地
另一个是操作系统级别 HA,red hat 的 RHCS,或者通用的 RoseHA(付费)
Srar
2020-02-26 15:01:59 +08:00
@sirius1024

https://www.stratus.com/solutions/platforms/ftserver/ 应该是全球第一个搞出这 FT 的公司 这家有两个产品线一个是基于 KVM 修改走 10G 网络的 一个是两个主板通过 PCIE 互连的
sirius1024
2020-02-26 16:11:01 +08:00
@Srar
哦哦反应过来了,我看到 URL 才知道是哪家了- -。这公司的方案确实是生猛,可以跟我老板提一嘴,看看有没有合作关系,有没有必要升级交流。非常感谢!

@snoopygao
嗯,这也是个路子。方案细说下来,其实从应用层(业务)实现多活高可用是重点,从 Platform 或者 Infra 也是一个路子,就是我最初的问题。如此看来,OS 级别也可以,只是能支持的 OS 类型有限,OS 上层也有应用限制,算是在 Infra 层面之上引入第三方方案。可以考虑补充到方案里,谢了。
swulling
2020-02-26 16:27:16 +08:00
VMware 有 FT 技术,但是 KVM 没有,只有热迁移

热迁移不能用于宕机后的处理,因为它要求源主机得是健康的,宕机后只能走冷迁移,也就是从块存储中恢复,在虚机里就是感受到一次重启。


还是应用层做容灾比较简单一些

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/647609

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX