开发者社区> 问答> 正文

内核热补丁、虚拟机热迁移和阿里云虚拟化热升级这三种升级技术有哪些优缺点?

内核热补丁、虚拟机热迁移和阿里云虚拟化热升级这三种升级技术有哪些优缺点?

展开
收起
令人无语的八阿哥 2021-11-26 15:00:26 3704 0
1 条回答
写回答
取消 提交回答
  • 三种技术对比如下图所示:

    image.png

    1)内核热补丁

    内核热补丁技术能够在不重启系统的情况下对内核打补丁,修复问题。它让运行中的系统基本感受不到服务中断。但是它不能修复较为复杂的问题,比如对持久性数据结构的改动或者添加新功能;同时它只能针对内核模块进行升级。这种技术主要适用于修复较为简单的Linux 内核(包括KVM 模块)的安全问题。

    2)虚拟机热迁移

    热迁移技术是云服务提供商中经常用于软件升级的技术,阿里云也将热迁移技术大量用于物理硬件维修、虚拟机库存动态调度等场景。热迁移需要复制源主机上虚拟机的状态(如内存)到另外一个空闲备用的目的主机上,在最后一轮状态传输时,停止正在运行的虚拟机,复制最后一次改变的状态,最后在目的宿主机上启动虚拟机, 恢复运行状态。

    通过热迁移技术,云服务提供商可以升级服务器上所有软件,如宿主机内核、虚拟化软件、损坏的硬件设备等。不过,在大规模的云计算数据中心中,热迁移也受到一些限制,比如它需要额外的空闲服务器才能迁移;在迁移过程中需要较大的网络带宽,如果大量虚拟机同时做热迁移可能造成一些网络拥塞;热迁移的内存迭代拷贝需要消耗一些CPU 计算资源,并且最后会停止虚拟机,这个过程对虚拟机运行的性能有损坏并会产生一小段的服务中断时间;云上有不少GPU/FPGA 等设备直通的虚拟机,目前还不能支持带直通设备的热迁移。

    3)阿里云的虚拟化热升级

    阿里云的虚拟化热升级技术尽可能吸取上述两种方法的优点,改进它们的不足。阿里云的虚拟化热升级技术支持整个虚拟化软件栈(主要是用户态的QEMU 和内核态的KVM 模块)的热升级,能实现云计算环境下较为复杂的新功能的热升级,比如热升级支持一种新的分布式存储系统。它避免了热迁移的劣势,不需要额外的服务器和网络带宽,同时虚拟机上感知到的服务中断时间比热迁移短得多。尽管它没有像热迁移那样实现全新的主机切换,但是在云环境下一般来说也是够用的。以KVM 虚拟化为例,主机的内核是相对独立的,用户虚拟机的新功能开发一般只要改动QEMU/ KVM 即可实现(对KVM 在2018 年公布的90 多个缺陷进行统计,其中98% 的缺陷发生在QEMU/KVM 上,通过热升级都可以解决)。

    资料来源:《弹性计算—无处不在的算力》

    2021-11-26 15:54:49
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
阿里云云原生 Serverless 技术实践营 PPT 演讲 立即下载
阿里云产品十月刊 立即下载
基于阿里云构建博学谷平台实时湖仓 立即下载