一种基于OpenStack架构的GPU云服务器实现方法技术

技术编号:25479012 阅读:52 留言:0更新日期:2020-09-01 23:00
本发明专利技术提供一种基于OpenStack架构的GPU云服务器实现方法,属于云计算技术领域,首先选择资源特定配置的GPU物理机,把GPU物理机上架到OpenStack的计算节点,并按照GPU卡配置GPU物理机对应的主机聚合和云主机规格Flavor,然后配置OpenStack的调度算法、控制节点和计算节点来满足GPU卡透传(passthrough)给虚拟机即GPU云服务器,GPU云服务器通过PCI的热插拔技术实现GPU卡在同一GPU物理机上云服务器之间的挂载和卸载。

【技术实现步骤摘要】
一种基于OpenStack架构的GPU云服务器实现方法
本专利技术涉及云计算技术,尤其涉及一种基于OpenStack架构的GPU云服务器实现方法。
技术介绍
30年来,CPU性能的变化从未脱离摩尔定律。但是CPU性能的提升已经放缓,GPU计算定义了一种全新的超负荷定律。它始于高度专业化的并行处理器,通过系统设计、系统软件、算法以及优化应用程序的方式持续发展,尤其适用于日益增长的人工智能、HPC以及图形图像处理等应用场景的算力需求。裸金属形式的GPU云物理主机能提供“一机多卡”或“多机多卡”的算力。但是部分用户,多张GPU卡超出了用户的算力需求,用户需要更细颗粒度的GPU算力,例如1张GPU卡。所以,需要将宿主机中的GPU卡虚拟化后分配给用户云服务器,而单独的云服务器并不能满足日益增长的人工智能、HPC以及图形图像处理等应用场景的算力。
技术实现思路
为了解决以上技术问题,本专利技术提供了一种基于OpenStack架构的GPU云服务器实现方法,通过OpenStack平台把物理GPU卡透传给云服务器,解决了上面存在的问题。本专利技术的技术方案是:一种基于OpenStack架构的GPU云服务器实现方法,包括如下步骤:1)选择规定资源比例的GPU物理服务器;2)配置GPU卡透传所需要的环境;3)通过OpenStack接口创建的GPU服务器。进一步的,所述步骤2)具体包括:2.1)配置OpenStack环境,设置OpenStack控制节点和计算节点,使其能满足GPU卡能够透传给虚拟机;2.2)配置GPU物理服务器环境,开启硬件虚拟化功能,配置VFIO,将GPU卡绑定到VFIO。所述步骤4)包括GPU卡的挂载和卸载。第一方面,创建的云服务器规格内的GPU,VCPU,内存,存储最大值或者多种规格相加的资源值都不能超过此选择的GPU物理服务器的资源,并留出部分CPU、内存和存储资源用于管理。第二方面,GPU物理服务器配置首先需要把GPU物理服务器硬件的辅助虚拟化功能开启,再确认PCI设备(GPU卡)驱动信息并从host默认驱动程序中解绑,并把默认的OpenStack驱动nouveau加入到黑名单中,并设置VFIO并隔离用于直通的GPU,并将GPU卡绑定到VFIO;其中OpenStack配置的方法,首先配置控制节点的默认配置文件开启PCI直通过滤器,并配置PCI别名(alias)来区分GPU卡信息,再配置计算节点把GPU卡信息添加到透传白名单(passthrough_whitelist)和设置卡信息到别名(alias),并把主机过滤器的权重只设置为PCI。第三方面,主机聚合设置为将GPU物理服务器的主机聚合按照服务类型和GPU卡的信息设置添加标签;其中设置规格Flavor的方法包括设置Flavor的名称按照服务类型-CPU内存存储和显卡信息,并设置Flavor额外配置添加PCI透传的显卡信息和数量和服务类型标签和主机聚合一样。本专利技术的有益效果是本专利技术采用了OpenStack架构的内GPU卡的直通方式给云服务器的方法,减少了GPU物理服务器的资源浪费和云服务器算力不足的问题,同时采用了主机聚合分类的方法,能更好的管理机器和优化机器的调度算法。附图说明图1是本专利技术总的流程图;图2是根据本专利技术创建GPU云服务内主机聚合和规格选择过滤机器的示意图;图3是根据本专利技术GPU卡透传云服务器的示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例,基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术的一种基于OpenStack架构的GPU云服务器实现方法,通过OpenStack平台把物理GPU卡透传给云服务器,解决GPU云物理主机资源类型和云服务器算力不足的问题,并通过设置主机聚合和调度算法更好的管理机器和优化算法,提升系统性能。本专利技术主要三部分组成,第一部分GPU物理服务器的选择和配置,第二部分Openstack的配置,第三部分GPU云服务器的创建及GPU卡的挂载和卸载。参见图1,3,本专利技术方案第一部分实施方式如下::1-1)GPU物理服务器的选择。提前定制好要创建的GPU云服务器的规格,按照创建GPU云服务器的最大规格或者资源相加满足一定条件的GPU物理服务器,需要满足现有GPU物理服务器的规格,且最大的规格不能超过GPU物理服务器的规格,创建多台的GPU云服务器的规格相加也不能超过GPU物理服务器的规格;1-2)GPU物理服务器的配置。此时GPU物理服务器已经上架OpenStack计算节点,显卡驱动不需要安装,首先,BIOS中打开硬件辅助虚拟化功能,再进入系统,查看是否开启iommu(input/outputmemorymanagementunit),iommu开启即对虚拟化的支持,如果没有开启,按照CPU平台配置开启iommu并进行更新,再修改内核模块文件添加pci_stub,vfio,vfio_pci内容,使列出的模块会在系统启动时自动加载,以免GPU卡透传失败,再添加OpenStack原生带有的GPU的驱动nouveau到黑名单中,再查看GPU卡的信息,看看卡是否已经被驱动绑定,如果被绑定需要对GPU卡进行解绑操作,全部解绑后引入VFIO用户态驱动框架,加载vfio、vfio-pci模块,加载完成后重启主机,再检查GPU是否在不同的IOMMU组中隔离,如果隔离说明GPU物理服务器的配置完成,否则检查上面步骤是否正切,配置完成后实现PCI设备在虚拟化场景透传。参见图1,实施本专利技术方案第二部分,实施方式如下:2-1)OpenStack控制节点的配置。编辑/etc/nova/nova.conf文件,配置PCIalias,其中alias内有vendor_id(厂商ID),product_id(产品ID,即卡的ID),name(设置卡透传的名称,本地方按照卡的厂商和卡的类型命名,如:NVIDIA_V100),device_type(设备类型,此处设置为type-PCI),重启nova-api服务;2-2)OpenStack计算节点的配置。编辑/etc/nova/nova.conf文件,配置[PCI]模块,添加透传白名单passthrough_whitelist,其内属性有vendor_id,和product_id,按照卡的真实信息填写,并添加alias,内容和2-1)一样,重启nova-compute服务;2-3)配置主机聚合和规格,把新加入的GPU物理服务器添加到主机聚合中,更新元数据添加SERVICE和PRODUCT,其中SERVICE对应的服务产品,PRODUCT对应的GPU卡信息,相同本文档来自技高网...

【技术保护点】
1.一种基于OpenStack架构的GPU云服务器实现方法,其特征在于,包括如下步骤:/n1)选择规定资源比例的GPU物理服务器;/n2)配置GPU卡透传所需要的环境;/n3)通过OpenStack接口创建的GPU服务器。/n

【技术特征摘要】
1.一种基于OpenStack架构的GPU云服务器实现方法,其特征在于,包括如下步骤:
1)选择规定资源比例的GPU物理服务器;
2)配置GPU卡透传所需要的环境;
3)通过OpenStack接口创建的GPU服务器。


2.根据权利要求1所述的方法,其特征在于,
所述步骤2)具体包括:
2.1)配置OpenStack环境,设置OpenStack控制节点和计算节点,使其能满足GPU卡能够透传给虚拟机;
2.2)配置GPU物理服务器环境,开启硬件虚拟化功能,配置VFIO,将GPU卡绑定到VFIO。


3.根据权利要求1或2所述的方法,其特征在于,
所述步骤4)包括GPU卡的挂载和卸载。


4.根据权利要求3所述的方法,其特征在于,
首先选择资源特定配置的GPU物理机,把GPU物理机上架到OpenStack的计算节点,并按照GPU卡配置GPU物理机对应的主机聚合和云主机规格Flavor,然后配置OpenStack的调度算法、控制节点和计算节点来满足GPU卡透传给虚拟机即GPU云服务器,GPU云服务器通过PCI的热插拔技术实现GPU卡在同一GPU物理机上云服务器之间的挂载和卸载。


5.根据权利要求4所述的方法,其特征在于,

【专利技术属性】
技术研发人员:张晓玉高传集于昊
申请(专利权)人:山东汇贸电子口岸有限公司
类型:发明
国别省市:山东;37

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

1