CN111813504B - 自动化配置生效虚拟机的方法、装置和电子设备 - Google Patents

自动化配置生效虚拟机的方法、装置和电子设备 Download PDF

Info

Publication number
CN111813504B
CN111813504B CN202010672250.5A CN202010672250A CN111813504B CN 111813504 B CN111813504 B CN 111813504B CN 202010672250 A CN202010672250 A CN 202010672250A CN 111813504 B CN111813504 B CN 111813504B
Authority
CN
China
Prior art keywords
virtual machine
target virtual
information
configuration information
configuration
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.)
Active
Application number
CN202010672250.5A
Other languages
English (en)
Other versions
CN111813504A (zh
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.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network 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 Beijing Kingsoft Cloud Network Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN202010672250.5A priority Critical patent/CN111813504B/zh
Publication of CN111813504A publication Critical patent/CN111813504A/zh
Application granted granted Critical
Publication of CN111813504B publication Critical patent/CN111813504B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Abstract

本申请提供了一种自动化配置生效虚拟机的方法、装置和电子设备,涉及云计算领域。当接收到目标虚拟机的生效指令后,可以从预设的虚拟机管理平台获取对应的元数据信息,并通过该元数据信息,设置目标虚拟机的生效配置信息;最后基于设置后的生效配置信息,生效目标虚拟机。该方式中,目标虚拟机的对应的元数据信息保存在虚拟机管理平台中,当目标虚拟机启动时,虚拟机可以从该虚拟机管理平台中直接获取目标虚拟机对应的元数据信息,进而基于元数据信息设置虚拟机的配置信息,无需再启动辅助虚拟机,因而简化了虚拟机启动的过程,缩短了开机启动的时间。

Description

自动化配置生效虚拟机的方法、装置和电子设备
技术领域
本申请涉及虚拟机启动技术领域,尤其是涉及一种自动化配置生效虚拟机的方法、装置和电子设备。
背景技术
相关技术中,如果需要启动某个目标虚拟机,则需要先行启动一个较低配置的辅助虚拟机,该辅助虚拟机用于运行启动目标虚拟机所需的工具库,如libguestfs工具库;通过该工具库,可以将启动目标虚拟机所需的系统盘镜像挂载到运行该目标虚拟机的虚拟机计算平台(物理机)的本地目录中;然后再通过上述工具库,将需要注入的信息注入至目标虚拟机中。该过程中,由于需要先行启动辅助虚拟机和挂载注入,才能实现目标虚拟机的启动,因此启动目标虚拟机的过程耗时较长。
发明内容
本申请的目的在于提供一种自动化配置生效虚拟机的方法、装置和电子设备,以简化虚拟机启动的过程,将注入工作交予虚拟机本身,缩短虚拟机开机启动的时间。
第一方面,本申请提供的一种自动化配置生效虚拟机的方法,该方法包括:如果接收到目标虚拟机的生效指令,从预设的虚拟机管理平台获取目标虚拟机的元数据信息;其中,元数据信息用于:设置目标虚拟机的生效配置信息;根据获取到的元数据信息,设置目标虚拟机的生效配置信息;基于设置后的生效配置信息,生效目标虚拟机。
进一步的,生效指令包括:目标虚拟机被创建后,用于首次生效目标虚拟机的第一生效指令;或者,目标虚拟机被关机后,用于重新生效目标虚拟机的第二生效指令。
进一步的,从预设的虚拟机管理平台获取目标虚拟机的元数据信息的步骤,包括:从预设的DHCP服务器获取目标虚拟机的网络信息;其中,目标虚拟机的网络信息至少包括目标虚拟机的IP地址;基于目标虚拟机的网络信息,设置目标虚拟机的网络配置;基于设置后的网络配置,以及预先获取的虚拟机管理平台的网络信息,访问虚拟机管理平台,以获取目标虚拟机的元数据信息;其中,虚拟机管理平台的网络信息包括:虚拟机管理平台的域名或IP地址。
进一步的,根据获取到的元数据信息,设置目标虚拟机的生效配置信息的步骤,包括:针对目标虚拟机的指定配置项,获取指定配置项对应的第一配置信息;其中,第一配置信息为指定配置项正在运行的历史配置信息;从元数据信息中获取指定配置项对应的第二配置信息;其中,第二配置信息为指定配置项的更新配置信息;根据第一配置信息以及第二配置信息,设置指定配置项的配置信息。
进一步的,根据第一配置信息以及第二配置信息,设置指定配置项的配置信息的步骤,包括:如果第一配置信息和第二配置信息不相同,将指定配置项的配置信息设置为第二配置信息。
进一步的,虚拟机管理平台上预先存储有目标虚拟机对应的系统盘镜像文件;从预设的虚拟机管理平台获取目标虚拟机的元数据信息的步骤之前,该方法还包括:从虚拟机管理平台上获取目标虚拟机对应的系统盘镜像文件,基于获取到的系统盘镜像文件,生成目标虚拟机的操作系统。
进一步的,元数据信息还包括目标虚拟机对应的脚本文件;
在生效目标虚拟机的步骤之后,该方法还包括:从元数据信息中解析出脚本文件,运行解析出的脚本文件。
第二方面,本申请提供的一种自动化配置生效虚拟机的装置,该装置包括:元数据信息获取模块,用于如果接收到目标虚拟机的生效指令,从预设的虚拟机管理平台获取目标虚拟机的元数据信息;其中,元数据信息用于:设置目标虚拟机的生效配置信息;配置信息设置模块,用于根据获取到的元数据信息,设置目标虚拟机的生效配置信息;虚拟机生效模块,用于基于设置后的生效配置信息,生效目标虚拟机。
进一步的,生效指令包括:目标虚拟机被创建后,用于首次生效目标虚拟机的第一生效指令;或者,目标虚拟机被关机后,用于重新生效目标虚拟机的第二生效指令。
进一步的,元数据信息获取模块还用于:从预设的DHCP服务器获取目标虚拟机的网络信息;其中,目标虚拟机的网络信息至少包括目标虚拟机的IP地址;基于目标虚拟机的网络信息,设置目标虚拟机的网络配置;基于设置后的网络配置,以及预先获取的虚拟机管理平台的网络信息,访问虚拟机管理平台,以获取目标虚拟机的元数据信息;其中,虚拟机管理平台的网络信息包括:虚拟机管理平台的域名或IP地址。
进一步的,配置信息设置模块还用于:针对目标虚拟机的指定配置项,获取指定配置项对应的第一配置信息;其中,第一配置信息为指定配置项正在运行的历史配置信息;从元数据信息中获取指定配置项对应的第二配置信息;其中,第二配置信息为指定配置项的更新配置信息;根据第一配置信息以及第二配置信息,设置指定配置项的配置信息。
进一步的,配置信息设置模块还用于:如果第一配置信息和第二配置信息不相同,将指定配置项的配置信息设置为第二配置信息。
进一步的,虚拟机管理平台上预先存储有目标虚拟机对应的系统盘镜像文件;上述装置还包括操作系统生成模块,用于:从虚拟机管理平台上获取目标虚拟机对应的系统盘镜像文件,基于获取到的系统盘镜像文件,生成目标虚拟机的操作系统。
进一步的,元数据信息还包括目标虚拟机对应的脚本文件;上述装置还包括文件运行模块,用于:从元数据信息中解析出脚本文件,运行解析出的脚本文件。
第三方面,本申请提供的一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现第一方面的自动化配置生效虚拟机的方法。
第四方面,本申请提供的一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现第一方面的自动化配置生效虚拟机的方法。
本申请提供的自动化配置生效虚拟机的方法、装置和电子设备,当接收到目标虚拟机的生效指令后,可以从预设的虚拟机管理平台获取对应的元数据信息,并通过该元数据信息,设置目标虚拟机的生效配置信息;最后基于设置后的配置信息,生效目标虚拟机。该方式中,目标虚拟机对应的元数据信息保存在虚拟机管理平台中,当目标虚拟机启动时,虚拟机可以从该虚拟机管理平台中直接获取对应的元数据信息,进而基于元数据信息设置目标虚拟机的生效配置信息,无需再启动辅助虚拟机,因而简化了虚拟机启动的过程,缩短了开机启动的时间。
附图说明
为了更清楚地说明本申请具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种自动化配置生效虚拟机的方法流程图;
图2为本申请实施例提供的另一种自动化配置生效虚拟机的方法流程图;
图3为本申请实施例提供的另一种自动化配置生效虚拟机的方法流程图;
图4为本申请实施例提供的一种自动化配置生效虚拟机的装置结构示意图;
图5为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合实施例对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
相关技术中,虚拟机在启动过程中,首先需要启动一个较低配置的辅助虚拟机,通过该辅助虚拟机运行的工具库,才可以将该虚拟机的系统盘镜像文件,挂载至该虚拟机的虚拟机计算平台本地目录;然后再通过该工具库,将需要注入的信息注入至镜像文件中,卸载镜像文件后,启动目标虚拟机,完整启动过程会有较长的时间损耗,因此导致启动时间较长,一般需要5分钟左右。
另外,启动目标虚拟机所需的工具库,如libguestfs工具库需要识别镜像的操作系统和分区,尤其的是windows操作系统,由于其闭源性,系统支持性较弱,对虚拟机计算平台系统还具有一定的依赖,因此需要安装特定的操作系统支持包才可以工作。其次,guestmount命令的挂载方式,只支持本地镜像的操作系统,因此针对EBS(Elastic BlockStorage,云硬盘)系统盘不能直接挂载,需要先将其挂载到本地NBD(Network BlockDevice,网络块设备)然后再进行挂载到运行该目标虚拟机的虚拟机计算平台的本地目录的步骤,中间增加了额外的操作步骤。因此,对于上述挂载到本地的方式,其开机定制化脚本的定制能力非常有限,只能修改一些文本文件,对于需要动态生效的服务就无能为力了,尤其是定制的格式和内容等也都非常有限,无法满足用户的定制化需求。
基于此,本申请实施例提供了一种自动化配置生效虚拟机的方法、装置和电子设备,该技术可以应用于虚拟机启动或其他机器的启动中。
首先,对本申请实施例提供了一种自动化配置生效虚拟机的方法进行详细描述,该方法应用于运行有目标虚拟机的服务器,该服务器中设置有目标虚拟机的操作系统,如图1所示,该方法包括如下步骤:
步骤S102,如果接收到目标虚拟机的生效指令,从预设的虚拟机管理平台获取目标虚拟机的元数据信息;其中,元数据信息用于:设置目标虚拟机的生效配置信息;
上述目标虚拟机可以是待启动的云虚拟主机,上述生效指令可以由虚拟机的用户发出,用于指示目标虚拟机启动。上述预设的虚拟机管理平台可以用于存储与目标虚拟机对应的元数据信息,该元数据信息可以包括主机名、网卡配置信息、密码、公钥等信息,其中,针对密码等具有敏感性问题的数据,可以进行加密处理,比如,缺省地进行加密处理,以保证数据在获取过程中的安全性。
具体的,当目标虚拟机接收到生效指令时,或者运行目标虚拟机的虚拟机计算平台接收到目标虚拟机的生效指令时,目标虚拟机开始运行,该目标虚拟机的状态通常会被切换为启动中,其中,虚拟机内部的cloud-init工具的cloud-init-local服务最先启动,cloud-init可以向虚拟机管理平台发送请求,确认信息源模块,依次获取版本、数据类型和具体数据内容信息,最后从预设的虚拟机管理平台获取目标虚拟机的元数据信息;该cloud-init工具是专为云环境中虚拟机的初始化而开发的工具,可以从各种数据源读取相关数据并据此对虚拟机进行配置。
另外,获取得到元数据信息之后,可以将该元数据信息持久化保存至本地,以方便后续使用,后续的服务可以根据需要从元数据信息中提取相应的数据,做出相应的设置。上述虚拟机管理平台可以是元数据服务器。
需要说明的是,在接收到目标虚拟机的生效指令之前,通常需要读取必要的配置项的配置信息,不使用系统默认方法,使用临时方法临时设置必要配置项的配置信息,为之后执行自动化配置生效虚拟机的方法步骤,提供初始化环境,为之后运行的方法步骤做铺垫。
步骤S104,根据获取到的元数据信息,设置目标虚拟机的生效配置信息;
上述获取到的元数据信息可以包括多个配置项,每个配置项有对应的配置信息;具体的,可以将配置项对应的配置信息,设置为目标虚拟机的生效配置信息。例如,元数据信息包括的配置项有设置主机名、设置系统分区等,可以根据实际需要将主机名信息和系统分区信息,设置为目标虚拟机的生效配置信息,根据设置的生效配置信息,设置虚拟机的主机名,具体设置为哪个主机名,可以根据元数据信息中设置主机名配置项的参数决定。
具体的,cloudinit工具的启动可以分为local、init、config、final等几个阶段,获取到的元数据信息,设置目标虚拟机的生效配置信息的过程,可以利用init、config、final阶段完成,这三个阶段运行定义为/etc/cloud/cloud.cfg的配置文件。这三个阶段分别要执行的任务都是以模块(module)形式设置的,其中的模块包含在cloud_init_modules、cloud_config_modules、cloud_final_modules中。比如:cloud.cfg文件中指定了set_hostname这个module,说明cloud-int会设置虚拟机的主机名,而具体设置为哪个主机名则由元数据信息中主机名的配置信息的参数决定。
步骤S106,基于设置后的生效配置信息,生效目标虚拟机。
具体的,将虚拟机中的生效配置信息设置完成之后,说明目标虚拟机中已经注入了相应的生效配置信息,可以按照生效指令生效目标虚拟机,生效为具有特定配置信息的目标虚拟机。
本申请提供的自动化配置生效虚拟机的方法,当目标虚拟机所在的虚拟机计算平台接收到生效指令后,运行中的目标虚拟机可以从预设的虚拟机管理平台获取对应的元数据信息,并通过该元数据信息,设置目标虚拟机的生效配置信息,生效为具有特定配置信息的目标虚拟机。该方式中,目标虚拟机的对应的元数据信息保存在虚拟机管理平台中,当目标虚拟机启动时,虚拟机可以从该虚拟机管理平台中直接获取目标虚拟机对应的元数据信息,进而基于元数据信息设置虚拟机的生效配置信息,无需再启动辅助虚拟机,因而简化了启动的过程,缩短了开机启动的时间。
另外,上述生效指令包括:目标虚拟机被创建后,用于首次启动目标虚拟机的第一生效指令;或者,目标虚拟机被关机后,用于重新启动目标虚拟机的第二生效指令。
上述第二生效指令可以是在首次启动目标虚拟机之后,任意一次重新启动该目标虚拟机的生效指令;可以理解为,启动目标虚拟机时,获取元数据、设置配置信息的过程,不仅限于首次启动目标虚拟机;若目标虚拟机首次启动之后,需要重新开机启动,此时该目标虚拟机接收到的生效指令为第二生效指令,可以再次从预设的虚拟机管理平台获取目标虚拟机的元数据信息,根据获取到的元数据信息,设置目标虚拟机的配置信息;最后基于设置后的所述配置信息,再次启动目标虚拟机。
该方式中,通过设置第二生效指令,使得目标虚拟机被关机后,重新启动目标虚拟机同样可以接收到生效指令,进而可以再次设置配置信息,以使每次启动都可以从虚拟机管理平台获取元数据信息,每次用户更新密码、部署公钥等,重启之后都可以更新至系统中,根据系统的实际情况更新密码信息;同样的,如果客户在虚机内部修改密码,重启之后密码不会覆盖。
本申请实施例还提供了另一种自动化配置生效虚拟机的方法,该方法在上述实施例的基础上实现;本实施例重点描述从预设的虚拟机管理平台获取目标虚拟机的元数据信息的具体实现过程(通过步骤S202-S206实现);如图2所示,该方法包括如下步骤:
步骤S202,如果接收到目标虚拟机的生效指令,从预设的DHCP服务器获取目标虚拟机的网络信息;其中,目标虚拟机的网络信息至少包括目标虚拟机的IP地址;
上述预设的DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)服务器可以控制的一段IP(Internet Protocol,网际互连协议)地址范围,在目标虚拟机计算平台接收到目标虚拟机的生效指令后,目标虚拟机进入运行中状态,虚拟机中cloud-init-local服务可以通过DHCP客户端自动获得DHCP服务器分配的网络信息;该网络信息可以包括目标虚拟机的IP地址、子网掩码等。具体的,当接收到目标虚拟机的生效指令后,正在运行的目标虚拟机,从预设的DHCP服务器获取目标虚拟机的网络信息。
步骤S204,基于目标虚拟机的网络信息,设置目标虚拟机的网络配置;
通常在目标虚拟机的网络不正常的情况下,是无法通过网络信息获取元数据信息;因此,本实施例中,若想要正常运行目标虚拟机,不可避免需要配置网络信息,比如IP地址、域名等,配置完成该网络信息后才可以提供或者使用特定的网络服务。具体的,可以根据自动获取得到的IP地址、域名等网络信息参数,在目标虚拟机管理平台的相应位置设置网络配置的参数,该过程可以是在接收到目标虚拟机的生效指令后自动完成的。
步骤S206,基于设置后的网络配置,以及预先获取的预设的虚拟机管理平台的网络信息,访问虚拟机管理平台,以获取目标虚拟机的元数据信息;其中,虚拟机管理平台的网络信息包括:虚拟机管理平台的域名或IP地址;
在设置了目标虚拟机的网络配置后,目标虚拟机可以正常上网,即可以通过设置后的网络配置,以及预先获取的预设的虚拟机管理平台的网络信息,访问虚拟机管理平台,获取元数据信息。
上述预先获取的预设的虚拟机管理平台的网络信息,也可以是在接收到目标虚拟机的生效指令后获取的,其中网络信息包括的域名与IP地址相互映射,域名与IP地址是保存在目标虚拟机中的,目标虚拟机只需要读取这些配置,即访问虚拟机管理平台;且,该IP地址是虚拟机管理平台的IP地址;虚拟机管理平台的IP地址是人为保存至目标虚拟机的镜像中的。当虚拟机管理平台设置了上述网络配置后,目标虚拟机可以根据域名或IP地址访问虚拟机管理平台上的HTTP服务。上述元数据信息可以包括主机名、网卡配置信息、密码、公钥等信息。
步骤S208,根据获取到的元数据信息,设置目标虚拟机的配置信息;
步骤S210,基于设置后的配置信息,生效目标虚拟机。
该方式中,通过从预设的DHCP服务器自动获取目标虚拟机的网络信息;设置虚拟机管理平台的网络配置;基于设置后的网络配置以及预先获取的预设的虚拟机管理平台的域名,访问虚拟机管理平台,以获取目标虚拟机的元数据信息;简化了启动的过程,缩短了开机启动的时间。
另外,对于虚拟机管理平台,不需要注入任何文件,也不需要区别是本地系统盘还是EBS系统盘,信息注入的任务全部由虚拟机内部服务模块执行完成,虚拟机管理平台只需要维护元数据信息即可;另外,还可以定制化各种开机脚本,用户定制的开机脚本上传至虚拟机管理平台,并保存至元数据信息中即可,从而降低了维护成本,同时提高了虚拟机启动的灵活性。
本申请实施例还提供了另一种自动化配置生效虚拟机的方法,该方法在上述实施例的基础上实现;本实施例重点描述根据获取到的元数据信息,设置目标虚拟机的生效配置信息的具体实现过程(通过步骤S304-S308实现);如图3所示,该方法包括如下步骤:
步骤S302,如果接收到目标虚拟机的生效指令,从预设的虚拟机管理平台获取目标虚拟机的元数据信息;
步骤S304,针对目标虚拟机的指定配置项,获取指定配置项对应的第一配置信息;其中,第一配置信息为指定配置项正在运行的历史配置信息;
本实施例中,可以是指在目标虚拟机首次启动之后,再次启动时执行的过程。上述指定配置项可以是设置目标虚拟机的主机名、设置用户密码、部署公钥等,上述第一配置信息可以是,目标虚拟机之前一次启动时,配置的历史信息,再次启动时,目标虚拟机可以针对指定配置项,获取对应的历史配置信息。具体的,在目标虚拟机接收到第二生效指令后,可以是根据指定配置项从正在运行的配置信息中获取对应的历史配置信息。
步骤S306,从元数据信息中获取指定配置项对应的第二配置信息;其中,第二配置信息为指定配置项的更新配置信息;
上述指定配置项可以是设置目标虚拟机的主机名、设置用户密码、部署公钥等,上述第二配置信息可以是更新的配置信息。上述元数据信息包括的数据,可以是用户在不通过虚拟机的情况下,直接利用虚拟机管理平台更改的相关配置信息。
步骤S308,根据第一配置信息以及第二配置信息,设置指定配置项的配置信息;
上述第一配置信息和第二配置信息相同时,说明目标虚拟机关机后,指定配置项的配置信息没有更改,可以直接启动目标虚拟机,无需更新配置信息。
针对上述设置指定配置项的配置信息的步骤,包括:如果第一配置信息和第二配置信息不相同,将指定配置项的配置信息设置为第二配置信息。
以设置用户密码为例,如果从再次启动的虚拟机中获取的密码,与从元数据信息获取的密码不同,说明用户在虚拟机管理平台更改了用户密码,此时就需要更新密码,重新设置密码配置项对应的配置信息。具体的,可以将指定配置项的配置信息设置为第二配置信息,进而更新配置信息,以使虚拟机的配置信息能够保持实时性。
步骤S310,基于设置后的配置信息,生效目标虚拟机。
该方式中,通过设置虚拟机管理平台,使得用户每次更新密码或部署公钥等,都能够将更新后的配置信息更新至平台;启动目标虚拟机时,通过第一配置信息以及第二配置信息,对比两者是否相同,确定是否需要更新配置新信息,可以根据系统的实际情况更新配置信息,解决了开源方案中,虚拟机只能首次启动时配置信息的问题;另外,如果客户在虚机内部修改密码,重启之后密码也不会覆盖。
另外,上述虚拟机管理平台上预先存储有目标虚拟机对应的系统盘镜像文件;从预设的虚拟机管理平台获取目标虚拟机的元数据信息的步骤之前,上述方法还包括:从虚拟机管理平台上获取目标虚拟机对应的系统盘镜像文件,基于获取到的系统盘镜像文件,生成目标虚拟机的操作系统。
本实施例中,目标虚拟机需要在支持虚拟化的操作系统和CPU的软硬件环境下启动,上述系统盘镜像文件可以通过从ISO启动初始虚拟机,安装系统到磁盘的方式安装操作系统获得。系统盘镜像文件是在获取元数据信息之前获取得到的,服务器从预设的虚拟机管理平台获取目标虚拟机的系统盘镜像文件,以使目标虚拟机状态切换为启动中,同时使目标虚拟机能够正常启动且正常工作运行。
进一步的,上述元数据信息还包括目标虚拟机对应的脚本文件;启动目标虚拟机的步骤之后,上述方法还包括:从元数据信息中解析出家本文件,运行解析出的脚本文件。
上述脚本文件可以是用户定制的各种开机脚本文件,脚本文件可以是虚拟机支持运行的;本申请实施例中,用户可以根据实际的需求在元数据信息中添加各种脚本文件,例如,可以在安装redis(Remote Dictionary Server,远程字典服务)并初始配置redis运行正常,以使目标虚拟机在启动时,能够运行相应的脚本文件。
本实施的方式中,当预设的虚拟机管理平台分发给虚拟机计算平台生效指令,当虚拟机计算平台接收到生效指令后,目标虚拟机状态被切换为运行中,此时可以从预设的虚拟机管理平台获取目标虚拟机对应的元数据信息,并通过解析该元数据信息,获得配置信息,然后各个配置项相应的配置模块设置目标虚拟机的配置信息;配置完成该目标虚拟机,最后通过生效该元数据信息中解析的配置信息,生效目标虚拟机。该方式中,目标虚拟机的对应的元数据信息保存在虚拟机管理平台中,当目标虚拟机启动时,虚拟机中运行着地本地服务可以从该虚拟机管理平台中直接获取目标虚拟机对应的元数据信息,进而基于解析后的元数据信息获得目标虚拟机的配置信息。相较于背景技术中的传统技术方案,本申请无需再启动辅助虚拟机,无需挂载系统盘镜像文件或者EBS云盘,自行运行服务来配置背景技术中需要挂载注入的配置信息,因而简化了启动的过程,缩短了开机启动的时间。
对应上述的方法实施例,本申请实施例提供了一种自动化配置生效虚拟机的装置,该装置设置于运行有目标虚拟机的服务器,该服务器设置有目标虚拟机的操作系统;该服务器可以为自启动的服务装置的服务器;如图4所示,该装置包括:
元数据信息获取模块41,用于如果接收到目标虚拟机的生效指令,从预设的虚拟机管理平台获取目标虚拟机的元数据信息;其中,元数据信息用于:设置目标虚拟机的生效配置信息;
配置信息设置模块42,用于根据获取到的元数据信息,设置目标虚拟机的生效配置信息;
虚拟机生效模块43,用于基于设置后的生效配置信息,生效目标虚拟机。
本申请提供的自动化配置生效虚拟机的装置,当目标虚拟机接收到生效指令后,可以从预设的虚拟机管理平台获取对应的元数据信息,并通过该元数据信息,设置目标虚拟机的生效配置信息,最后基于设置后的配置信息,生效目标虚拟机。该装置中,虚拟机的对应的元数据信息保存在虚拟机管理平台中,当目标虚拟机启动时,虚拟机可以从该虚拟机管理平台中直接获取目标虚拟机对应的元数据信息,进而基于元数据信息设置虚拟机的生效配置信息,无需再启动辅助虚拟机,因而简化了启动的过程,缩短了开机启动的时间。
进一步的,上述生效指令包括:目标虚拟机被创建后,用于首次启动目标虚拟机的第一生效指令;或者,目标虚拟机被关机后,用于重新启动目标虚拟机的第二生效指令。
进一步的,上述元数据信息获取模块用于:从预设的DHCP服务器获取目标虚拟机的网络信息;其中,目标虚拟机的网络信息至少包括目标虚拟机的IP地址;基于目标虚拟机的网络信息,设置目标虚拟机的网络配置;基于设置后的网络配置,以及预先获取的预设的虚拟机管理平台的域名,访问虚拟机管理平台,以获取目标虚拟机的元数据信息;其中,虚拟机管理平台的网络信息包括:虚拟机管理平台的域名或IP地址。
进一步的,上述配置信息设置模块用于:针对目标虚拟机的指定配置项,获取指定配置项对应的第一配置信息;其中,第一配置信息为指定配置项正在运行的历史配置信息;从元数据信息中获取指定配置项对应的第二配置信息;其中,第二配置信息为指定配置项的更新配置信息;根据第一配置信息以及第二配置信息,设置指定配置项的配置信息。
进一步的,上述配置信息设置模块用于:如果第一配置信息和第二配置信息不相同,将指定配置项的配置信息设置为第二配置信息。
进一步的,上述虚拟机管理平台上预先存储有目标虚拟机对应的系统盘镜像文件;上述装置还包括操作系统生成模块,用于:从虚拟机管理平台上获取目标虚拟机对应的系统盘镜像文件,基于获取到的系统盘镜像文件,生成目标虚拟机的操作系统。
进一步的,元数据信息还包括目标虚拟机对应的脚本文件;上述装置还包括文件运行模块,用于:从元数据信息中解析出脚本文件,运行解析出的脚本文件。
本申请实施例所提供的自动化配置生效虚拟机的装置,其实现原理及产生的技术效果和前述自动化配置生效虚拟机的方法实施例相同,为简要描述,自动化配置生效虚拟机的装置实施例部分未提及之处,可参考前述自动化配置生效虚拟机的方法实施例中相应内容。
本申请实施例还提供了一种电子设备,参见图5所示,该电子设备包括处理器50和存储器51,该存储器51存储有能够被处理器50执行的机器可执行指令,该处理器50执行机器可执行指令以实现上述自动化配置生效虚拟机的方法。
进一步地,图5所示的电子设备还包括总线52和通信接口53,处理器50、通信接口53和存储器51通过总线52连接。
其中,存储器51可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口53(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线52可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器50可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器50中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器50可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器51,处理器50读取存储器51中的信息,结合其硬件完成前述实施例的方法的步骤。
本申请实施例还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,该机器可执行指令促使处理器实现上述自动化配置生效虚拟机的方法,具体实现可参见方法实施例,在此不再赘述。
本申请实施例所提供的自动化配置生效虚拟机的方法、装置和电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (12)

1.一种自动化配置生效虚拟机的方法,其特征在于,所述方法包括:
如果接收到目标虚拟机的生效指令,从预设的虚拟机管理平台获取所述目标虚拟机的元数据信息;其中,所述元数据信息用于:设置所述目标虚拟机的生效配置信息;
根据获取到的所述元数据信息,设置所述目标虚拟机的生效配置信息;
基于设置后的所述生效配置信息,生效所述目标虚拟机;
其中,从预设的虚拟机管理平台获取所述目标虚拟机的元数据信息的步骤,包括:
从预设的DHCP服务器获取所述目标虚拟机的网络信息;其中,所述目标虚拟机的网络信息至少包括所述目标虚拟机的IP地址;
基于所述目标虚拟机的网络信息,设置所述目标虚拟机的网络配置;
基于设置后的所述网络配置,以及预先获取的所述虚拟机管理平台的网络信息,访问所述虚拟机管理平台,以获取所述目标虚拟机的元数据信息;其中,所述虚拟机管理平台的网络信息包括:所述虚拟机管理平台的域名或IP地址;
根据获取到的所述元数据信息,设置所述目标虚拟机的生效配置信息的步骤,包括:
针对所述目标虚拟机的指定配置项,获取所述指定配置项对应的第一配置信息;其中,所述第一配置信息为所述指定配置项正在运行的历史配置信息;
从所述元数据信息中获取所述指定配置项对应的第二配置信息;其中,所述第二配置信息为所述指定配置项的更新配置信息;
根据所述第一配置信息以及所述第二配置信息,设置所述指定配置项的配置信息。
2.根据权利要求1所述的方法,其特征在于,所述生效指令包括:所述目标虚拟机被创建后,用于首次生效所述目标虚拟机的第一生效指令;或者,所述目标虚拟机被关机后,用于重新生效所述目标虚拟机的第二生效指令。
3.根据权利要求1所述的方法,其特征在于,根据所述第一配置信息以及所述第二配置信息,设置所述指定配置项的配置信息的步骤,包括:如果所述第一配置信息和所述第二配置信息不相同,将所述指定配置项的配置信息设置为所述第二配置信息。
4.根据权利要求1所述的方法,其特征在于,所述虚拟机管理平台上预先存储有所述目标虚拟机对应的系统盘镜像文件;
所述从预设的虚拟机管理平台获取所述目标虚拟机的元数据信息的步骤之前,所述方法还包括:
从所述虚拟机管理平台上获取所述目标虚拟机对应的系统盘镜像文件,基于获取到的所述系统盘镜像文件,生成所述目标虚拟机的操作系统。
5.根据权利要求1所述的方法,其特征在于,所述元数据信息还包括所述目标虚拟机对应的脚本文件;
在所述生效所述目标虚拟机的步骤之后,所述方法还包括:从所述元数据信息中解析出脚本文件,运行解析出的所述脚本文件。
6.一种自动化配置生效虚拟机的装置,其特征在于,所述装置包括:
元数据信息获取模块,用于如果接收到目标虚拟机的生效指令,从预设的虚拟机管理平台获取所述目标虚拟机的元数据信息;其中,所述元数据信息用于:设置所述目标虚拟机的生效配置信息;
配置信息设置模块,用于根据获取到的所述元数据信息,设置所述目标虚拟机的生效配置信息;
虚拟机生效模块,用于基于设置后的所述生效配置信息,生效所述目标虚拟机;
其中,所述元数据信息获取模块还用于:
从预设的DHCP服务器获取所述目标虚拟机的网络信息;其中,所述目标虚拟机的网络信息至少包括所述目标虚拟机的IP地址;
基于所述目标虚拟机的网络信息,设置所述目标虚拟机的网络配置;
基于设置后的所述网络配置,以及预先获取的所述虚拟机管理平台的网络信息,访问所述虚拟机管理平台,以获取所述目标虚拟机的元数据信息;其中,所述虚拟机管理平台的网络信息包括:所述虚拟机管理平台的域名或IP地址;
所述配置信息设置模块还用于:
针对所述目标虚拟机的指定配置项,获取所述指定配置项对应的第一配置信息;其中,所述第一配置信息为所述指定配置项正在运行的历史配置信息;
从所述元数据信息中获取所述指定配置项对应的第二配置信息;其中,所述第二配置信息为所述指定配置项的更新配置信息;
根据所述第一配置信息以及所述第二配置信息,设置所述指定配置项的配置信息。
7.根据权利要求6所述的装置,其特征在于,所述生效指令包括:所述目标虚拟机被创建后,用于首次生效所述目标虚拟机的第一生效指令;或者,所述目标虚拟机被关机后,用于重新生效所述目标虚拟机的第二生效指令。
8.根据权利要求6所述的装置,其特征在于,所述配置信息设置模块还用于:如果所述第一配置信息和所述第二配置信息不相同,将所述指定配置项的配置信息设置为所述第二配置信息。
9.根据权利要求6所述的装置,其特征在于,所述虚拟机管理平台上预先存储有所述目标虚拟机对应的系统盘镜像文件;
所述装置还包括操作系统生成模块,用于:从所述虚拟机管理平台上获取所述目标虚拟机对应的系统盘镜像文件,基于获取到的所述系统盘镜像文件,生成所述目标虚拟机的操作系统。
10.根据权利要求6所述的装置,其特征在于,所述元数据信息还包括所述目标虚拟机对应的脚本文件;
所述装置还包括文件运行模块,用于:从所述元数据信息中解析出脚本文件,运行解析出的所述脚本文件。
11.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现权利要求1至5任一项所述的自动化配置生效虚拟机的方法。
12.一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现权利要求1至5任一项所述的自动化配置生效虚拟机的方法。
CN202010672250.5A 2020-07-13 2020-07-13 自动化配置生效虚拟机的方法、装置和电子设备 Active CN111813504B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010672250.5A CN111813504B (zh) 2020-07-13 2020-07-13 自动化配置生效虚拟机的方法、装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010672250.5A CN111813504B (zh) 2020-07-13 2020-07-13 自动化配置生效虚拟机的方法、装置和电子设备

Publications (2)

Publication Number Publication Date
CN111813504A CN111813504A (zh) 2020-10-23
CN111813504B true CN111813504B (zh) 2024-01-19

Family

ID=72843399

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010672250.5A Active CN111813504B (zh) 2020-07-13 2020-07-13 自动化配置生效虚拟机的方法、装置和电子设备

Country Status (1)

Country Link
CN (1) CN111813504B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115292250A (zh) * 2022-07-15 2022-11-04 天翼云科技有限公司 元数据获取方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017166785A1 (zh) * 2016-04-01 2017-10-05 华为技术有限公司 一种部署虚拟机的方法、宿主机及系统
CN109558212A (zh) * 2018-11-27 2019-04-02 深信服科技股份有限公司 一种物理设备的虚拟化管理方法、系统、物理设备及介质
CN110908770A (zh) * 2019-11-05 2020-03-24 安超云软件有限公司 虚拟机的运行及创建方法、虚拟机及虚拟机化管理平台

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7984125B2 (en) * 2009-11-17 2011-07-19 Iron Mountain Incorporated Techniques for deploying virtual machines using a DHCP server to assign reserved IP addresses

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017166785A1 (zh) * 2016-04-01 2017-10-05 华为技术有限公司 一种部署虚拟机的方法、宿主机及系统
CN109558212A (zh) * 2018-11-27 2019-04-02 深信服科技股份有限公司 一种物理设备的虚拟化管理方法、系统、物理设备及介质
CN110908770A (zh) * 2019-11-05 2020-03-24 安超云软件有限公司 虚拟机的运行及创建方法、虚拟机及虚拟机化管理平台

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
虚拟化群集服务器技术研究与运维实践;王少青;李晓雯;;电脑编程技巧与维护(第01期);全文 *
计算系统虚拟化平台的研究及实现;崔涛;程耀东;;科研信息化技术与应用(第03期);全文 *

Also Published As

Publication number Publication date
CN111813504A (zh) 2020-10-23

Similar Documents

Publication Publication Date Title
US10114653B2 (en) Multiple-stage bootloader and firmware for baseboard manager controller and primary processing subsystem of computing device
WO2017166446A1 (zh) 漏洞修复方法和装置
CN113434202B (zh) 一种设备的启动方法、装置、电子设备及计算机存储介质
WO2016062146A1 (zh) 序列号信息的更新方法、装置及终端
US20150113263A1 (en) Method for updating basic input/output system of server
CN104935468A (zh) 一种基于pxe技术的交互系统及其实现操作系统运行的方法
CN111813504B (zh) 自动化配置生效虚拟机的方法、装置和电子设备
CN110753088A (zh) 一种系统部署方法及装置
CN112434278A (zh) 一种裸机认证方法、装置、设备及介质
CN111694590A (zh) 一种智能水电表的升级方法
JP2009211640A (ja) 無線lanを使用したネットワークブート方法およびネットワークブート用端末
US11520891B1 (en) Secure boot of an integrated circuit
CN111596964A (zh) 基于无线网络实现Windows系统批量布署方法和装置
CN107172610B (zh) Gsm网络自适配方法、装置及电子设备
CN112269601B (zh) 一种bmc及其部件资产信息管理方法、装置和存储介质
CN112416446B (zh) 基于微软布署系统的Linux网络启动方法及装置
CN113918423A (zh) 云平台监控方法、装置及其应用
CN113641989A (zh) 应用管理方法、装置及系统、电子设备
KR20000042930A (ko) 데이터 파일 자동 다운로딩 방법
CN111857845B (zh) 一种tf卡软件的完整性校验方法、装置及系统
CN114942771B (zh) 一种操作系统安全部署方法、装置、设备及存储介质
CN114860336B (zh) 基于pxe的系统审核模式实现方法及电子设备
CN113900934B (zh) 多镜像混合刷新测试方法、系统、终端及存储介质
CN114253625B (zh) 一种PCIe Switch芯片工作模式切换方法、系统、存储介质及设备
CN114443386A (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
GR01 Patent grant
GR01 Patent grant