System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及云计算,尤其涉及一种sev虚拟机创建方法。
技术介绍
1、随越来越多企业和用户选择部署云服务,云应用的安全性也变得愈发重要。虚拟化技术作为云服务的基础,虚拟机的安全性也越来也重要。
2、sev(secure encrypted virtualization)技术能实现对虚拟机的内存加密,但现目前缺乏一种在openstack平台上创建sev虚拟机的方法。
技术实现思路
1、本申请提供一种sev虚拟机创建方法,用以解决现有技术中缺乏在openstack平台上创建sev虚拟机的方法的技术问题。
2、第一方面,本申请提供一种基于openstack平台创建内存加密虚拟机的方法,应用于openstack平台;所述方法包括:
3、在openstack平台中相关计算节点宿主机进行相关配置,使其满足创建sev虚拟机的条件,给虚拟机镜像添加sev属性,创建opensatck的虚拟机规格模板flavor并添加使用sev支持的属性描述;
4、nova-api组件接收客户端设备发送的sev虚拟机创建请求;所述sev虚拟机创建请求包括用户选择的目标flavor和目标镜像标识;
5、nova-api组件根据所述目标flavor和所述目标镜像标识对sev虚拟机创建请求进行参数校验;
6、若sev虚拟机创建请求通过参数校验,则nova-api组件通过远程过程调用prc将向nova-scheduler组件发送sev虚拟机创建请求;
>7、nova-scheduler组件通过prc接收sev虚拟机创建请求;
8、nova-scheduler组件从openstack平台中物理硬件支持sev的宿主机中选择sev虚拟机的目标宿主机;
9、nova-scheduler组件向nova-computer组件发送sev虚拟机创建请求;
10、nova-computer组件根据所述目标flavor和所述目标镜像标识构造sev虚拟机的xml,并在目标宿主机上孕育sev虚拟机。
11、可选地,所述在openstack平台中相关计算节点宿主机进行相关配置,使其满足创建sev虚拟机的条件,包括:
12、对openstack平台中物理硬件支持sev的宿主机执行以下操作:
13、在bios中打开iommu->enabled smee->enable sev-snp support->enable;
14、在grub添加mem_encrypt=on和kvm_amd.sev=1;
15、重新启动物理硬件支持sev的宿主机。
16、可选地,所述在grub添加mem_encrypt=on和kvm_amd.sev=1,包括:
17、下载linux内核以src.rpm结尾的kernel版本源码;
18、打开linux内核以src.rpm结尾的kernel版本源码的配置文件;
19、在配置文件中将打开onfig_amd_mem_encrypt=y和config_amd_mem_encrypt_active_by_default=y。
20、可选地,所述nova-api组件根据所述目标flavor和所述目标镜像标识对sev虚拟机创建请求进行参数校验,包括:
21、响应于所述目标flavor中包括mem_encryption=true,且所述目标镜像标识对应的目标镜像中包括hw_mem_encryption=true,确定sev虚拟机创建请求通过参数校验。
22、可选地,所述nova-scheduler组件从openstack平台中物理硬件支持sev的宿主机中选择sev虚拟机的目标宿主机包括:
23、nova-compute启动时,物理硬件支持sev的宿主机在placement组件中注册node_type=‘sev’;
24、通过placement的mem_encryption_used_num控制各宿主机上创建的sev虚拟机数量;每创建一个sev虚拟机,mem_encryption_used_num的值加1,每删除一个sev虚拟机,mem_encryption_used_num的值减1;
25、通过调用placement的命令查询node_type字段,将所有的sev类型的宿主机过滤出来;
26、调用placement的命令查询mem_encryption_used_num字段值,确定当前创建的sev虚拟机加上mem_encryption_used_num是否超过预设数值;
27、如果超过,则当前宿主机不被选择为sev虚拟机的目标宿主机;
28、如果为超过,则当前宿主机被选择为sev虚拟机的目标宿主机。
29、可选地,所述调用placement的命令查询mem_encryption_used_num字段值之前,还包括:
30、nova-compute每分钟执行一次计算sev类型的宿主机上已启动的sev虚拟机数量的定时任务;
31、将各宿主sev类型的宿主机上已启动的sev虚拟机数量,update到placement的mem_encryption_used_num。
32、可选地,所述nova-computer组件根据所述目标flavor和所述目标镜像标识构造sev虚拟机的xml,并在目标宿主机上孕育sev虚拟机,包括:
33、将sev虚拟机的machine type设置为q35,并且为从ovmf_code.fd启动的;
34、打开sev虚拟机的存储设备控制器的iommu开关;
35、打开sev虚拟机的网卡设备的iommu的开关;
36、满足sev虚拟机包含sev设备配置;
37、确保sev虚拟机的memory被lock;
38、调用qemu在目标宿主机上孕育sev虚拟机。
39、可选地,所述给虚拟机镜像添加sev属性,包括:
40、给虚拟机的镜像元数据添加额外属性:hw_firmware_type、hw_cdrom_bus、hw_mem_encryption、hw_machine_type、hw_scsi_mode。
41、可选地,所述创建opensatck的虚拟机规格模板flavor并添加使用sev支持的属性描述,包括:
42、给虚拟机的flavor添加额外属性hw:mem_encryption。
43、本申请提供的sev虚拟机创建方法,应用于openstack平台,所述方法包括:在openstack平台中相关计算节点宿主机进行相关配置,使其满足创建sev虚拟机的条件,给虚拟机镜像添加sev属性,创建opensatck的虚拟机规格模板flavor并添加使用本文档来自技高网...
【技术保护点】
1.一种基于OpenStack平台创建内存加密虚拟机的方法,其特征在于,应用于OpenStack平台,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述在OpenStack平台中相关计算节点宿主机进行相关配置,使其满足创建sev虚拟机的条件,包括:
3.根据权利要求2所述的方法,其特征在于,所述在grub添加mem_encrypt=on和kvm_amd.sev=1,包括:
4.根据权利要求1所述的方法,其特征在于,所述nova-api组件根据所述目标flavor和所述目标镜像标识对sev虚拟机创建请求进行参数校验,包括:
5.根据权利要求1所述的方法,其特征在于,所述nova-scheduler组件从OpenStack平台中物理硬件支持sev的宿主机中选择sev虚拟机的目标宿主机包括:
6.根据权利要求1所述的方法,其特征在于,所述调用placement的命令查询MEM_ENCRYPTION_USED_NUM字段值之前,还包括:
7.根据权利要求1所述的方法,其特征在于,所述nova-comput
8.根据权利要求1所述的方法,其特征在于,所述给虚拟机镜像添加SEV属性,包括:
9.根据权利要求1所述的方法,其特征在于,所述创建opensatck的虚拟机规格模板flavor并添加使用SEV支持的属性描述,包括:
...【技术特征摘要】
1.一种基于openstack平台创建内存加密虚拟机的方法,其特征在于,应用于openstack平台,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述在openstack平台中相关计算节点宿主机进行相关配置,使其满足创建sev虚拟机的条件,包括:
3.根据权利要求2所述的方法,其特征在于,所述在grub添加mem_encrypt=on和kvm_amd.sev=1,包括:
4.根据权利要求1所述的方法,其特征在于,所述nova-api组件根据所述目标flavor和所述目标镜像标识对sev虚拟机创建请求进行参数校验,包括:
5.根据权利要求1所述的方法,其特征在于,所述nova-scheduler组件从open...
【专利技术属性】
技术研发人员:孙亮,陈晓明,过晓春,陈硕,侯明宏,
申请(专利权)人:中国联合网络通信集团有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。