阿里云虚拟化热升级技术里的三个关键的技术点是什么?

阿里云代理商

客户提问
阿里云虚拟化热升级技术里的三个关键的技术点是什么?

凯铧互联客服回复:
(1)双KVM内核模块以Intel硬件平台下的KVM为例,普通的KVM架构有一个与架构无关的kvm.ko模块,还有一个管理Intel硬件虚拟化的kvm-intel.ko模块。在热升级框架下,我们做了kvm-intel-0.ko和kvm-Intel-1.ko两个模块,以便实现KVM模块的热升级。我们尽可能地将kvm.ko模块中多数的功能都移到kvm-intel-0.ko模块中,让kvm.ko模块尽可能“薄”。在一般情况下,它不需要热升级,只需要升级架构相关的kvm-intel.ko模块即可。当我们加载kvm-intel-0.ko、kvm-intel-1.ko模块时,会创建相应的/dev/kvm0、/dev/kvm1等设备节点文件,用于QEMU与KVM内核模块的交互。

(2)虚拟机嫁接在KVM上,一个QEMU进程代表一个虚拟机。虚拟机包括内存、虚拟CPU、存储、网卡等,都是由QEMU进程来分配和管理的。将一个虚拟机从前面提到的kvm0迁移到kvm1上,本来可以使用本地热迁移技术,不过这样就需要两份相同大小的虚拟机内存,对于内存数量很大的虚拟机而言,会浪费不少内存资源。在阿里云虚拟化热升级技术中,通过“虚拟机嫁接”将虚拟机的内存和内部状态从一个KVM实例嫁接到另一个KVM实例之上。我们先将虚拟机的内存标为reserved状态,然后派生一个新的QEMU子进程,调用QEMU中的savevm_state函数保存原来虚拟机的内部状态并暂停虚拟机运行,之后在新的QEMU子进程中调用execve()函数加载升级后的QEMU程序文件,并通过loadvm_state函数恢复虚拟机的状态。在这个过程中,但凡有任何的失败,系统都会让最初暂停的QEMU进程重新恢复原来的状态。在具体实现中,需要让新的QEMU进程在execve()函数执行后,能够保留原虚拟机的内存。由于在默认情况下execve()函数并不支持内存的保留,所以我们在宿主机的Linux内核中对mmap函数进行了简单的改造,添加了MAP_KVM_RESERVED这样一个专用于QEMU/KVM热升级的标志。

(3)直通设备移交大型的云服务提供商有不少的计算服务通过将GPU或FPGA设备直通给虚拟机,来加速用户的诸如深度学习、人工智能相关的应用程序。使用IntelVT-d技术实现设备直通,可让虚拟机直接访问硬件设备。现代设备的访问都是由DMA(直接内存访问)来完成的,在虚拟化直通设备的情况下,DMA访问所需的从GPA(虚拟机物理地址)到HPA(物理机物理地址)的转化,是由IOMMU来实现的。如果实现带有直通设备的虚拟机的热升级,那么需要迁移设备的内部状态,重建IOMMU重映射表,保存和恢复正在进行的DMA操作以免造成数据丢失。这是比较复杂的情况,而且没有现成框架可以使用。

 

如果您想使用云服务器产品建议使用阿里云服务器系列产品,通过我们购买阿里云产品,新老客户都有优惠。欢迎交流!

【凯铧互联优惠在线】提供阿里云爆款特惠服务,微信扫一扫,加为好友,立刻交流!

2022阿里云服务器报价,真便宜!
①阿里云:阿里云服务器9元/月,60元一年99元续费3次,有高配
②腾讯云:腾讯云2核4G轻量服务器8M带宽74元一年,多配置可选…
③免费提供技术支持:在线客服

 

阿里云代理商凯铧互联提醒您:

如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。

如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。

如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

 

本文适用于:
阿里云虚拟化热升级技术里的三个关键的技术点是什么?

 

不了解阿里云产品?让凯铧互联专业的工程师帮您。我们提供免费的技术咨询,方案建议,让您的企业上云变得更容易,更有效,更安全!
看完上述说明如果您还有疑问,或者是需要咨询阿里云产品相关折扣、优惠或者是技术问题,请加下面的微信!我们是阿里云/腾讯云/华为云代理商联系我更有折上折优惠,新老用户均有!电话:158-0160-3153(微信同号)。
为什么选择凯铧互联:北京凯铧互联科技有限公司(简称凯铧互联)由多名前阿里云资深技术专家创立,核心员工来自阿里巴巴、腾讯服务器运维团队,公司90%成员均是超过10年具备专业运维经验的精英。作为阿里云,腾讯云,百度云,金山云,华为云重要的合作伙伴,专业从事互联网应用服务、云计算、大数据、人工智能、企业信息化建设,为企业用户提供基于大数据的企业上云解决方案。公司总部设在北京,并在内蒙设有办事处,服务全国各地企业,与互联网专业公司及主流服务商建立了良好合作关系。公司官网:www.bjkaihua.com; 腾讯云网站www.bjkaihua.net.cn; 阿里云业务网站:www.alibjyun.com。

凯铧互联承诺

说明:本站的技术类文章,均为内部学习交流使用,并不能代表产品厂家,或者是第三方的观点,非专业技术类人员,请勿对服务器设备进行操作,以免造成设备不可使用或数据丢失。同时凯铧互联小编建议用户定期对云服务器数据进行备份保存!


北京凯铧互联科技有限公司(简称凯铧互联)由多名前阿里云资深技术专家创立,核心员工来自阿里巴巴、腾讯等,作为阿里云重要的金牌合作伙伴,专注于为企业用户提供云计算及云计算的解决方案。