CN116483382A - 一种裸金属部署方法、装置及其介质 - Google Patents

一种裸金属部署方法、装置及其介质 Download PDF

Info

Publication number
CN116483382A
CN116483382A CN202310540313.5A CN202310540313A CN116483382A CN 116483382 A CN116483382 A CN 116483382A CN 202310540313 A CN202310540313 A CN 202310540313A CN 116483382 A CN116483382 A CN 116483382A
Authority
CN
China
Prior art keywords
bare metal
hard disk
volume information
node
deployment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310540313.5A
Other languages
English (en)
Inventor
刘元锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jinan Inspur Data Technology Co Ltd
Original Assignee
Jinan Inspur Data Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jinan Inspur Data Technology Co Ltd filed Critical Jinan Inspur Data Technology Co Ltd
Priority to CN202310540313.5A priority Critical patent/CN116483382A/zh
Publication of CN116483382A publication Critical patent/CN116483382A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开一种裸金属部署方法、装置及其介质,涉及云计算技术领域,用于创建云物理机,针对目前部署裸金属耗时较长的问题,提供一种裸金属部署方法,通过在根据用户镜像创建部署所需的云硬盘后,获取该云硬盘的卷信息,以供各节点访问该云硬盘;在获取到云硬盘的卷信息之后,将卷信息写入到裸金属所在节点中,使得裸金属所在节点可以访问云硬盘,从中获取用户镜像以完成操作系统装机部署;然后,再通过将云硬盘模拟成本地磁盘挂载到裸金属下,实现将远端云硬盘作为系统盘模拟到裸金属本地,完成裸金属的启动装机部署。整个部署过程中无需用户镜像的多次下载/复制,也无需反复的网络切换,大大降低了部署流程耗时,提高部署效率。

Description

一种裸金属部署方法、装置及其介质
技术领域
本申请涉及云计算技术领域,特别是涉及一种裸金属部署方法、装置及其介质。
背景技术
随着云计算技术的快速发展,裸金属服务是一款兼具虚拟机弹性和物理机性能的计算类服务。裸金属是裸金属服务器(BareMetal)的简称,一般表示还未安装操作系统的物理服务器,相应的,当裸金属应用在云平台中且安装好操作系统后,其可称之为云物理机。
在云平台中创建裸金属云物理机时与创建虚拟机同理,只需指定所需要的硬件要求(如:CPU内存等)、镜像以及所需要的网络即可,用户可以灵活申请,按需创建使用裸金属作为云物理机。
传统的裸金属装机启动方案一般采用本地磁盘(disk)的启动方法,具体的:Ironic先将裸金属的网络切换到部署网络,以方便裸金属装机;然后,Ironic将用户镜像下载到本地Ironic所在的服务器节点;再在部署网络中Ironic将用户镜像通过dd命令(一种主要功能为转换和复制文件的命令)复制到裸金属本地的硬盘当中;之后,Ironic将裸金属的网络从部署网络再切换回用户网络,供给用户使用。如此,传统的裸金属部署流程涉及到部署网络与用户网络之间的切换、用户镜像的多次复制、下载,这些步骤都会大大的增加Ironic部署裸金属系统的时间,使得整个装机部署流程一般需要在二十分钟以上,部署时间较长,已经逐渐无法满足用户日益增长的需要。
Ironic:OpenStack中的裸金属服务,主要是用于管理部署裸金属。
Openstack:一个云计算开源基础设施项目。
所以,现在本领域的技术人员亟需要一种裸金属部署方法,解决目前部署裸金属耗时较长、部署效率低下的问题。
发明内容
本申请的目的是提供一种裸金属部署方法、装置及其介质,以解决目前部署裸金属耗时较长、部署效率低下的问题。
为解决上述技术问题,本申请提供一种裸金属部署方法,包括:
在云平台中创建包含用户镜像的云硬盘,并获取云硬盘的卷信息;
设置云硬盘为裸金属的启动盘;
将卷信息写入到裸金属所在的节点中,以便于节点根据卷信息将云硬盘模拟成本地硬盘并挂载到裸金属下;
设置裸金属的启动方式为本地硬盘启动。
优选的,根据卷信息将云硬盘模拟成本地硬盘并挂载到裸金属下包括:
将卷信息按照本地硬盘卷信息的格式进行重写,并根据重写后的卷信息将云硬盘挂载到裸金属下。
优选的,裸金属所在的节点挂载有智能网卡;
相应的,将卷信息写入到裸金属所在的节点中,以便于节点根据卷信息将云硬盘模拟成本地硬盘并挂载到裸金属下包括:
将卷信息写入到裸金属所在节点的智能网卡中,以便于智能网卡根据卷信息将云硬盘模拟成本地硬盘并挂载到裸金属下。
优选的,智能网卡中预先写入有脚本文件,脚本文件被执行时用于实现将卷信息按照本地硬盘卷信息的格式进行重写,并根据重写后的卷信息将云硬盘挂载到裸金属下的步骤。
优选的,将卷信息写入到裸金属所在的节点中包括:
将卷信息以文本文件的形式写入到裸金属所在的节点中。
优选的,将卷信息以文本文件的形式写入到裸金属所在的节点中包括:
部署节点将卷信息以文本文件的形式通过远程免密执行命令和远程文件拷贝命令写入到智能网卡的系统目录下。
优选的,云平台中包括多个裸金属及其对应的节点,相应的,方法还包括:
判断各裸金属所在节点是否配置有智能网卡;
对于配置有智能网卡的节点,则执行将卷信息写入到裸金属所在节点的智能网卡中的步骤;
对于未配置有智能网卡的节点,则返回与未配置智能网卡节点所对应的提示信息。
为解决上述技术问题,本申请还提供一种裸金属部署装置,包括:
创建模块,用于在云平台中创建包含用户镜像的云硬盘,并获取云硬盘的卷信息;
第一设置模块,用于设置云硬盘为裸金属的启动盘;
部署模块,用于将卷信息写入到裸金属所在的节点中,以便于节点根据卷信息将云硬盘模拟成本地硬盘并挂载到裸金属下;
第二设置模块,用于设置裸金属的启动方式为本地硬盘启动。
在一种优选的实施方案中,上述的部署模块具体用于:
将卷信息写入到各裸金属所在节点中,以便于各节点将卷信息按照本地硬盘卷信息的格式进行重写,并根据重写后的卷信息将云硬盘挂载到裸金属下。
在一种优选的实施方案中,裸金属所在的节点挂载有智能网卡;相应的,上述的部署模块用于将卷信息写入到裸金属所在节点的智能网卡中,以便于智能网卡根据卷信息将云硬盘模拟成本地硬盘并挂载到裸金属下。
在一种优选的实施方案中,上述的智能网卡中预先写入有脚本文件,脚本文件被执行时用于实现将卷信息按照本地硬盘卷信息的格式进行重写,并根据重写后的卷信息将云硬盘挂载到裸金属下的步骤。
在一种优选的实施方案中,上述的部署模块具体用于:
将卷信息以文本文件的形式写入到裸金属所在的节点中,以便于节点根据卷信息将云硬盘模拟成本地硬盘并挂载到裸金属下。
在另一种优选实施例中,裸金属所在节点配置有智能网卡,智能网卡用于实现将卷信息按照本地硬盘卷信息的格式进行重写,并根据重写后的卷信息将云硬盘挂载到裸金属下;基于此,上述的部署模块具体又用于:
将卷信息以文本文件的形式写入到裸金属所在节点的智能网卡中,以便于智能网卡根据卷信息将云硬盘模拟成本地硬盘并挂载到裸金属下。
在一种优选的实施方案中,上述的部署模块具体用于:
由部署节点将卷信息以文本文件的形式通过远程免密执行命令和远程文件拷贝命令写入到智能网卡的系统目录下,以便于节点根据卷信息将云硬盘模拟成本地硬盘并挂载到裸金属下。
在另一种优选实施例中,裸金属所在节点配置有智能网卡,智能网卡用于实现将卷信息按照本地硬盘卷信息的格式进行重写,并根据重写后的卷信息将云硬盘挂载到裸金属下;基于此,上述的部署模块具体又用于:
由部署节点将卷信息以文本文件的形式通过远程免密执行命令和远程文件拷贝命令写入到智能网卡的系统目录下,以便于智能网卡根据卷信息将云硬盘模拟成本地硬盘并挂载到裸金属下。
在一种优选的实施方案中,上述的一种裸金属部署装置还包括:
判断模块,用于判断各裸金属所在节点是否配置有智能网卡;对于配置有智能网卡的节点,则触发部署模块;对于未配置有智能网卡的节点,则返回与未配置智能网卡节点所对应的提示信息。
为解决上述技术问题,本申请还提供一种裸金属部署装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述的裸金属部署方法的步骤。
为解决上述技术问题,本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的裸金属部署方法的步骤。
本申请提供的一种裸金属部署方法,通过预先创建包含用户镜像的云硬盘代替本地硬盘实现裸金属的部署启动。具体的,在根据用户镜像创建部署所需的云硬盘后,获取该云硬盘的卷信息,以用于供云平台各节点访问该云硬盘;进一步的,在获取到云硬盘的卷信息之后,将卷信息写入到裸金属所在节点中,使得裸金属所在节点可以访问云硬盘,从中获取用户镜像以完成操作系统装机部署;然后,再通过将云硬盘模拟成本地磁盘挂载到裸金属下,实现将远端云硬盘作为系统盘模拟到裸金属本地,从而裸金属的启动装机部署。整个裸金属部署过程中无需反复的网络切换,也无需用户镜像从用户到部署节点再到裸金属本地磁盘的多次复制,大大降低了部署流程的耗时,提高部署效率,更好地满足了用户不断提高的应用需要。
本申请提供的裸金属部署装置、及计算机可读存储介质,与上述方法对应,效果同上。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种云平台架构的示意图;
图2为本发明提供的一种裸金属部署方法的流程图;
图3为本发明提供的另一种裸金属部署方法的流程图;
图4为本发明提供的一种裸金属部署装置的结构图;
图5为本发明提供的另一种裸金属部署装置的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的核心是提供一种裸金属部署方法、装置及其介质。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
云平台是IT基础设施的交付和使用模式,基于云平台的计算服务称为云计算,所以,云平台也称为云计算平台。云平台是基于硬件资源和软件资源的服务,提供计算、网络和存储能力。通常,云平台以分布式方式存储数据或运行应用和服务,根据主要功能的不同,云平台可以划分为以下三类:以数据存储为主的存储型云平台,以数据处理为主的计算型云平台以及计算和数据存储处理兼顾的综合云计算平台。无论是哪种云平台,其应用和服务部件都可以包括多个节点(例如,计算设备、处理单元或服务器机架中的刀片、虚拟机、物理机),节点(node)被分配以运行应用和服务的一个或多个部分,从而为用户提供相应功能。
对于本申请而言,所针对的即为云平台中对于物理机的部署,由此如图1所示,可将云平台中节点划分为:裸金属所在的节点,以及用于部署裸金属节点的主节点(又可称为部署节点);当裸金属装机部署完成之后,其所在节点相当于部署了一个云物理机,可用于参与云平台相应功能的实现;部署节点上则通常有Nova和Ironic。Nova是OpenStack中的计算服务组件,可以通过创建云物理机来管理部署裸金属,而Ironic则是OpenStack中的裸金属服务,主要用于管理部署裸金属,故部署节点通过Nova和Ironic实现对各裸金属节点的部署配置。
传统的裸金属装机启动装机方案一般采用本地disk的启动方法,具体而言,即为:通过Ironic先将各裸金属节点的网络切换到部署网络(第一次网络切换);Ironic再将用户镜像从外部下载到本地Ironic所在的服务器节点(即上述的部署节点,以及第一次用户镜像下载/复制);在部署网络中,Ironic将用户镜像通过dd命令复制到裸金属本地的硬盘当中(第二次用户镜像下载/复制);之后,Ironic将用户网络切换回用户网络(第二次网络切换),供给用户使用。由上述可知,传统的裸金属部署流程涉及到多次部署网络和用户网络之间的切换、以及镜像下载/复制,这些流程会大大的加大Ironic部署裸金属系统的时间,使得装机部署流程一般需要在二十分钟以上。
对于上述裸金属部署流程所需时间过长的问题,本申请提供一种裸金属部署方法,如图2所示,包括:
S11:在云平台中创建包含用户镜像的云硬盘,并获取云硬盘的卷信息。
对于云硬盘的创建,由于在本申请中,云硬盘是用于作为各裸金属装机部署所用的系统盘,所以云硬盘中需要存储有用户镜像作为裸金属的系统。示例性的,用户镜像以qcow2文件形式存在,命名为**.qcow2。
因此,云硬盘创建流程首先需要通过系统镜像**.qcow2在云平台后端创建云硬盘,云硬盘可以是基于小型计算机系统接口(Internet Small Computer SystemInterface,iSCSI)建立的云硬盘,为方便后续称呼,本实施例将创建的iSCSI云硬盘命名为iscsi-volume。
对于云硬盘iscsi-volume的卷信息,具体可以包括但不限于:系统云硬盘iscsi-volume的加密信息(例如加密类型等)、通用唯一识别码(Universally UniqueIdentifier,UUID)、以及initiator和target这类iSCSI格式下的基本信息。通过上述卷信息,即可实现其他节点对于云硬盘iscsi-volume的访问,也因此,为方便后续裸金属的部署,部署节点应获取到上述的卷信息,以便于Nova和Ironic进行调用。
S12:设置云硬盘为裸金属的启动盘。
本步骤也即在通过Nova进行后续裸金属的部署时,指定裸金属以该云硬盘作为系统盘启动,以保留裸金属从真正的本地硬盘启动的另一种启动方式。在另一种实施方式中,也可以设置裸金属仅可从云硬盘启动,则该实施例下无需声明云硬盘为裸金属的启动盘。
S13:将卷信息写入到裸金属所在的节点中,以便于节点根据卷信息将云硬盘模拟成本地硬盘并挂载到裸金属下。
需要说明的是,在本步骤中,裸金属所在节点需要根据写入的卷信息将云硬盘模拟成本地硬盘并挂载到裸金属下,所以需要裸金属节点中存在具有一定数据处理以及控制能力的设备,对于执行上述步骤的具体设备,本实施例不做限制,可根据实际裸金属节点中的硬件设备或者需要而定,但提供一种较为优选的实施方案,上述用于根据卷信息将云硬盘模拟成本地硬盘并挂载到裸金属下的设备具体为裸金属节点中的智能网卡。
上述的智能网卡与常见的普通网卡的区别主要在于智能网卡自带了一个基于ARM(Advanced RISC Machine)处理器实现的操作系统,用户可以通过网络连入,从而对智能网卡下达指令,控制智能网卡实现相应功能。
容易理解的是,为实现云平台各节点之间的互通,网卡对于各节点而言是必需设备,而智能网卡作为现有且较为成熟的产品,获取并应用在本实施例中较为容易,使得本申请所提供的一种裸金属部署方法更易实施。
S14:设置裸金属的启动方式为本地硬盘启动。
当通过上述步骤指定云硬盘作为裸金属启动的系统盘、且将云硬盘模拟成本地硬盘挂载到裸金属节点下之后,即可通过与传统启动部署方案相同的步骤,设置裸金属的启动方式为本地disk启动,此时再对裸金属进行上电时,裸金属就会以云硬盘iscsi-volume作为系统盘进行启动,实现裸金属的无盘(无本地硬盘)启动。
对于步骤S13中,根据卷信息将云硬盘模拟成本地硬盘并挂载到裸金属下的具体实现方式,本实施例还提供一种具体的实施方式:
将卷信息按照本地硬盘卷信息的格式进行重写,并根据重写后的卷信息将云硬盘挂载到裸金属下。
由于本地硬盘卷信息的格式对于本领域技术人员是已知的,而云硬盘卷信息又通过上述步骤获取,故如何根据本地硬盘卷信息的格式对云硬盘卷信息进行重写本实施例不再赘述。
如上述实施例所述,卷信息的重写步骤可交由裸金属节点的智能网卡执行,此时,在步骤S13中部署节点将云硬盘的卷信息写入至裸金属所在节点具体也即写入到裸金属所在节点的智能网卡中。对于卷信息从部署节点到裸金属节点之间的跨节点传输,卷信息可以通过文件的形式进行传输,优选使用文本文件的形式,以方便运输以及后续的卷信息写入智能网卡的流程。
进一步的,上述由部署节点(具体指部署节点中的Ironic)将卷信息以文本文件写入智能网卡的步骤具体又可以为:
部署节点将卷信息以文本文件的形式通过远程免密执行命令(sshpass)和远程文件拷贝命令(scp)写入到智能网卡的系统目录(/root/inspur/)下。
其中,远程文件拷贝命令用于实现云硬盘卷信息从部署节点到智能网卡中的数据传输,而远程免密执行命令则用于提高卷信息传输过程中的效率,是基于云平台中部署节点和裸金属节点的安全需求所针对设置的。
考虑到对于步骤S13所执行动作为智能网卡原本未有的功能,故可通过诸如部署节点远程控制或于智能网卡中预设用于执行步骤S13的脚本文件等方式实现。
对于通过部署节点远程控制的实施方案,部署节点中存在Nova和Ironic这类用于调度、管理云平台的组件/服务,由上述可知,裸金属节点中的智能网卡内置有基于ARM处理器实现的操作系统,用户可通过网络连入,相应的,部署节点也可以通过网络连入对智能网卡进行控制,以使智能网卡完成上述的将云硬盘卷信息根据本地硬盘卷信息格式进行重写并将云硬盘挂载到裸金属下的步骤。
对于内置脚本文件以使智能网卡自行执行步骤S13所要求动作的实施方案,则具体为:智能网卡中预先写入有脚本文件,脚本文件被执行时用于实现将卷信息按照本地硬盘卷信息的格式进行重写,并根据重写后的卷信息将云硬盘挂载到裸金属下的步骤。
容易理解的是,当如上述实施例所述的利用部署在裸金属节点的智能网卡实现云硬盘模拟成本地硬盘,以实现裸金属的无盘部署时,要求裸金属所在节点配置有智能网卡(若通过其他设备实现则要求裸金属节点配置有相应的设备),因此,上述的方法还包括:
判断裸金属所在节点是否配置有智能网卡,若是,则返回至步骤S13,若否,则返回对应的提示信息。
容易理解的是,云平台中通常包括多个节点,同样的,在进行一次裸金属部署时也存在一次对多个裸金属节点进行部署的情况,因此上述应对所有需要部署裸金属的节点进行一次是否配置有智能网卡的判断,具体的,也即上述方法还包括:
S15:判断各裸金属所在节点是否配置有智能网卡;
S16:对于配置有智能网卡的节点,则执行将卷信息写入到裸金属所在节点的智能网卡中的步骤。
S17:对于未配置有智能网卡的节点,则返回与未配置智能网卡节点所对应的提示信息。
也即,在进行裸金属的部署前,先判断裸金属是否有实现本申请所提供的一种裸金属无盘启动部署方法的前提条件(在一种优选实施例中,前提为节点中配置有智能网卡),若满足前提条件,即通过上述后续的步骤实现裸金属的快速部署,若不满足,则对这部分节点进行报错,以提示相关人员此部分节点的裸金属未部署成功。对于提示信息的内容和表现形式,本实施例并未作出限制,提示信息中至少应包含可以唯一确定对应节点的信息,可以通过文字、图像、表格等形式展示,还可以通过邮件、推送、弹窗等方式发送给相关人员。
还需要说明的是,上述实施例所提供的一种裸金属部署方法所述的部署步骤不代表进行一次完整的裸金属部署所需的全部流程,容易理解的是,在云平台中创建物理机(即部署裸金属)时,还需要其他的一些操作,例如在通过Nova命令触发裸金属的启动创建流程时,除去上述的指定云硬盘为裸金属的启动盘的操作之外,还需要如现有物理机创建流程中的部分配置操作,例如声明本次Nova创建的是物理机而不是虚拟机等等。由于此部分操作是现有利用Nova和Ironic创建云物理机的常规操作,故本实施例不对此进行赘述。
由上述可知,本申请提供的一种裸金属部署方法通过于云平台中申请云硬盘作为各个裸金属启动部署的系统盘;进而,获取云硬盘的卷信息,并根据裸金属本地硬盘的格式对其进行重写,以将云硬盘模拟成裸金属的本地硬盘挂载到裸金属下,后续裸金属在上电后则可以实现将云硬盘识别为本地硬盘进行启动的效果,也即实现裸金属的“无盘启动”(无盘指无本地硬盘)。整个裸金属部署过程中,用户可直接拿用户镜像去创建云硬盘,后续无需下载到部署节点本地,也无需再复制到裸金属节点的本地硬盘,不涉及到用户镜像的多次下载、复制;此外,本方法通过云硬盘实现裸金属的部署,则使得裸金属节点可以始终保持在用户网络,无需进行多次、反复地切换;正因如此,本申请所提供的一种裸金属部署方法可以有效地缩短裸金属部署流程所需的时长,大幅度提高部署效率,更好地适应了云平台部署的实际应用需要。
进一步的,为更清楚的说明由本申请所提供的一种裸金属部署方法,本实施例结合上述各实施例所提供优选方案以及实际应用示例对上述方法进行更详细的说明,具体的流程如图3所示,应用于用户侧、Nova侧、Ironic侧、裸金属及智能网卡侧、iSCSI存储侧之间;其中,Nova侧和Ironic侧共属于云平台的部署节点,裸金属以及其对应的智能网卡同属同一节点,iSCSI存储侧即上述创建有iSCSI云硬盘的云平台后端;具体的步骤包括:
S21:用户侧通过系统镜像**.qcow2于iSCSI存储侧中创建云硬盘iscsi-volume。
本步骤中的系统镜像**.qcow2也即上述实施例的用户镜像,此镜像用于作为部署裸金属的操作系统。
此外,还需要进行一些其他云物理机创建的准备工作,例如:创建裸金属所工作的用户网络baremetal-net、对裸金属所在节点的智能网卡进行配置、在配置完成后对裸金属进行下电-上电的冷重启等操作。
S22:iSCSI存储侧在云硬盘创建成功之后,返回云硬盘的卷信息至Nova侧。
S23:用户侧通过Nova命令设置裸金属的启动盘为云硬盘,触发Nova侧的物理机创建进程。
具体的,通过—boot-volume表明该裸金属是从卷启动,也即从云硬盘启动;通过--tags表明Nova创建的为物理机而不是虚拟机;进而触发Nova侧的物理机创建进程。
S24:Nova侧接收云硬盘的卷信息,并将卷信息写入到Ironic节点的数据库中。
具体的,Nova进入到nova spawn中,从block_device_info中提取由iSCSI存储侧发送的云硬盘的卷信息,包括加密类型、initiator和target等基本信息;之后,Nova调用ironicclient工具将卷信息写入到Ironic本地节点的数据库当中。
S25:Ironic侧设置裸机上电启动,待智能网卡上电完成以后,判断裸金属及智能网卡侧是否配置有智能网卡。
对于步骤S25的判断,若裸金属节点配置有智能网卡,则进入后续的步骤S26,若未配置智能网卡,则返回对应的提示信息并退出本次部署流程。
S26:Ironic侧通过sshpass配合scp命令将云硬盘的卷信息以文本文件的形式写入到智能网卡的系统目录下。
具体的,Ironic侧在获取到由Nova侧发送的卷信息后,将卷信息整理成文本文件/tmp/volume_info,之后通过sshpass配合scp命令将文本文件
/tmp/volume_info放入到智能网卡arm系统的/root/inspur/目录下。
S27:Ironic侧通过sshpass登录智能网卡的ARM系统,以控制智能网卡进行步骤S28:执行python3/prepare.py脚本。
其中,python3/prepare.py脚本被执行时将执行以下步骤:
S281:从/root/inspur/目录下读取文本文件/tmp/volume_info;
S282:按照预先设置的固定格式(本地硬盘格式)对文本文件中内容进行重写;
S283:将模拟成本地硬盘的云硬盘挂载到裸金属下。
更具体的,将模拟成本地硬盘的云硬盘挂载到裸金属下又包括:根据改写后的卷信息调用spdk以创建bdev;创建bdev之后,再创建nvme的subsystem以及nvme controller和namespace等操作。
spdk:Storage Performance Development Kit,一种端对端的参考存储体系结构。
bdev:Block device abstration layer,一种通用的块设备抽象,是连接到各种不同设备驱动和块设备的存储协议的粘合剂,还在块层中提供灵活的API用于额外的用户功能(磁盘阵列,压缩,去冗等等)。
nvme:NVM Express,NVMe,也称为非易失性内存主机控制器接口规范,是一个逻辑设备接口规范。
subsystem:连接器参数,用来指定程序的入口函数。
nvme controller:NVMe控制器。
namespace:命名空间。命名空间是许多编程语言使用的一种代码组织的形式,通过命名空间来分类,区别不同的代码功能,避免不同的代码片段(通常由不同的人协同工作或调用已有的代码片段)同时使用时由于不同代码间变量名相同而造成冲突。
S29:Ironic侧设置裸金属启动方式为本地disk启动。
自步骤S29之后,裸金属再次上电后即会从云硬盘iscsi-volume启动,实现裸金属的无盘启动部署,部署流程自动化实现,无需过多人工干预,实施简单;且整个裸金属部署过程不涉及到用户镜像的下载和复制,通过用户镜像创建云硬盘的步骤也可在部署前预先进行,不会对裸金属部署流程造成额外耗时;同时,上述的部署流程可全程在用户网络下进行,无需多次进行部署网络和用户网络之间的切换,从减少网络切换次数的角度优化部署流程耗时,从而大大提高了整个裸金属部署流程的部署效率,减少部署耗时,更好地贴合了如今对于云平台物理机创建、裸金属部署应用的需要。
在上述实施例中,对于一种裸金属部署方法进行了详细描述,本申请还提供一种裸金属部署装置对应的实施例。需要说明的是,本申请从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。
基于功能模块的角度,如图4所示,本实施例提供一种裸金属部署装置,包括:
创建模块31,用于在云平台中创建包含用户镜像的云硬盘,并获取云硬盘的卷信息;
第一设置模块32,用于设置云硬盘为裸金属的启动盘;
部署模块33,用于将卷信息写入到各裸金属所在节点中,以便于节点根据卷信息将云硬盘模拟成本地硬盘并挂载到裸金属下;
第二设置模块34,用于设置裸金属的启动方式为本地硬盘启动。
在一种优选的实施方案中,上述的部署模块具体用于:
将卷信息写入到各裸金属所在节点中,以便于各节点将卷信息按照本地硬盘卷信息的格式进行重写,并根据重写后的卷信息将云硬盘挂载到裸金属下。
在一种优选的实施方案中,裸金属所在的节点挂载有智能网卡;相应的,上述的部署模块用于将卷信息写入到裸金属所在节点的智能网卡中,以便于智能网卡根据卷信息将云硬盘模拟成本地硬盘并挂载到裸金属下。
在一种优选的实施方案中,上述的智能网卡中预先写入有脚本文件,脚本文件被执行时用于实现将卷信息按照本地硬盘卷信息的格式进行重写,并根据重写后的卷信息将云硬盘挂载到裸金属下的步骤。
在一种优选的实施方案中,上述的部署模块具体用于:
将卷信息以文本文件的形式写入到裸金属所在的节点中,以便于节点根据卷信息将云硬盘模拟成本地硬盘并挂载到裸金属下。
在另一种优选实施例中,裸金属所在节点配置有智能网卡,智能网卡用于实现将卷信息按照本地硬盘卷信息的格式进行重写,并根据重写后的卷信息将云硬盘挂载到裸金属下;基于此,上述的部署模块具体又用于:
将卷信息以文本文件的形式写入到裸金属所在节点的智能网卡中,以便于智能网卡根据卷信息将云硬盘模拟成本地硬盘并挂载到裸金属下。
在一种优选的实施方案中,上述的部署模块具体用于:
由部署节点将卷信息以文本文件的形式通过远程免密执行命令和远程文件拷贝命令写入到智能网卡的系统目录下,以便于节点根据卷信息将云硬盘模拟成本地硬盘并挂载到裸金属下。
在另一种优选实施例中,裸金属所在节点配置有智能网卡,智能网卡用于实现将卷信息按照本地硬盘卷信息的格式进行重写,并根据重写后的卷信息将云硬盘挂载到裸金属下;基于此,上述的部署模块具体又用于:
由部署节点将卷信息以文本文件的形式通过远程免密执行命令和远程文件拷贝命令写入到智能网卡的系统目录下,以便于智能网卡根据卷信息将云硬盘模拟成本地硬盘并挂载到裸金属下。
在一种优选的实施方案中,上述的一种裸金属部署装置还包括:
判断模块,用于判断各裸金属所在节点是否配置有智能网卡;对于配置有智能网卡的节点,则触发部署模块;对于未配置有智能网卡的节点,则返回与未配置智能网卡节点所对应的提示信息。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本实施例所提供的一种裸金属部署装置,通过创建模块于云平台中创建包含用户镜像的云硬盘,并获取云硬盘的卷信息,使得后续裸金属节点可以访问云硬盘,进而以云硬盘中的用户镜像作为操作系统进行启动;再通过第一设置模块设置云硬盘为裸金属的启动盘,为后续裸金属从云硬盘启动做准备;之后,通过部署模块将上述获取到的卷信息写入各裸金属节点中,以便于各裸金属节点根据云硬盘的卷信息将云硬盘模拟成本地硬盘,进而将云硬盘以本地硬盘的方式挂载到裸金属下;最后,通过第二设置模块将裸金属的启动方式设置为本地硬盘启动;至此,完成裸金属的启动部署流程,后续裸金属再上电启动时即会从云硬盘中启动,通过云硬盘中存有的用户镜像作为操作系统完成云物理机的创建。基于本装置所实现的裸金属部署流程无需多次用户镜像的下载与复制,也无需多次切换节点网络,基于用户网络即可实现,大大节省了不必要的时间损耗,从而提高部署效率、减少部署流程总耗时,适应于裸金属部署应用中不断增长的需要。
图4为本申请另一实施例提供的一种裸金属部署装置的结构图,如图4所示,一种裸金属部署装置包括:存储器40,用于存储计算机程序;
处理器41,用于执行计算机程序时实现如上述实施例一种裸金属部署方法的步骤。
本实施例提供的一种裸金属部署装置可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
其中,处理器41可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器41可以采用数字信号处理器(Digital Signal Processor,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器41也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器41可以集成有图像处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器41还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器40可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器40还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器40至少用于存储以下计算机程序401,其中,该计算机程序被处理器41加载并执行之后,能够实现前述任一实施例公开的一种裸金属部署方法的相关步骤。另外,存储器40所存储的资源还可以包括操作系统402和数据403等,存储方式可以是短暂存储或者永久存储。其中,操作系统402可以包括Windows、Unix、Linux等。数据403可以包括但不限于一种裸金属部署方法等。
在一些实施例中,一种裸金属部署装置还可包括有显示屏42、输入输出接口43、通信接口44、电源45以及通信总线46。
本领域技术人员可以理解,图4中示出的结构并不构成对一种裸金属部署装置的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的一种裸金属部署装置,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:一种裸金属部署方法。
本实施例所提供的一种裸金属部署装置,通过处理器执行保存在存储器中的计算机程序,以实现通过于云平台中申请云硬盘作为各个裸金属启动部署的系统盘;进而,获取云硬盘的卷信息,并根据裸金属本地硬盘的格式对其进行重写,以将云硬盘模拟成裸金属的本地硬盘挂载到裸金属下,后续裸金属在上电后则可以实现将云硬盘识别为本地硬盘进行启动的效果,也即实现裸金属的“无盘启动”(无盘指无本地硬盘)。整个裸金属部署过程中,用户可直接拿用户镜像去创建云硬盘,后续无需下载到部署节点本地,也无需再复制到裸金属节点的本地硬盘,不涉及到用户镜像的多次下载、复制;此外,本实施例通过云硬盘实现裸金属的部署,则使得裸金属节点可以始终保持在用户网络,无需进行多次、反复地切换;正因如此,本实施例所提供的一种裸金属部署方法可以有效地缩短裸金属部署流程所需的时长,大幅度提高部署效率,更好地适应了云平台部署的实际应用需要。
最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例所提供的一种计算机可读取存储介质,当其中存储的计算机程序被执行时,可以实现通过于云平台中申请云硬盘作为各个裸金属启动部署的系统盘;进而,获取云硬盘的卷信息,并根据裸金属本地硬盘的格式对其进行重写,以将云硬盘模拟成裸金属的本地硬盘挂载到裸金属下,后续裸金属在上电后则可以实现将云硬盘识别为本地硬盘进行启动的效果,也即实现裸金属的“无盘启动”(无盘指无本地硬盘)。整个裸金属部署过程中,用户可直接拿用户镜像去创建云硬盘,后续无需下载到部署节点本地,也无需再复制到裸金属节点的本地硬盘,不涉及到用户镜像的多次下载、复制;此外,本实施例通过云硬盘实现裸金属的部署,则使得裸金属节点可以始终保持在用户网络,无需进行多次、反复地切换;正因如此,本实施例所提供的一种裸金属部署方法可以有效地缩短裸金属部署流程所需的时长,大大节省了不必要的时间损耗,从而提高部署效率、减少部署流程总耗时,适应于裸金属部署应用中不断增长的需要。
以上对本申请所提供的一种裸金属部署方法、装置及其介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种裸金属部署方法,其特征在于,包括:
在云平台中创建包含用户镜像的云硬盘,并获取所述云硬盘的卷信息;
设置所述云硬盘为裸金属的启动盘;
将所述卷信息写入到所述裸金属所在的节点中,以便于所述节点根据所述卷信息将所述云硬盘模拟成本地硬盘并挂载到所述裸金属下;
设置所述裸金属的启动方式为本地硬盘启动。
2.根据权利要求1所述的裸金属部署方法,其特征在于,根据所述卷信息将所述云硬盘模拟成本地硬盘并挂载到所述裸金属下包括:
将所述卷信息按照本地硬盘卷信息的格式进行重写,并根据重写后的所述卷信息将所述云硬盘挂载到所述裸金属下。
3.根据权利要求1或2所述的裸金属部署方法,其特征在于,所述裸金属所在的节点挂载有智能网卡;
相应的,所述将所述卷信息写入到所述裸金属所在的节点中,以便于所述节点根据所述卷信息将所述云硬盘模拟成本地硬盘并挂载到所述裸金属下包括:
将所述卷信息写入到所述裸金属所在节点的智能网卡中,以便于所述智能网卡根据所述卷信息将所述云硬盘模拟成本地硬盘并挂载到所述裸金属下。
4.根据权利要求3所述的裸金属部署方法,其特征在于,所述智能网卡中预先写入有脚本文件,所述脚本文件被执行时用于实现将所述卷信息按照本地硬盘卷信息的格式进行重写,并根据重写后的所述卷信息将所述云硬盘挂载到所述裸金属下的步骤。
5.根据权利要求3所述的裸金属部署方法,其特征在于,将所述卷信息写入到所述裸金属所在的节点中包括:
将所述卷信息以文本文件的形式写入到所述裸金属所在的节点中。
6.根据权利要求3所述的裸金属部署方法,其特征在于,将所述卷信息以文本文件的形式写入到所述裸金属所在的节点中包括:
由部署节点将所述卷信息以文本文件的形式通过远程免密执行命令和远程文件拷贝命令写入到所述智能网卡的系统目录下。
7.根据权利要求3所述的裸金属部署方法,其特征在于,所述云平台中包括多个所述裸金属及其对应的节点,相应的,方法还包括:
判断各所述裸金属所在节点是否配置有所述智能网卡;
对于配置有所述智能网卡的节点,则执行将所述卷信息写入到所述裸金属所在节点的智能网卡中的步骤;
对于未配置有所述智能网卡的节点,则返回与未配置所述智能网卡节点所对应的提示信息。
8.一种裸金属部署装置,其特征在于,包括:
创建模块,用于在云平台中创建包含用户镜像的云硬盘,并获取所述云硬盘的卷信息;
第一设置模块,用于设置所述云硬盘为裸金属的启动盘;
部署模块,用于将所述卷信息写入到所述裸金属所在的节点中,以便于所述节点根据所述卷信息将所述云硬盘模拟成本地硬盘并挂载到所述裸金属下;
第二设置模块,用于设置所述裸金属的启动方式为本地硬盘启动。
9.一种裸金属部署装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任意一项所述的裸金属部署方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任意一项所述的裸金属部署方法的步骤。
CN202310540313.5A 2023-05-11 2023-05-11 一种裸金属部署方法、装置及其介质 Pending CN116483382A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310540313.5A CN116483382A (zh) 2023-05-11 2023-05-11 一种裸金属部署方法、装置及其介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310540313.5A CN116483382A (zh) 2023-05-11 2023-05-11 一种裸金属部署方法、装置及其介质

Publications (1)

Publication Number Publication Date
CN116483382A true CN116483382A (zh) 2023-07-25

Family

ID=87226892

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310540313.5A Pending CN116483382A (zh) 2023-05-11 2023-05-11 一种裸金属部署方法、装置及其介质

Country Status (1)

Country Link
CN (1) CN116483382A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117891472A (zh) * 2024-03-11 2024-04-16 杭州吉利汽车数字科技有限公司 一种裸金属镜像部署的方法、装置及介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117891472A (zh) * 2024-03-11 2024-04-16 杭州吉利汽车数字科技有限公司 一种裸金属镜像部署的方法、装置及介质
CN117891472B (zh) * 2024-03-11 2024-06-04 杭州吉利汽车数字科技有限公司 一种裸金属镜像部署的方法、装置及介质

Similar Documents

Publication Publication Date Title
US10379841B2 (en) Facilitating automatic container updating within a container-based environment
CN105765534B (zh) 虚拟计算系统和方法
CN102369510B (zh) 使用存储器分段和基于acpi的上下文切换加载操作系统
CN102387197B (zh) 从服务器到主机的流虚拟机系统和方法
US11016785B2 (en) Method and system for mirror image package preparation and application operation
CN101650660B (zh) 从中央存储装置引导计算机系统
US20120144391A1 (en) Provisioning a virtual machine
CN103430142B (zh) 用于编译系统映象和分割启动的方法和装置
WO2018090528A1 (zh) 一种镜像包制作、应用运行方法及系统
CN106897093A (zh) 一种windows操作系统的部署方法及装置
US10728169B1 (en) Instance upgrade migration
CN107533441B (zh) 创建操作系统卷
CN104866324A (zh) 一种便携操作系统构建方法及便携存储器
CN116483382A (zh) 一种裸金属部署方法、装置及其介质
WO2022199335A1 (zh) 服务器部件固件升级的控制方法、装置、设备及存储介质
CN114756290B (zh) 一种操作系统安装方法、设备及可读存储介质
CN115291946A (zh) 鸿蒙系统移植方法、装置、电子设备及可读介质
WO2022100439A1 (en) Workflow patching
CN106897064A (zh) 一种配置bios的方法及装置
CN111913753A (zh) 一种windows系统云迁移中启动方式的变更方法及系统
CN116775413A (zh) 一种pcie拓扑扫描方法、装置、设备及可读存储介质
US11836356B2 (en) Snapshots with smart network interface controller
CN103389909A (zh) 一种渲染农场节点虚拟化部署系统及其应用
CN115794132A (zh) 操作系统部署方法、装置、设备及存储介质
CN115617444A (zh) 融合多桌面架构的系统启动方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination