V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
sirius1024
V2EX  ›  云计算

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

  •  
  •   sirius1024 · 2020-02-26 10:12:34 +08:00 · 3980 次点击
    这是一个创建于 1762 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    @fancy111 不是

    看下 vmware ft 虚拟机同时运行在两个物理机 还有一个是叫美国容错服务器也是干这事的 国内部分火电厂有用这种东西
    a22124497
        8
    a22124497  
       2020-02-26 12:11:29 +08:00
    vm 不是有 ft 嘛,就是开两个虚拟机,自己同步挂一个,另个直接顶上
    sirius1024
        9
    sirius1024  
    OP
       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,如您所说,成本高昂、需要二开、稳定性有待考验,但作为方案的一部分需要有。
    mchong
        11
    mchong  
       2020-02-26 13:02:23 +08:00
    vsphere FT 了解下。
    abcdabcd987
        12
    abcdabcd987  
       2020-02-26 13:06:09 +08:00
    sirius1024
        13
    sirius1024  
    OP
       2020-02-26 13:18:35 +08:00
    @gamexg @mchong @abcdabcd987
    感谢,正是我想要的。
    Srar
        14
    Srar  
       2020-02-26 13:33:31 +08:00
    @sirius1024 美国容错是基于 KVM 修改的 如果有路子拿到应该可以直接捅 OpenStacks 上
    ps1aniuge
        15
    ps1aniuge  
       2020-02-26 13:57:43 +08:00
    受保护的虚拟机称为主 VM。创建了重复的虚拟机,即辅助虚拟机,并在另一台主机上运行。辅助虚拟机的执行与主虚拟机的执行相同,并且可以在任何时间接管而不会中断,从而提供了容错保护。

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

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

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

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

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

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


    还是应用层做容灾比较简单一些
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6008 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 03:07 · PVG 11:07 · LAX 19:07 · JFK 22:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.