背景技术:
::2.裸金属服务是种裸置介质流一款兼具虚拟机弹性和物理机性能的计算类服务,可以通过用户专属的金属云上物理服务器,为关键应用系统、服务法装高性能计算、器部大数据、署方核心数据库等业务提供卓越的种裸置介质流计算性能并保证数据安全。3.在开源云计算平台openstack中,金属通常基于物理机的服务法装本地磁盘,在裸金属服务进程的器部控制下实现裸金属服务器的部署,在部署过程中,署方先将裸金属物理机连接到部署网络,种裸置介质流裸金属服务进程将镜像文件下载到本地裸金属服务进程所在的金属服务器节点,并通过部署网络中将镜像文件复制到裸金属本地的服务法装硬盘当中。之后,器部裸金属服务进程再将裸金属物理机切换到用户网络,署方以为用户提供云计算服务。可以看出,目前的裸金属服务器部署过程中涉及到下载、复制镜像文件,切换裸金属物理机接入的网络等操作,导致裸金属服务器部署所需时间较长,影响裸金属服务器的部署效率。4.由此可见,如何提供一种更加高效快速的裸金属服务器部署方法,以减少裸金属服务器部署所需时间,是本领域技术人员亟需解决的问题。技术实现要素:5.本发明的目的是为了解决目前的裸金属服务器部署过程中涉及到下载、复制镜像文件,切换裸金属物理机接入的网络等操作,导致裸金属服务器部署所需时间较长、效率较低的问题,因此,本发明提供了一种裸金属服务器部署方法、装置、介质,以减少裸金属服务器部署所需时间,提高裸金属服务器部署效率。6.为了解决上述技术问题,本发明提供了一种裸金属服务器部署方法,应用于云计算平台,包括:7.获取裸金属部署信息;其中,所述裸金属部署信息包括云硬盘信息和用户元数据,所述用户元数据保存在驱动配置系统字段中;8.根据所述云硬盘信息确定用于部署裸金属服务器的目标云硬盘,其中,所述目标云硬盘为保存有与所述云硬盘信息对应的待部署镜像文件的硬盘;9.将所述目标云硬盘挂载至裸金属服务进程ironic所在的本地节点,并将所述驱动配置系统字段保存至所述目标云硬盘,以便于裸金属服务器解析所述驱动配置系统字段获取所述用户元数据后,根据所述目标云硬盘中的所述待部署镜像文件和所述用户元数据部署裸金属服务器。10.在一些实施例中,所述裸金属部署信息为云计算平台的云计算网络控制进程根据裸金属部署指令生成的信息;11.所述云硬盘信息包括:云硬盘互联网协议地址、云硬盘端口信息、云硬盘接口合格名称、逻辑单元号信息;12.所述用户元数据包括:裸金属主机名、用户密钥信息和裸金属网卡网络信息;13.相应的,所述云计算网络控制进程根据所述裸金属部署指令生成所述裸金属部署信息包括:14.解析所述裸金属部署指令以获取裸金属部署类型、所述用户元数据和所述云硬盘信息;15.将所述用户元数据写入所述驱动配置系统字段中,并根据所述云硬盘信息生成矢量表;16.将所述矢量表和所述驱动配置系统字段保存至裸金属服务节点数据库中,以生成所述裸金属部署信息。17.在一些实施例中,所述获取裸金属部署信息的步骤前,还包括:18.解析所述裸金属部署指令,以获取镜像文件需求信息;19.获取镜像文件库中与所述镜像文件需求信息对应的所述待部署镜像文件,其中,所述镜像文件库为用于保存镜像文件的远程数据库;20.对所述待部署镜像文件进行完整性校验,以判断所述待部署镜像文件是否为完整文件;21.若所述待部署镜像文件为完整文件,则根据所述待部署镜像文件创建云硬盘。22.在一些实施例中,所述将所述驱动配置系统字段保存至所述目标云硬盘包括:23.在所述目标云硬盘中创建元数据分区;24.将所述驱动配置系统字段保存至所述元数据分区中,并为所述元数据分区设置标签;25.相应的,所述并将所述驱动配置系统字段保存至所述目标云硬盘的步骤后,还包括:断开与所述目标云硬盘的链接。26.在一些实施例中,所述获取裸金属部署信息包括:27.获取裸金属部署类型;28.判断所述裸金属部署类型是否为无盘启动类型;29.若为所述无盘启动类型,则获取裸金属服务节点数据库中的矢量表和所述驱动配置系统字段;30.解析所述矢量表和所述驱动配置系统字段,以获取所述裸金属部署信息。31.为了解决上述技术问题,本发明还提供了一种裸金属服务器部署方法,应用于裸金属物理机,包括:32.获取目标云硬盘中的待部署镜像文件和驱动配置系统字段,解析所述驱动配置系统字段以获取用户元数据;其中,所述目标云硬盘为云计算平台获取裸金属部署信息后、根据云硬盘信息确定并挂载至裸金属服务进程ironic所在的本地节点的云硬盘,所述裸金属部署信息包括所述云硬盘信息和保存在驱动配置系统字段中的所述用户元数据,所述驱动配置系统字段为所述云计算平台保存至所述目标云硬盘的数据,所述目标云硬盘中保存有与所述云硬盘信息对应的待部署镜像文件;33.根据所述待部署镜像文件部署裸金属服务器,并利用所述用户元数据初始化所述裸金属服务器。34.在一些实施例中,所述解析驱动配置系统字段以获取用户元数据的步骤前,还包括:35.当检测到所述云计算平台发送的启动基本输入输出系统的命令后,执行预处理脚本,以将所述目标云硬盘链接至裸金属物理机的网卡;36.调用流控配置服务,将远程系统盘模拟到裸金属物理机,以便于所述目标云硬盘能够被裸金属物理机的所述基本输入输出系统识别。37.在一些实施例中,所述执行预处理脚本,以将所述目标云硬盘链接至裸金属物理机的网卡的步骤前,还包括:38.基于所述裸金属物理机创建用户网络,并对所述裸金属物理机的所述网卡进行初始化配置;39.当检测到所述云计算平台发送的重启指令后,对所述裸金属物理机进行冷重启。40.为了解决上述技术问题,本发明还提供了一种裸金属服务器部署装置,应用于云计算平台,包括:41.获取模块,用于获取裸金属部署信息;其中,所述裸金属部署信息包括云硬盘信息和用户元数据,所述用户元数据保存在驱动配置系统字段中;42.确定模块,用于根据所述云硬盘信息确定用于部署裸金属服务器的目标云硬盘,其中,所述目标云硬盘为保存有与所述云硬盘信息对应的待部署镜像文件的硬盘;43.挂载模块,用于将所述目标云硬盘挂载至裸金属服务进程ironic所在的本地节点,并将所述驱动配置系统字段保存至所述目标云硬盘,以便于裸金属服务器解析所述驱动配置系统字段获取所述用户元数据后,根据所述目标云硬盘中的所述待部署镜像文件和所述用户元数据部署裸金属服务器。44.为了解决上述技术问题,本发明还提供了一种裸金属服务器部署装置,包括存储器,用于存储计算机程序;45.处理器,用于执行所述计算机程序时实现所述的裸金属服务器部署方法的步骤。46.为了解决上述技术问题,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的裸金属服务器部署方法的步骤。47.本发明提供了一种裸金属服务器部署方法,包括:获取裸金属部署信息;其中,裸金属部署信息包括云硬盘信息和用户元数据,用户元数据保存在驱动配置系统字段中;根据云硬盘信息确定用于部署裸金属服务器的目标云硬盘,其中,目标云硬盘为保存有与云硬盘信息对应的待部署镜像文件的硬盘;由此可见,本发明所提供的技术方案,通过将目标云硬盘挂载至裸金属服务进程ironic所在的本地节点,以便于使用其中的服务器镜像文件实现裸金属服务器的部署,无需对镜像文件执行下载和复制的操作,以减少裸金属服务器部署所需时间。同时,利用云硬盘中可以挂载至裸金属服务进程ironic所在的本地节点的驱动配置系统,将用户元数据保存至驱动配置系统字段中以便于将用户元数据注入至裸金属服务器,以提高裸金属服务器的初始化速度,从而进一步提高裸金属服务器的部署效率。48.此外,本发明还提供了一种裸金属服务器部署装置、介质,包括:获取裸金属部署信息;其中,裸金属部署信息包括云硬盘信息和用户元数据,用户元数据保存在驱动配置系统字段中;根据云硬盘信息确定用于部署裸金属服务器的目标云硬盘,其中,目标云硬盘为保存有与云硬盘信息对应的待部署镜像文件的硬盘;由此可见,本发明所提供的技术方案,通过将目标云硬盘挂载至裸金属服务进程ironic所在的本地节点,以便于使用其中的服务器镜像文件实现裸金属服务器的部署,无需对镜像文件执行下载和复制的操作,以减少裸金属服务器部署所需时间。同时,利用云硬盘中可以挂载至裸金属服务进程ironic所在的本地节点的驱动配置系统,将用户元数据保存至驱动配置系统字段中以便于将用户元数据注入至裸金属服务器,以提高裸金属服务器的初始化速度,从而进一步提高裸金属服务器的部署效率。附图说明49.为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。50.图1为本发明实施例所提供的一种云计算平台架构图;51.图2为本发明实施例所提供的一种裸金属服务器部署方法的流程图;52.图3为本发明实施例所提供的一种裸金属服务器部署的时序图;53.图4为本发明实施例所提供的另一种裸金属服务器部署方法的流程图;54.图5为本发明实施例所提供的一种裸金属服务器部署装置的结构图;55.图6为本发明实施例所提供的另一种裸金属服务器部署装置的结构图;56.附图标记如下:1为部署节点,2为云硬盘,3为裸金属物理机。具体实施方式57.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。58.本发明的核心是提供一种裸金属服务器部署方法、装置、介质,以减少裸金属服务器部署所需时间,提高裸金属服务器部署效率。59.在openstack云计算平台中,通常基于物理机的本地磁盘实现裸金属服务器的部署。部署裸金属服务器的过程中,先将裸金属物理机连接到部署网络,裸金属服务进程将镜像文件下载到本地裸金属服务进程所在的服务器节点,并通过部署网络中将镜像文件复制到裸金属本地的硬盘当中。裸金属服务进程再将裸金属物理机切换到用户网络,以为用户提供云计算服务。但这一过程中涉及到镜像文件的下载、复制和网络的切换工作,所需要的时间较长,为了提高裸金属服务器的部署效率,本发明还提供了一种裸金属服务器部署方法、装置、介质,通过将目标云硬盘挂载至裸金属服务进程ironic所在的本地节点,以便于使用其中的服务器镜像文件实现裸金属服务器的部署,无需对镜像文件执行下载和复制的操作,以减少裸金属服务器部署所需时间。同时,利用云硬盘中可以挂载至本地节点的驱动配置系统,将用户元数据保存至驱动配置系统字段中以便于将用户元数据注入至裸金属服务器,以提高裸金属服务器的初始化速度,从而进一步提高裸金属服务器的部署效率。60.图1为本发明实施例所提供的一种云计算平台架构图,如图1所示,云计算平台包括部署节点1、云硬盘2和裸金属物理机3,其中部署节点1为openstack平台中的节点;在具体实施中,openstack云计算平台的云计算网络控制进程(nova)接收裸金属服务器部署指令,并根据裸金属服务器部署指令确定裸金属部署信息,其中,裸金属部署信息中至少包括云硬盘信息和用户元数据,nova进程将路径部署信息发送至云计算平台的裸金属服务进程(ironic),以调用ironic进程开始执行创建裸金属服务器的任务。ironic根据云硬盘信息确定目标云硬盘,其中目标云硬盘为云计算平台中的远端iscsi存储系统盘,并将目标云硬盘挂载至裸金属服务进程ironic所在的本地节点(即裸金属物理机3在云计算平台中对应的节点),此外,ironic进程还在目标云硬盘中创建新的元数据分区,以将保存在驱动配置系统字段中的用户元数据保存至元数据分区中。随后,ironic进程将云硬盘信息通过scp指令复制到裸金属物理机3的智能网卡,并在网卡中执行mlnx_snap指令和prepare.py脚本,以使目标云硬盘能够被裸金属物理机的基本输入输出系统(basicinputoutputsystem,bios)识别,从而使裸金属服务器能够查看目标云硬盘中的数据,以便于根据用户元数据完成裸金属服务器的初始化。61.为了使本
技术领域:
:的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。62.图2为本发明实施例所提供的一种裸金属服务器部署方法的流程图,如图2所示,本发明所提供的裸金属服务器部署方法,应用于云计算平台,包括:63.s10:获取裸金属部署信息;其中,裸金属部署信息包括云硬盘信息和用户元数据,用户元数据保存在驱动配置系统字段中;64.s11:根据云硬盘信息确定用于部署裸金属服务器的目标云硬盘,其中,目标云硬盘为保存有与云硬盘信息对应的待部署镜像文件的硬盘;65.s12:将目标云硬盘挂载至裸金属服务进程ironic所在的本地节点,并将驱动配置系统字段保存至目标云硬盘,以便于裸金属服务器解析驱动配置系统字段获取用户元数据后,根据目标云硬盘中的待部署镜像文件和用户元数据部署裸金属服务器。66.在具体实施中,为了提高裸金属服务器的部署效率,通过将目标云硬盘挂载至本地节点,以便于使用其中的服务器镜像文件实现裸金属服务器的部署,无需对镜像文件执行下载和复制的操作。其中,目标云硬盘为云计算平台的裸金属服务进程根据获取到的裸金属部署信息中的云硬盘信息确定云硬盘。目标云硬盘中保存有与云硬盘信息对应的待部署镜像文件,当目标云硬盘挂载至裸金属物理机后,裸金属物理机获取目标云硬盘中的待部署镜像文件,并利用待部署镜像文件实现裸金属服务器的部署。67.可以理解的是,作为目标云硬盘的云硬盘可以为在获取到裸金属部署指令后根据裸金属部署指令生成的云硬盘,也可以为预先生成的存储于云计算平台的云硬盘,此处不做限定。68.在具体实施中,openstack云计算平台的云计算网络控制进程(nova)接收裸金属服务器部署指令,以获取裸金属部署信息,并将裸金属部署信息发送至ironic进程,以启动裸金属部署任务。同时,nova进程还需要将iscsi目标云硬盘的信息组装成矢量表(volume_info)写入到裸金属服务节点(ironicnode)数据库中,并组装用户元数据(如hostname等用户信息)到configdrive字段并写入到ironicnode数据库中。以便于后续部署装机的过程中ironic进程从ironicnode数据库中的volume_info以及configdrive字段中提取远端iscsi云硬盘的云硬盘互联网协议地址、云硬盘端口信息、云硬盘接口合格名称、逻辑单元号信息以及configdrive信息进行组装生成partition_data69.ironic进程通过提取远端系统盘的云硬盘互联网协议地址、云硬盘端口信息、云硬盘接口合格名称、逻辑单元号信息等云硬盘信息,将远端盘系统盘挂载到ironic进程所在的本地节点,ironic进程在已经被挂载到本地的目标云硬盘上创建元数据分区,并将用户元数据(metadata)写入到新创建的分区上,并将该分区打上config-2的标签,以便于后续在裸金属物理机侧查找用户元数据,然后再将该远端挂载释放。如此就完成了用户的metadata数据写入到了远端的系统盘,裸金属在用远端系统盘上电完成以后,系统中的初始化进程cloud_int通过config-2标签过滤提取到用户元数据,从而根据用户元数据中裸金属主机名、用户密钥信息和裸金属网卡网络信息等数据对裸金属服务器进行配置。70.本实施例提供了一种裸金属服务器部署方法,包括:获取裸金属部署信息;其中,裸金属部署信息包括云硬盘信息和用户元数据,用户元数据保存在驱动配置系统字段中;根据云硬盘信息确定用于部署裸金属服务器的目标云硬盘,其中,目标云硬盘为保存有与云硬盘信息对应的待部署镜像文件的硬盘;由此可见,本发明所提供的技术方案,通过将目标云硬盘挂载至裸金属服务进程ironic所在的本地节点,以便于使用其中的服务器镜像文件实现裸金属服务器的部署,无需对镜像文件执行下载和复制的操作,以减少裸金属服务器部署所需时间。同时,利用云硬盘中可以挂载至本地节点的驱动配置系统,将用户元数据保存至驱动配置系统字段中以便于将用户元数据注入至裸金属服务器,以提高裸金属服务器的初始化速度,从而进一步提高裸金属服务器的部署效率。71.在具体实施中,裸金属部署信息为云计算平台的云计算网络控制进程根据裸金属部署指令生成的信息;云计算网络控制进程根据裸金属部署指令生成裸金属部署信息包括:解析裸金属部署指令以获取裸金属部署类型、用户元数据和云硬盘信息;将用户元数据写入驱动配置系统字段中,并根据云硬盘信息生成矢量表;将矢量表和驱动配置系统字段保存至裸金属服务节点数据库中,以生成裸金属部署信息。72.nova在创建部署云物理机的过程中,将远端系统iscsi云硬盘的信息组装成volume_info写入到ironicnode的数据库中。除此之外,nova还会组装用户metadata数据如hostname等用户信息到configdrive字段并写入到ironicnode数据库中。ironic在部署装机的过程中会从节点数据库中volume_info以及configdrive字段中提取远端iscsi云硬盘的ip、port、iqn、lun以及configdrive信息进行组装生成partition_data。ironic通过partition_data中的远端云硬盘互联网协议地址、云硬盘端口信息、云硬盘接口合格名称、逻辑单元号信息等信息调用ironic-rootwrap/etc/ironic/rootwrap.confiscsiadm-mnode-p10.49.38.86:3260-t73.iqn.2010-10.org.openstack:volume-b241774d-ec05-4957-8906-c2110d00c0ea‑‑login命令将远端系统盘挂载到ironic所在的本地节点。74.相应的,云硬盘信息包括:云硬盘互联网协议地址、云硬盘端口信息、云硬盘接口合格名称、逻辑单元号信息;用户元数据包括:裸金属主机名、用户密钥信息和裸金属网卡网络信息。75.图3为本发明实施例所提供的一种裸金属服务器部署的时序图,如图3所示,本实施例将从云计算平台的云计算网络控制进程(nova进程)、云计算平台的裸金属服务进程(ironic)、设置有智能网卡的裸金属物理机和云硬盘四个方面对裸金属服务器部署过程进行说明。如图3所示,裸金属服务器部署过程包括:76.s201:nova进程获取用户发送的裸金属部署指令;77.s202:nova进程进入到novaspawn从block_device_info中提取系统云硬盘相关数据信息,存入到bootable_volume;78.s203:nova进程调用ironicclient进程将volume_info信息更新到裸金属服务节点的/extra/bootable_volume属性中,并将configdrive数据更新到裸金属服务节点的属性中;79.s204:ironic进程设置裸金属物理机bios启动;80.s205:向ironic进程返回智能网卡arm系统随裸金属物理机上电完成的信息;81.s206:ironic进程向裸金属物理机的智能网卡发送用户网络端口配置信息;82.s207:ironic进程从裸金属服务节点数据库中提取volume_info信息以及configdrive数据,组装成partition_data;83.s208:ironic进程根据partition_data中云硬盘数据确定目标云硬盘,并对目标云硬盘进行链接挂载;84.s209:将远端盘挂载到ironic本地,执行fgdisk相关命令,创建/dev/metadata新分区;85.s210:ironic进程将configdrive数据写入到/dev/metadata新分区中,并将新分区打上config-2的标签;86.s211:ironic进程根据partition_data中云硬盘数据断开与目标云硬盘的连接;87.s212:ironic进程将nodevoluneinfo信息写入到/tmp/volume_info.txt文件,并通过sshpass指令、scp指令将该文件写入到智能网卡arm系统;88.s213:ironic进程通过sshpass控制智能网卡系统执行prepare.py脚本;89.s214:裸金属物理机链接至目标云硬盘;90.s215:将目标云硬盘模拟为裸金属物理机的本地系统盘;91.s216:ironic进程设置裸金属物理机disk启动并重启;92.s217:裸金属物理机上电,并调用cloud_init进程上电读取config-2标签的云硬盘分区,获取configdrive数据。93.可以看出,本发明通过将目标云硬盘挂载至裸金属服务进程ironic所在的本地节点,以便于使用其中的服务器镜像文件实现裸金属服务器的部署,无需对镜像文件执行下载和复制的操作,以减少裸金属服务器部署所需时间。同时,利用云硬盘中可以挂载至本地节点的驱动配置系统,将用户元数据保存至驱动配置系统字段中以便于将用户元数据注入至裸金属服务器,以提高裸金属服务器的初始化速度,从而进一步提高裸金属服务器的部署效率。94.在具体实施中,作为目标云硬盘的云硬盘可以为在获取到裸金属部署指令后根据裸金属部署指令生成的云硬盘,也可以为预先生成的存储于云计算平台的云硬盘。95.在上述实施例的基础上,获取裸金属部署信息的步骤前,还包括:解析裸金属部署指令,以获取镜像文件需求信息;获取镜像文件库中与镜像文件需求信息对应的待部署镜像文件,其中,镜像文件库为用于保存镜像文件的远程数据库;对待部署镜像文件进行完整性校验,以判断待部署镜像文件是否为完整文件;若待部署镜像文件为完整文件,则根据待部署镜像文件创建云硬盘。96.可以理解的是,本实施例中对镜像文件进行完整性校验可以采用哈希校验算法,以保证待部署文件为完整的文件,防止由于待部署镜像文件异常导致裸金属服务器部署失败,影响服务器部署效率。97.进一步的,还可以在每个预设周期内对镜像文件库中的镜像文件进行更新,从而保证镜像文件的可用性。同时,当检测到与镜像文件需求信息对应的镜像文件存在异常后,可以选择版本最接近的镜像文件创建云硬盘,并向云计算平台维护人员发送告警信息。98.在本实施例中选择在每次部署裸金属服务器时创建保存有待部署镜像文件的云硬盘,从而保证获取到的目标云硬盘更适用于当前场景,同时,无需在云计算系统中保存多个云硬盘,从而减少云计算系统的资源占用。99.在一些实施例中,将驱动配置系统字段保存至目标云硬盘包括:在目标云硬盘中创建元数据分区;将驱动配置系统字段保存至元数据分区中,并为元数据分区设置标签;100.在具体实施中,在目标云硬盘iscsi系统盘挂载到本地完成以后ironic会在该系统盘上调用101.sgdisk-n0:-64mb:0/dev/disk/by-path/ip-10.49.38.86:3260-iscsi-iqn.2010-10.org.openstack:volume-b241774d-ec05-4957-8906-c2110d00c0ea-lun-0指令,以创建用于保存驱动配置系统字段的元数据分区。102.随后,ironic进程将partition_data中的configdrive用户数据通过dd命令复制到新创建的分区上,并打上config-2的设备标签,以便于后续裸金属物理机的初始化进程对用户元数据进行查找。至此,用户的metadata数据已经被ironic给写入到了远端系统盘新建的/dev/metadata分区上。103.相应的,并将驱动配置系统字段保存至目标云硬盘的步骤后,还包括:断开与目标云硬盘的链接,以便于将目标云硬盘挂载至裸金属物理机节点。104.在一些实施例中,获取裸金属部署信息包括:获取裸金属部署类型;判断裸金属部署类型是否为无盘启动类型;若为无盘启动类型,则获取裸金属服务节点数据库中的矢量表和驱动配置系统字段;解析矢量表和驱动配置系统字段,以获取裸金属部署信息。105.nova命令触发裸金属的无盘启动创建流程。通过—boot-volume表明该裸金属是从卷启动。通过‑‑tags表明nova创建的云物理机而不是虚拟机,之后进入到nova部署创建云物理机的流程。具体的触发指令为:106.novaboot‑‑flavorbaremetal-favor‑‑boot-volumeiscsi-volume‑‑tags"@"‑‑nicbaremetal-nettest-bm‑‑config-drivetrue。107.图4为本发明实施例所提供的另一种裸金属服务器部署方法的流程图,如图4所示,本实施例所提供的裸金属服务器部署方法,应用于裸金属物理机,该方法包括:108.s30:获取目标云硬盘中的待部署镜像文件和驱动配置系统字段,解析驱动配置系统字段以获取用户元数据;其中,目标云硬盘为云计算平台获取裸金属部署信息后、根据云硬盘信息确定并挂载至裸金属服务进程ironic所在的本地节点的云硬盘,裸金属部署信息包括云硬盘信息和保存在驱动配置系统字段中的用户元数据,驱动配置系统字段为云计算平台保存至目标云硬盘的数据,目标云硬盘中保存有与云硬盘信息对应的待部署镜像文件;109.s31:根据待部署镜像文件部署裸金属服务器,并利用用户元数据初始化裸金属服务器。110.本实施例提供了一种裸金属服务器部署方法,包括:获取裸金属部署信息;其中,裸金属部署信息包括云硬盘信息和用户元数据,用户元数据保存在驱动配置系统字段中;根据云硬盘信息确定用于部署裸金属服务器的目标云硬盘,其中,目标云硬盘为保存有与云硬盘信息对应的待部署镜像文件的硬盘;由此可见,本发明所提供的技术方案,通过将目标云硬盘挂载至本地节点,以便于使用其中的服务器镜像文件实现裸金属服务器的部署,无需对镜像文件执行下载和复制的操作,以减少裸金属服务器部署所需时间。同时,利用云硬盘中可以挂载至本地节点的驱动配置系统,将用户元数据保存至驱动配置系统字段中以便于将用户元数据注入至裸金属服务器,以提高裸金属服务器的初始化速度,从而进一步提高裸金属服务器的部署效率。111.在一些实施例中,为了保证裸金属物理机的正常部署,解析驱动配置系统字段以获取用户元数据的步骤前,还包括:当检测到云计算平台发送的启动基本输入输出系统的命令后,执行预处理脚本,以将目标云硬盘链接至裸金属物理机的网卡;调用流控配置服务,将远程系统盘模拟到裸金属物理机,以便于目标云硬盘能够被裸金属物理机的基本输入输出系统识别。112.具体的,ironic进程将远端将目标云硬盘的信息写入到volume_info.txt文件中,并将volume_info.txt文件通过管理网复制到智能网卡的arm系统,以控制智能网卡执行预处理脚本(prepare.py脚本)。prepare.py脚本中,智能网卡的arm系统将会根据volume_info.txt文件中的云硬盘信息链接至目标云硬盘,并调用mlnx_snap服务将远端系统盘模拟到裸金属,以使目标云硬盘能够被裸金属bios识别上电。113.在一些实施例中,为了保证裸金属服务器部署成功,还需要对裸金属服务器的智能网卡进行初始化和冷重启操作。114.在上述实施例的基础上,执行预处理脚本,以将目标云硬盘链接至裸金属物理机的网卡的步骤前,还包括:基于裸金属物理机创建用户网络,并对裸金属物理机的网卡进行初始化配置;当检测到云计算平台发送的重启指令后,对裸金属物理机进行冷重启。115.具体的,对智能网卡进行初始化和冷重启操作包括:创建裸金属所在的用户网络baremetal-net。在裸金属上智能网卡的arm系统中,执行如下命令对网卡进行配置。配置完成后对裸金属进行下电上电冷重启。116.#sudomlxconfig-d/dev/mst/mt41686_pciconf0sinternal_cpu_model=1pf_bar2_enable=0per_pf_num_sf=1117.#sudomlxconfig-d/dev/mst/mt41686_pciconf0spf_sf_bar_size=8pf_total_sf=2118.#sudomlxconfig-d/dev/mst/mt41686_pciconf0.1spf_sf_bar_size=8pf_total_sf=2119.#sudomlxconfig-d/dev/mst/mt41686_pciconf0spci_switch_emulation_enable=1120.pci_switch_emulation_num_port=16121.#sudomlxconfig-d/dev/mst/mt41686_pciconf0snvme_emulation_enable=1nvme_emulation_num_msix=33nvme_emulation_num_pf=1nvme_emulation_num_vf=0122.在上述实施例中,对于裸金属服务器部署方法进行了详细描述,本发明还提供裸金属服务器部署装置对应的实施例。需要说明的是,本发明从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。123.图5为本发明实施例所提供的一种裸金属服务器部署装置的结构图,如图5所示,本实施例所提供的一种裸金属服务器部署装置,应用于云计算平台,该装置包括:124.获取模块10,用于获取裸金属部署信息;其中,裸金属部署信息包括云硬盘信息和用户元数据,用户元数据保存在驱动配置系统字段中;125.确定模块11,用于根据云硬盘信息确定用于部署裸金属服务器的目标云硬盘,其中,目标云硬盘为保存有与云硬盘信息对应的待部署镜像文件的硬盘;126.挂载模块12,用于将目标云硬盘挂载至本地节点,并将驱动配置系统字段保存至目标云硬盘,以便于裸金属服务器解析驱动配置系统字段获取用户元数据后,根据目标云硬盘中的待部署镜像文件和用户元数据部署裸金属服务器。127.由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。128.本实施例提供了一种裸金属服务器部署装置,包括:获取裸金属部署信息;其中,裸金属部署信息包括云硬盘信息和用户元数据,用户元数据保存在驱动配置系统字段中;根据云硬盘信息确定用于部署裸金属服务器的目标云硬盘,其中,目标云硬盘为保存有与云硬盘信息对应的待部署镜像文件的硬盘;由此可见,本发明所提供的技术方案,通过将目标云硬盘挂载至裸金属服务进程ironic所在的本地节点,以便于使用其中的服务器镜像文件实现裸金属服务器的部署,无需对镜像文件执行下载和复制的操作,以减少裸金属服务器部署所需时间。同时,利用云硬盘中可以挂载至本地节点的驱动配置系统,将用户元数据保存至驱动配置系统字段中以便于将用户元数据注入至裸金属服务器,以提高裸金属服务器的初始化速度,从而进一步提高裸金属服务器的部署效率。129.图6为本发明实施例提供的另一种裸金属服务器部署装置的结构图,如图6所示,裸金属服务器部署装置包括:存储器20,用于存储计算机程序;130.处理器21,用于执行计算机程序时实现如上述实施例裸金属部署方法的步骤。131.本实施例提供的裸金属部署装置可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。132.其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用数字信号处理器(digitalsignalprocessor,dsp)、现场可编程门阵列(field-programmablegatearray,fpga)、可编程逻辑阵列(programmablelogicarray,pla)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(centralprocessingunit,cpu);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以集成有图像处理器(graphicsprocessingunit,gpu),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括人工智能(artificialintelligence,ai)处理器,该ai处理器用于处理有关机器学习的计算操作。133.存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的裸金属部署方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括windows、unix、linux等。数据203可以包括但不限于用户元数据、云硬盘信息等。134.在一些实施例中,裸金属部署装置还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。135.本领域技术人员可以理解,图6中示出的结构并不构成对裸金属部署装置的限定,可以包括比图示更多或更少的组件。136.本发明实施例提供的裸金属部署装置,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:137.获取裸金属部署信息;其中,裸金属部署信息包括云硬盘信息和用户元数据,用户元数据保存在驱动配置系统字段中;138.根据云硬盘信息确定用于部署裸金属服务器的目标云硬盘,其中,目标云硬盘为保存有与云硬盘信息对应的待部署镜像文件的硬盘;139.将目标云硬盘挂载至裸金属服务进程ironic所在的本地节点,并将驱动配置系统字段保存至目标云硬盘,以便于裸金属服务器解析驱动配置系统字段获取用户元数据后,根据目标云硬盘中的待部署镜像文件和用户元数据部署裸金属服务器。140.本实施例提供了一种裸金属服务器部署装置,包括:获取裸金属部署信息;其中,裸金属部署信息包括云硬盘信息和用户元数据,用户元数据保存在驱动配置系统字段中;根据云硬盘信息确定用于部署裸金属服务器的目标云硬盘,其中,目标云硬盘为保存有与云硬盘信息对应的待部署镜像文件的硬盘;由此可见,本发明所提供的技术方案,通过将目标云硬盘挂载至裸金属服务进程ironic所在的本地节点,以便于使用其中的服务器镜像文件实现裸金属服务器的部署,无需对镜像文件执行下载和复制的操作,以减少裸金属服务器部署所需时间。同时,利用云硬盘中可以挂载至本地节点的驱动配置系统,将用户元数据保存至驱动配置系统字段中以便于将用户元数据注入至裸金属服务器,以提高裸金属服务器的初始化速度,从而进一步提高裸金属服务器的部署效率。141.最后,本发明还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例(可以是云计算平台侧对应的方法、也可以是裸金属物理机侧对应的方法,还可以是云计算平台侧和裸金属物理机侧对应的方法)中记载的步骤。142.可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。143.以上对本发明所提供的裸金属服务器部署方法、装置、介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本
技术领域:
:的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。144.还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。当前第1页12当前第1页12