虚拟化场景下虚拟机热迁移的数据加密方法及设备技术

技术编号:36110596 阅读:13 留言:0更新日期:2022-12-28 14:12
本申请公开了一种虚拟化场景下虚拟机热迁移的数据加密方法及设备,包括:基于Kubernetes云原生架构,为一个节点Node配置多个应用实例Pod,并将虚拟机运行于Pod中;为任一节点配置一个代理应用实例AgentPod,以基于所述AgentPod管理所述任一节点的Pod和虚拟机;在虚拟机执行热迁移的情况下,在源端节点的AgentPod和目标端节点的AgentPod分别临时启动一个Proxy代理,以使得源端节点的Proxy代理与目标端节点的Proxy代理之间通过预设通信方式进行交互,并在数据传输过程中实现加密。本申请的方法在kubernetes的场景下,虚拟机运行在Pod中,虚拟机热迁移通过代理实现数据的传输,从而通过代理来实现虚拟机的热迁移,支持自定义数据传输,支持多种灵活的加密方式。支持多种灵活的加密方式。支持多种灵活的加密方式。

【技术实现步骤摘要】
虚拟化场景下虚拟机热迁移的数据加密方法及设备


[0001]本申请涉及计算机
,尤其涉及一种虚拟化场景下虚拟机热迁移的数据加密方法及设备。

技术介绍

[0002]虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在实体计算机中能够完成的工作在虚拟机中都能够实现。在计算机中创建虚拟机时,需要将实体机的部分硬盘和内存容量作为虚拟机的硬盘和内存容量。每个虚拟机都有独立的CMOS、硬盘和操作系统,可以像使用实体机一样对虚拟机进行操作。
[0003]基于openstack搭建的虚拟化平台上,虚拟机热迁移加密有两种方式:
[0004]方式一、利用libvirt加密
[0005]首先创建根证书、服务端证书、客户端证书。
[0006]将根证书、服务端证书和客户端证书拷贝到每个计算节点的固定目录下。
[0007]修改/etc/libvirt/libvirtd.conf的配置,配置listen_tls=1。
[0008]修改/etc/nova/nova.conf的配置,在libvirt的配置下live_migration_tunnelled=true。
[0009]重启nova服务和libvirtd。
[0010]方式二、利用qemu加密
[0011]首先创建根证书、服务端证书、客户端证书。
[0012]将根证书、服务端证书和客户端证书拷贝到每个计算节点的固定目录下。
[0013]修改/etc/libvirt/qemu.conf配置,migrate_tls_x509_cert_dir="/var/lib/nova/qemu",migrate_tls_x509_verify=1。
[0014]修改/etc/nova/nova.conf的配置,#live_migration_tunnelled=true//注释或者删除掉用libvirt加密,live_migration_with_native_tls=true。
[0015]重启nova服务。
[0016]现有的两种方式的缺点:
[0017]1、支持的加密方式少,依赖libvirt模块和qemu模块支持的种类,而他们仅能支持TCP/TLS加密。
[0018]2、不能精细化控制,无法设置具体的虚机热迁移时是加密传输还是非加密传输。
[0019]3、对开源代码libvirt、qemu依赖,扩展性不好,例如无法支持国密。

技术实现思路

[0020]本申请实施例提供一种虚拟化场景下虚拟机热迁移的数据加密方法及设备,用以实现在kubernetes的场景下,虚拟机热迁移通过代理实现数据的传输。
[0021]本申请实施例提供一种虚拟化场景下虚拟机热迁移的数据加密方法,包括:
[0022]基于Kubernetes云原生架构,为一个节点Node配置多个应用实例Pod,并将虚拟机运行于Pod中;
[0023]为任一节点配置一个代理应用实例Agent Pod,以基于所述Agent Pod管理所述任一节点的Pod和虚拟机;
[0024]在虚拟机执行热迁移的情况下,在源端节点的Agent Pod和目标端节点的Agent Pod分别临时启动一个Proxy代理,以使得源端节点的Proxy代理与目标端节点的Proxy代理之间通过预设通信方式进行交互,并在数据传输过程中实现加密。
[0025]可选的,基于所述Agent pod管理所述任一节点的Pod和虚拟机包括管理所述任一节点的Pod和虚拟机的如下操作中的一种或多种:
[0026]Pod的创建操作、销毁操作、变配操作以及VM的创建操作、开机操作、关机操作、销毁操作。
[0027]可选的,所述预设通信方式包括Unix Socket通信方式。
[0028]可选的,所述源端节点的Proxy代理与目标端节点的Proxy代理之间通过自定义数据传输方式进行数据传输,其中所述自定义数据传输方式包括TCP、HTTP2、HTTPS、SPDY或RPC。
[0029]本申请实施例还提供一种计算机设备,包括处理器,被配置为:
[0030]基于Kubernetes云原生架构,为一个节点Node配置多个应用实例Pod,并将虚拟机运行于Pod中;
[0031]为任一节点配置一个代理应用实例Agent Pod,以基于所述Agent Pod管理所述任一节点的Pod和虚拟机;
[0032]在虚拟机执行热迁移的情况下,在源端节点的Agent Pod和目标端节点的Agent Pod分别临时启动一个Proxy代理,以使得源端节点的Proxy代理与目标端节点的Proxy代理之间通过预设通信方式进行交互,并在数据传输过程中实现加密。
[0033]可选的,所述处理器被配置为包括管理所述任一节点的Pod和虚拟机的如下操作中的一种或多种:
[0034]Pod的创建操作、销毁操作、变配操作以及VM的创建操作、开机操作、关机操作、销毁操作。
[0035]可选的,所述预设通信方式包括Unix Socket通信方式。
[0036]可选的,所述源端节点的Proxy代理与目标端节点的Proxy代理之间通过自定义数据传输方式进行数据传输,其中所述自定义数据传输方式包括TCP、HTTP2、HTTPS、SPDY或RPC。
[0037]本申请实施例的方法在kubernetes的场景下,虚拟机运行在Pod中,虚拟机热迁移通过代理实现数据的传输,从而通过代理来实现虚拟机的热迁移,支持自定义数据传输,支持多种灵活的加密方式。
[0038]上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
Pod管理所述任一节点的Pod和虚拟机。在一些实施例中,基于所述Agent pod管理所述任一节点的Pod和虚拟机包括管理所述任一节点的Pod和虚拟机的如下操作中的一种或多种:Pod的创建操作、销毁操作、变配操作以及VM的创建操作、开机操作、关机操作、销毁操作。
[0052]在步骤S103中,在虚拟机执行热迁移的情况下,在源端节点的Agent Pod和目标端节点的Agent Pod分别临时启动一个Proxy代理,以使得源端节点的Proxy代理与目标端节点的Proxy代理之间通过预设通信方式进行交互,并在数据传输过程中实现加密。在一些实施例中,所述预设通信方式包括Unix Socket通信方式。也即当虚拟机进行热迁移的时候,在Agent Pod的源端和目的端分别临时启动一个Proxy代理,Proxy代理通过Unix Socket通信方式与VM进行交互。
[0053]本申请实施例的方法在kubernetes的场景下,虚拟机运行在Pod中,虚拟机热迁移通过代理实现数据的传输,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种虚拟化场景下虚拟机热迁移的数据加密方法,其特征在于,包括:基于Kubernetes云原生架构,为一个节点Node配置多个应用实例Pod,并将虚拟机运行于Pod中;为任一节点配置一个代理应用实例Agent Pod,以基于所述Agent Pod管理所述任一节点的Pod和虚拟机;在虚拟机执行热迁移的情况下,在源端节点的Agent Pod和目标端节点的Agent Pod分别临时启动一个Proxy代理,以使得源端节点的Proxy代理与目标端节点的Proxy代理之间通过预设通信方式进行交互,并在数据传输过程中实现加密。2.如权利要求1所述的虚拟化场景下虚拟机热迁移的数据加密方法,其特征在于,基于所述Agentpod管理所述任一节点的Pod和虚拟机包括管理所述任一节点的Pod和虚拟机的如下操作中的一种或多种:Pod的创建操作、销毁操作、变配操作以及VM的创建操作、开机操作、关机操作、销毁操作。3.如权利要求1所述的虚拟化场景下虚拟机热迁移的数据加密方法,其特征在于,所述预设通信方式包括Unix Socket通信方式。4.如权利要求3所述的虚拟化场景下虚拟机热迁移的数据加密方法,其特征在于,所述源端节点的Proxy代理与目标端节点的Proxy代理之间通过自定义数据传输方式进行数据传输,其中所述自定义数据传...

【专利技术属性】
技术研发人员:王世钰李磊包亚飞
申请(专利权)人:中电云数智科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1