一种云主机在线迁移数据加密方法、装置、设备和介质与流程

文档序号:37587009发布日期:2024-04-18 12:15阅读:11来源:国知局
一种云主机在线迁移数据加密方法、装置、设备和介质与流程

本发明涉及云主机在线迁移,特别是涉及一种云主机在线迁移数据加密方法、装置、设备和存储介质。


背景技术:

1、云主机在线迁移技术可以将云主机在业务不中断的情况下,从一台物理机迁移到另一台物理机。在线迁移开始前,云主机在源物理机运行,在线迁移开始后在目的物理机启动云主机并将其状态设置为暂停,源源不断地接受源物理机发送的内存数据,直到源物理机剩余内存量足够小,最后暂停源物理机,将剩余的内存一次性拷贝目的物理机。出于安全性的考虑,在线迁移的过程中,源物理机可以对迁移的数据进行加密传输,目的物理机接收到加密数据后,需要对加密数据进行解密。

2、源物理机对内存数据进行加密的过程以及目的物理机对内存数据进行解密的过程通常是使用cpu进行计算。如果源物理机上或者目的物理机上存在硬件加速引擎,可以使用硬件加速引擎对加密或者解密过程进行加速。硬件加速引擎是源物理机或者目的物理机上存在的硬件模块,此处的硬件加速引擎专指用于进行加/解密计算的硬件模块。


技术实现思路

1、基于上述问题,本发明提供一种云主机在线迁移数据加密方法、装置、设备和介质。

2、第一方面,本发明实施例提供一种云主机在线迁移数据加密方法,应用于包括:libvirt组件、qemu组件和云管理平台的系统中,包括:

3、云管理平台调用libvirt组件的在线迁移是否支持硬件加速迁移加密接口查询;

4、若查询结果为支持硬件加速迁移加密接口查询,云管理平台调用libvirt组件的在线迁移接口,并指定“tls-hw-accel”参数;

5、libvirt组件向qemu组件发送qmp指令“migrate_set_parameter”,指定“tls-hw-accel”参数为需要使用的加密加速引擎;

6、libvirt组件向qemu组件发送qmp指令“migrate”,开始云主机在线迁移;

7、qemu组件执行云主机在线迁移,根据libvirt组件指定的“tls-hw-accel”参数的值初始化加密加速引擎对象,并调用gnutls库的gnutls_crypto_register_cipher接口将加密加速引擎对象注册给gnutls库;

8、云主机迁移过程中需要对数据加解密时调用gnutls库的加解密接口,gnutls库回调到qemu组件注册的加密加速引擎对象的回调接口,在回调接口中qemu组件使用加密加速引擎对象的接口进行加解密。

9、进一步地,上述一种云主机在线迁移数据加密方法,还包括:

10、若查询结果为不支持硬件加速迁移加密接口查询,

11、则返回相应错误;

12、进一步地,上述一种云主机在线迁移数据加密方法中,云管理平台调用libvirt组件的在线迁移是否支持硬件加速迁移加密接口查询是通过在libvirt组件增加的是否支持硬件加速迁移加密查询接口查询的。

13、进一步地,上述一种云主机在线迁移数据加密方法中,“tls-hw-accel”参数是对libvirt组件中发起云主机迁移的命令virsh migrate中增加的参数。

14、进一步地,上述一种云主机在线迁移数据加密方法中,“tls-hw-accel”参数的默认值为“off”;

15、当指定“tls-hw-accel”参数且“tls-hw-accel”参数的值不为“off”时,libvirt组件向qemu组件发送qmp指令“migrate_set_parameter”,指定“tls-hw-accel”参数为需要使用的加密加速引擎。

16、进一步地,上述一种云主机在线迁移数据加密方法中,libvirt组件向qemu组件发送qmp指令“migrate_set_parameter”时,如果“tls-hw-accel”参数的值不为“off”,qemu组件存储“tls-hw-accel”参数。

17、进一步地,上述一种云主机在线迁移数据加密方法,还包括:

18、当libvirt组件向qemu组件发送qmp指令”migrate”时,将qemu组件存储的“tls-hw-accel”参数取出并判断;

19、如果“tls-hw-accel”参数不为“off”,在构造加密对象时构造一个硬件加速引擎的加密对象,并调用gnutls库的注册加密对象的接口gnutls_crypto_register_cipher将硬件加速引擎的加密对象注册给gnutls库,并调用gnutls库的gnutls_cipher_init接口进行初始化。

20、第二方面,本发明实施例还提供一种云主机在线迁移数据加密装置,应用于包括:libvirt组件、qemu组件和云管理平台的系统中,包括:

21、查询模块:用于云管理平台调用libvirt组件的在线迁移是否支持硬件加速迁移加密接口查询;

22、第一指定模块:用于若查询结果为支持硬件加速迁移加密接口查询,云管理平台调用libvirt组件的在线迁移接口,并指定“tls-hw-accel”参数;

23、第二指定模块:用于libvirt组件向qemu组件发送qmp指令“migrate_set_parameter”,指定“tls-hw-accel”参数为需要使用的加密加速引擎;

24、云主机在线迁移模块:用于libvirt组件向qemu组件发送qmp指令“migrate”,开始云主机在线迁移;

25、注册模块:用于qemu组件执行云主机在线迁移,根据libvirt组件指定的“tls-hw-accel”参数的值初始化加密加速引擎对象,并调用gnutls库的gnutls_crypto_register_cipher接口将加密加速引擎对象注册给gnutls库;

26、加解密模块:用于云主机迁移过程中需要对数据加解密时调用gnutls库的加解密接口,gnutls库回调到qemu组件注册的加密加速引擎对象的回调接口,在回调接口中qemu组件使用加密加速引擎对象的接口进行加解密。

27、第三方面,本发明实施例还提供了一种电子设备,包括:处理器和存储器;

28、所述处理器通过调用所述存储器存储的程序或指令,用于执行如上所述任一项所述的一种云主机在线迁移数据加密方法。

29、第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行如上所述任一项所述的一种云主机在线迁移数据加密方法。

30、本发明实施例的优点在于:本发明通过云管理平台调用libvirt组件的在线迁移是否支持硬件加速迁移加密接口查询;若查询结果为支持硬件加速迁移加密接口查询,云管理平台调用libvirt组件的在线迁移接口,并指定“tls-hw-accel”参数;libvirt组件向qemu组件发送qmp指令“migrate_set_parameter”,指定“tls-hw-accel”参数为需要使用的加密加速引擎;libvirt组件向qemu组件发送qmp指令“migrate”,开始云主机在线迁移;qemu组件执行云主机在线迁移,根据libvirt组件指定的“tls-hw-accel”参数的值初始化加密加速引擎对象,并调用gnutls库的gnutls_crypto_register_cipher接口将加密加速引擎对象注册给gnutls库;云主机迁移过程中需要对数据加解密时调用gnutls库的加解密接口,gnutls库回调到qemu组件注册的加密加速引擎对象的回调接口,在回调接口中qemu组件使用加密加速引擎对象的接口进行加解密。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1