主机名称的修改方法、修改装置和电子设备与流程
未命名
10-09
阅读:179
评论:0
1.本技术实施例涉及服务器领域,具体而言,涉及一种主机名称的修改方法、修改装置、计算机可读存储介质和电子设备。
背景技术:
2.企业数据中心一般有多个服务器,每台服务器出厂都有一个产品序列码(product serial number,简称psn),是资产信息的一种。每台服务器连接的bmc(baseboard management controller,服务器基板管理控制器,简称bmc)都会被设置一个主机名(hostname)。通常情况下,为了区分不同的主机,hostname会被初始化为psn。
3.hostname是linux系统的主机名,用于局域网内的dns(domain name system,域名系统,简称dns),fqdn(fully qualified domain name,完全限定域名,简称fqdn),event service(事件驱动服务)等业务。某些情况下为了便于记忆,用户要设置成自定义主机名。使用完毕后又恢复到初始主机名,这时需要去查看psn,然后对照修改。自定义和自动设置这两种状态有时需要经常切换。有时产品的psn也可能改变,那么管理员也需要对照新的psn修改hostname。现有可以完成此功能的方法主要有:linux系统自带hostname命令,用来显示和设置当前系统的主机名。hostname命令基本可以满足该业务的需求。但是,当存储在fru eeprom(可擦除可编辑只读存储器)里的psn变更,或者在自定义的主机名和默认的psn之间切换时,需要人工手动操作来查看不同主机的psn,并对照psn手动编写主机名称修改命令,工作量大而繁琐,并且当机房的服务器数量很多的情况下,由人工逐个查看并编写命令来修改主机名称工作量会进一步加大。
4.因此,亟需一种能够解决人工修改bmc主机名工作量大的方法。
技术实现要素:
5.本技术实施例提供了一种主机名称的修改方法、修改装置、计算机可读存储介质和电子设备,以至少解决相关技术中人工修改主机名称工作量大的问题。
6.根据本技术的一个实施例,提供了一种主机名称的修改方法,所述主机名称的修改方法应用于基板管理控制器中,包括:确定关键字参数的值,其中,所述关键字参数的值用于表征基板管理控制器的主机名称为自动修改模式或手动修改模式;在所述关键字参数的值表征所述主机名称为自动修改模式的情况下,获取产品序列码,将所述主机名称修改为所述产品序列码;在所述关键字参数的值表征所述主机名称为手动修改模式的情况下,获取自定义主机名称,将所述主机名称修改为所述自定义主机名称。
7.在一个示例性实施例中,在确定关键字参数的值之前,所述修改方法还包括:接收客户端发送的名称管理指令,其中,所述名称管理指令用于表征所述客户端设定的所述主机名称的修改模式,所述修改模式为所述自动修改模式或者所述手动修改模式;在所述名称管理指令表征的所述修改模式为所述自动修改模式的情况下,将所述关键字参数的值修改为表征所述自动修改模式的值;在所述名称管理指令表征的所述修改模式为所述手动修
改模式的情况下,将所述关键字参数的值修改为表征所述手动修改模式的值。
8.在一个示例性实施例中,在接收客户端发送的名称管理指令之后,所述修改方法还包括:在所述主机名称的所述修改模式为所述自动修改模式的情况下,将总线路径中的模式参数的值修改为表征所述自动修改模式的值,其中,所述模式参数的值用于表征所述基板管理控制器的主机名称为自动修改模式或手动修改模式;在所述主机名称的所述修改模式为所述手动修改模式的情况下,将所述总线路径中的所述模式参数的值修改为表征所述自动修改模式的值。
9.在一个示例性实施例中,在接收客户端发送的表征所述手动修改模式的所述名称管理指令的情况下,所述修改方法还包括:接收客户端发送的所述自定义主机名称,将所述自定义主机名称存储至所述基板管理控制器的目标存储单元。
10.在一个示例性实施例中,所述修改方法还包括:在修改所述产品序列码为所述主机名称的情况下,将域名系统中的主机名称修改为所述产品序列码;在修改所述自定义主机名称为所述主机名称的情况下,将域名系统中的主机名称修改为所述自定义主机名称。
11.在一个示例性实施例中,确定关键字参数的值,包括:至少根据所述关键字参数生成配置文件;将所述配置文件存储至系统的可执行文件夹中,并执行所述配置文件,得到执行结果;根据所述执行结果确定所述关键字参数的值。
12.在一个示例性实施例中,在将所述主机名称修改为所述产品序列码或将所述主机名称修改为所述自定义主机名称之后,所述修改方法还包括:在接收到重新登录指令的情况下,所述基板管理控制器重新登录。
13.根据本技术的另一个实施例,提供了一种修改装置,所述主机名称的修改装置应用于基板管理控制器中,包括:第一确定模块,用于确定关键字参数的值,其中,所述关键字参数的值用于表征基板管理控制器的主机名称为自动修改模式或手动修改模式;第一修改模块,用于在所述关键字参数的值表征所述主机名称为自动修改模式的情况下,获取产品序列码,将所述主机名称修改为所述产品序列码;第二修改模块,用于在所述关键字参数的值表征所述主机名称为手动修改模式的情况下,获取自定义主机名称,将所述主机名称修改为所述自定义主机名称。
14.根据本技术的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一种方法实施例中的步骤。
15.根据本技术的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一种方法实施例中的步骤。
16.通过本技术,首先确定关键字参数的值,以确定基板管理控制器的主机名称为自动修改模式还是手动修改模式,在自动修改模式下,获取产品序列码并将产品序列码作为主机名称,在手动修改模式下,获取自定义主机名称,并将自定义主机名称作为主机名称。与现有技术中,在手动修改切换到自动修改的情况下,需要人工查找产品序列码并修改主机名称为产品序列码,会导致工作量大且复杂的方法相比,本技术在手动修改模式下,自动获取自定义主机名称,在自动修改模式下,自动获取产品序列码,并将主机名称自动对应修改,因此,可以解决现有技术中人工修改主机名称工作量大的问题,达到自动修改主机名称
的效果。
附图说明
17.图1是本技术实施例的一种主机名称的修改方法的移动终端的硬件结构框图;
18.图2是根据本技术实施例的一种主机名称的修改方法的流程图;
19.图3是根据本技术实施例的一种主机名称的修改方法的总体结构框图示意图;
20.图4是根据本技术实施例的一种具体的主机名称的修改方法的流程图;
21.图5是根据本技术实施例的一种具体的主机名称的修改方法中手动修改模式程序执行的流程图;
22.图6是根据本技术实施例的一种具体的主机名称的修改方法中自动修改模式程序执行的流程图;
23.图7是根据本技术实施例的一种主机名称的修改装置的结构框图。
24.其中,上述附图包括以下附图标记:
25.102、处理器;104、存储器;106、传输设备;108、输入输出设备。
具体实施方式
26.下文中将参考附图并结合实施例来详细说明本技术的实施例。
27.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
28.本技术实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本技术实施例的一种主机名称的修改方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
29.存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本技术实施例中的主机名称的修改方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
30.传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(network interface controller,简称为ni c),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(radio frequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
31.为了便于描述,以下对本技术所涉及到的名词进行解释:
32.基板管理控制器:baseboard management controller,简称bmc,用于监控和管理服务器的控制器,例如:服务器的固件升级,服务器设备查看等。
33.主机名:hostname,用于局域网内标识不同主机的名称,被网络程序所使用。
34.产品序列码:product serial number,简称psn,服务器的唯一标识码。
35.redfish规范:一种基于https服务的管理标准,数据格式为json,支持apps、gui、脚本、curl等命令的调用。
36.域名系统:domain name system,简称dns,将域名和ip地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。
37.fru:field replace unit,简称fru,现场可更换单元,应用于服务器等大型设备上,能够对基板管理控制器执行读写等操作。
38.在本实施例中提供了一种运行于上述移动终端的主机名称的修改方法,图2是根据本技术实施例的一种主机名称的修改方法的流程图,上述主机名称的修改方法应用于基板管理控制器中,如图2所示,该流程包括如下步骤:
39.步骤s202,确定关键字参数的值,其中,上述关键字参数的值用于表征基板管理控制器的主机名称为自动修改模式或手动修改模式;
40.具体地,基板管理控制器的主机名称一般默认为产品序列码,而产品序列码一般为多个数字和字母的组合且比较冗长,难以记忆,因此,为了方便记忆,有的用户会将主机名称修改为自定义名称,在使用完成之后,又需要将主机名称修改回默认的主机名称即产品序列码,此时需要人工寻找序列号码并修改。为了在用户设置自定义名称以及由自定义名称修改为默认名称的情况下,基板管理控制器能够根据用户的设置自动确定主机名称,无需人工进行查找并修改,在基板管理控制器中设置关键字参数,关键字参数的值表征主机名称为自动修改模式或手动修改模式,例如:关键字参数为autoconfenable,autoconfenable的值为true/false,true表示自动修改模式开启,false表示手动修改模式开启,在默认情况下为true,即关键字参数autoconfenable的值还没有被设置的情况下为true,即开启自动修改模式。需要说明的是,true也表示手动修改模式开启,这种情况下false表示自动修改模式开启,即本技术并不对上述手动修改模式的具体表达方式和自动修改模式的具体表达方式进行限制。
41.步骤s204,在上述关键字参数的值表征上述主机名称为自动修改模式的情况下,获取产品序列码,将上述主机名称修改为上述产品序列码;
42.具体地,在确定关键字参数的值之后,若关键字参数的值为表征自动修改模式下的值,则将产品序列码作为主机名称,例如:上述autoconfe nable的值为true,表明开启自动修改模式,在这种情况下,基板管理控制器获取服务器的产品序列码并将产品序列码作为主机名称。
43.步骤s206,在上述关键字参数的值表征上述主机名称为手动修改模式的情况下,获取自定义主机名称,将上述主机名称修改为上述自定义主机名称。
44.具体地,在确定关键字参数的值之后,若关键字参数的值为表征手动修改模式下的值,则将产品序列码作为主机名称,例如:上述autoconfe nable的值为false,表明开启手动修改模式,在这种情况下,基板管理控制器获取自定义主机名称并将自定义主机名称
作为主机名称。
45.在一些可选的实施方式中,登陆基板管理控制器的系统,但是并没有修改关键字参数的值,这种情况下,关键字参数的值默认为表征自动修改模式的值,即此时主机名称为产品序列号;用户具有将主机名称修改为自定义主机名称即手动修改模式的需求的情况下,只需要修改关键字参数的值,由基板管理控制器来确定关键字参数的值为表征手动修改模式的值,并自动获取自定义主机名称,并将默认情况下的主机名称修改为自定义主机名称;用户再次需要将自定义主机名称修改为默认名称的情况下,即此时需要将手动修改模式切换到自动修改模式,只需要将关键字参数的值修改为表征自动修改模式的值,基板管理控制器确定关键字参数的值为表征自动修改模式的值,并自动获取产品序列号,将主机名称修改为产品序列号。由此,用户只需要通过修改关键字参数的值,基板管理控制器就能够自动根据用户的需求确定对应的主机名称。
46.上述基板管理控制器的系统可以为linux系统,也可以为windows系统,即本技术并不对上述基板管理控制器所在的操作系统进行具体限制。
47.通过上述步骤,首先确定关键字参数的值,以确定基板管理控制器的主机名称为自动修改模式还是手动修改模式,在自动修改模式下,获取产品序列码并将产品序列码作为主机名称,在手动修改模式下,获取自定义主机名称,并将自定义主机名称作为主机名称。与现有技术中,在手动修改切换到自动修改的情况下,需要人工查找产品序列码并修改主机名称为产品序列码,会导致工作量大且复杂的方法相比,本技术在手动修改模式下,自动获取自定义主机名称,在自动修改模式下,自动获取产品序列码,并将主机名称自动对应修改,因此,解决了现有技术中人工修改主机名称工作量大的问题,达到了自动修改主机名称的效果。
48.其中,上述步骤的执行主体可以为服务器、终端等,但不限于此。
49.步骤s204和步骤s206的执行顺序是可以互换的,即可以先执行步骤s206,然后再执行s204。
50.在一些可选的实施方式中,在确定关键字参数的值之前,上述方法还包括以下步骤:接收客户端发送的名称管理指令,其中,上述名称管理指令用于表征上述客户端设定的上述主机名称的修改模式,上述修改模式为上述自动修改模式或者上述手动修改模式;在上述名称管理指令表征的上述修改模式为上述自动修改模式的情况下,将上述关键字参数的值修改为表征上述自动修改模式的值;在上述名称管理指令表征的上述修改模式为上述手动修改模式的情况下,将上述关键字参数的值修改为表征上述手动修改模式的值。该方法在确定关键字参数之前首先接收客户端发送的表征主机名称的修改模式的名称管理指令,并修改关键字参数的值为对应的修改模式的值,这样可以在客户端的名称管理指令的触发下,基板管理控制器作出响应,并修改关键字参数的值,以确保基板管理控制器能够根据关键字参数的值的修改而将主机名称修改为客户端设定的修改模式对应的主机名称,而无需人为修改,提高了主机名称的修改效率,同时避免了人力浪费。
51.具体实现过程中,用户通过客户端将名称管理指令发送至基板管理控制器,例如:名称管理指令为如下指令:/redfish/v1/systems/system/-d
‘
{“hostname”:“xxxx”}’,表明客户端设定的主机名称的修改模式为手动修改模式,“xxxx”为客户端的自定义主机名称,在这种情况下,基板管理控制器将关键字参数的值修改为表征手动修改模式的值;再例
如:名称管理指令为如下指令:/redfish/v1/managers/bmc/ethernetlnterfaces/eth0
–d‘
{“hostnam eautoconfigedenable”:“xx”}’则表明客户端设定的主机名称的修改模式为自动修改模式,在这种情况下,基板管理控制器将关键字参数的值修改为表征自动修改模式的值。为了响应于上述名称管理指令,在具体实现过程中,将上述关键字参数的值修改为表征上述名称管理指令对应的上述修改模式的值,在上述名称管理指令表征的上述修改模式为上述自动修改模式的情况下,将上述关键字参数的值修改为表征上述自动修改模式的值。该方法根据基板管理控制器接收到的名称管理指令来修改关键字参数的值,以根据表征自动修改模式的关键字参数的值确定主机名称的修改模式为自动修改模式,进而确定主机名称为产品序列码。
52.为了避免由于主机名称的修改模式不一致造成的报错问题,在一些可选的实施方式中,在接收客户端发送的名称管理指令之后,上述方法还包括以下步骤:在上述主机名称的上述修改模式为上述自动修改模式的情况下,将总线路径中的模式参数的值修改为表征上述自动修改模式的值,其中,上述模式参数的值用于表征上述基板管理控制器的主机名称为自动修改模式或手动修改模式;在上述主机名称的上述修改模式为上述手动修改模式的情况下,将上述总线路径中的上述模式参数的值修改为表征上述自动修改模式的值。该方法在主机名称的修改模式为自动修改模式的情况下,将总线路径中的模式参数的值也对应修改,这样可以使基板管理控制器中的主机名称修改模式保持一致,避免由于主机名称的修改模式不一致造成的主机名称不一致,从而避免了报错的情况。
53.具体地,主机名称的修改模式为自动修改模式,即关键字参数autoc onfenable的值为true的情况下,则模式参数hostnameautoconfigedenabl e的值也为true,这样就可以使基板管理控制器中的多处主机名称的修改模式保持同步。主机名称的修改模式为自动修改模式,即关键字参数aut oconfenable的值为false的情况下,则模式参数hostnameautoconfigeden able的值也为false,这样就可以使基板管理控制器中的多处主机名称的修改模式保持同步。
54.为了使主机名称能够自动修改为自定义主机名称,在一些可选的实施方式中,在接收客户端发送的表征上述手动修改模式的上述名称管理指令的情况下,上述方法还包括:接收客户端发送的上述自定义主机名称,将上述自定义主机名称存储至上述基板管理控制器的目标存储单元。该方法在接收到的名称管理指令表征手动修改模式的情况下,同时接收客户端的自定义主机名称,这样可以使基板管理控制器自动将自定义主机名称设置为主机名称。
55.在一些可选的实施方式中,在名称管理指令表征手动修改模式的情况下,即上文所提到的:名称管理指令为如下指令:/redfish/v1/systems/syst em/-d
‘
{“hostname”:“xxxx”}’,“xxxx”为客户端的自定义主机名称,因此,在接收客户端发送的表征上述手动修改模式的上述名称管理指令的情况下,接收自定义主机名称“xxxx,”并将自定义主机名称存储至基板管理控制器所在的系统的目标存储单元中,具体实现过程中,目标存储单元可以为et c路径下的hostname文件。具体地,通过目标管理接口实现客户端与基板管理控制器的通讯,目标管理接口可以为redfish接口,redfish作为一种基于https服务的管理标准,数据格式为json,支持多个命令的调用,例如:apps、gui、脚本、curl等命令,且redfish作为基板管理控制器与客户端进行通讯的主要方式,通过redfish接口可以方便快捷的实
现名称管理指令的传输。
56.在一些可选的实施方式中,上述修改方法还包括:在修改上述产品序列码为上述主机名称的情况下,将域名系统中的主机名称修改为上述产品序列码;在修改上述自定义主机名称为上述主机名称的情况下,将域名系统中的主机名称修改为上述自定义主机名称。该方法在确定主机名称为自定义主机名称之后,将域名系统中的主机名称也修改为自定义主机名称,这样可以保证基板管理控制器中的主机名称保持一致,避免出现因主机名称不一致导致基板管理控制器的系统不一致的问题。
57.具体实现过程中,域名系统(dns)为将域名和ip地址相互映射的一个分布式数据库,域名系统中也存储了主机名称,因此,为了保持一致,将域名系统中的主机名称也进行相应的修改,这样可以避免因为主机名称不一致导致的系统出错等问题。
58.总线路径为基板管理控制器中的一个虚拟路径,并不是一个物理线路,在基板管理控制器中,由fru(现场可替换单元,具体可以为u盘或者可移动硬盘等)与基板管理控制器连接,并将基板管理控制器所在的服务器的产品序列号读取并存储至dbus总线路径,这样在基板管理控制器接收到名称管理指令表征自动修改模式的情况下,读取dbus总线路径中的产品序列号,并与在手动修改模式情况下相同,将产品序列号作为主机名称存储至基板管理控制器中的目标存储单元,目标存储单元可以为etc路径下的hostname文件。在一些可选的实施方式中,上述步骤s201可以通过以下步骤实现:至少根据上述关键字参数生成配置文件;将上述配置文件存储至系统的可执行文件夹中,并执行上述配置文件,得到执行结果;根据上述执行结果确定上述关键字参数的值。该方法通过设定一个配置文件来设定关键字参数的值,这样可以使基板管理控制器通过执行配置文件,查找关键字参数,从而确定关键字参数的值,进而根据关键字参数的值自动确定主机名称,间接避免了人工修改主机名称造成的工作量大的问题。
59.具体地,在基板管理控制器的系统中的可执行文件夹中设定一个配置文件,可执行文件夹可以存储于etc路径下,配置文件例如:systemconfi guration.conf文件。该文件里面包含[hostname]字段,[hostname]字段包含关键字参数autoconfenable,其中,关键字参数可以设置成true或false,代表自动修改模式是开启或者关闭(自动修改模式关闭表示手动修改模式开启),在基板管理控制器接收到名称管理指令之后,执行上述配置文件,执行上述配置文件的过程即查找关键字参数的值的过程,得到执行结果,执行结果即true或者false,执行结果为true表明关键字参数的值为true,执行结果为false表明关键字参数的值为false。
[0060]
为了使基板管理控制器在修改完主机名称之后能够及时更新,在一些可选的实施方式中,在将上述主机名称修改为上述产品序列码或将上述主机名称修改为上述自定义主机名称之后,上述修改方法还包括以下步骤:在接收到重新登录指令的情况下,上述基板管理控制器重新登录。该方法重新登录基板管理控制器,这样可以使基板管理控制器中的主机名称得以更新,而无需重新启动基板管理控制器,避免了重新启动基板管理控制器导致基板管理控制器的工作中断等问题。
[0061]
具体地,在将主机名称从产品序列码修改为自定义主机名称之后,或者在将主机名称从自定义主机名称修改为产品序列码之后,都需要重新登录基板管理控制器,以使基板管理控制器能够刷新主机名称。在重新登录基板管理控制器之后用户看到的主机名称就
为修改之后的主机名称。
[0062]
具体实现过程中,通过fru单元读取基板管路控制器所在的服务器的产品序列码并将产品序列码存储至dbus总线中,以用于基板管理控制器在自动修改模式下产品序列码的自动获取,并将产品序列码自动修改为主机名称,而无需人为修改,避免人力浪费的同时,提高了主机名称修改的效率。fru单元(现场可替换单元,具体可以为u盘或者可移动硬盘等)与基板管理控制器连接,并读取服务器的产品序列码,存储至dbus总线路径中,自动修改模式下,基板管理控制器获取产品序列码,并将产品序列码作为主机名称。
[0063]
为了使得本领域技术人员能够更加清楚地了解本技术的技术方案,以下将结合具体的实施例对本技术的主机名称的确定方法的实现过程进行详细说明。
[0064]
本实施例涉及一种具体的主机名称的修改方法,包括如下步骤:
[0065]
步骤s1:基板管理控制器的系统总体框图如图3所示,基板管理控制器(bmc)接收pc端(客户端)通过redfish接口(目标管理接口)发送的名称管理指令,其中,bmc与server(服务器)进行双向通讯,若名称管理指令为/redfish/v1/systems/system/-d
‘
{“hostname”:“xxxx”}’,表明客户端设定的主机名称的修改模式为手动修改模式,“xxxx”为客户端的自定义主机名称;若名称管理指令为/redfish/v1/managers/bmc/ethernetlnterface s/eth0
–d‘
{“hostnameautoconfigedenable”:“xx”}’则表明客户端设定的主机名称的修改模式为自动修改模式;
[0066]
步骤s2:本实施例中具体的主机名称的确定方法流程图如图4所示,在基板管理控制器(bmc)的linux系统/etc/路径下设定一个systemconf iguration.conf文件(配置文件),配置文件中包含hostname字段(初始主机名称)和autoconfenable(关键字参数);
[0067]
步骤s3:在sync_hostname中执行配置文件,查找conf(配置文件)中的自动配置,在autoconfenable(关键字参数)为是的情况下,读取dbus上(dbus总线路径)产品的psn(产品序列码),设置hostname为psn(产品序列码);在autoconfenable(关键字参数)为否的情况下,获取dnc_hostname(自定义主机名称),设置hostname为dns_ho stname(自定义主机名称);
[0068]
步骤s4:在接收名称管理指令为手动设置hostname(手动修改模式)的情况下,程序流程图如图5所示,调用hostnamed service方法设置自定义的hostname(自定义主机名称),接收自定义主机名称,将上述自定义主机名称存储至上述基板管理控制器的etc路径下的hostname文件(目标存储单元);
[0069]
步骤s5:将dbus相关路径(dbus总线路径)下的hostnameauto configedenable(模式参数)设置为false,修改systemconfiguration.conf文件(配置文件)中相关配置,即将初始主机名称修改为自定义主机名称,设置dns模块hostname,即将域名系统中的主机名称修改为自定义主机名称;
[0070]
步骤s6:在接收名称管理指令为使能自动模式(自动修改模式)的情况下,程序流程图如图6所示,把dbus上的hostnameautoconfigede nable(模式参数)设置成true,修改systemconfiguration.conf文件(配置文件)中相关配置,即将初始主机名称修改为产品序列码,把fru(现场可替换单元)里的psn码设置成hostname,并更新dbus上的hostname,更新dns模块hostname,即将域名系统中自定义主机名称修改为产品序列码。
[0071]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施
例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ro m/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本技术各个实施例上述的方法。
[0072]
在本实施例中还提供了一种主机名称的修改装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
[0073]
图7是根据本技术实施例的一种主机名称的确定修改的结构框图,如图7所示,该装置包括:
[0074]
确定模块22,用于确定关键字参数的值,其中,上述关键字参数的值用于表征基板管理控制器的主机名称为自动修改模式或手动修改模式;
[0075]
具体地,基板管理控制器的主机名称一般默认为产品序列码,而产品序列码一般为多个数字和字母的组合且比较冗长,难以记忆,因此,为了方便记忆,有的用户会将主机名称修改为自定义名称,在使用完成之后,又需要将主机名称修改回默认的主机名称即产品序列码,此时需要人工寻找序列号码并修改。为了在用户设置自定义名称以及由自定义名称修改为默认名称的情况下,基板管理控制器能够根据用户的设置自动确定主机名称,无需人工进行查找并修改,在基板管理控制器中设置关键字参数,关键字参数的值表征主机名称为自动修改模式或手动修改模式,例如:关键字参数为autoconfenable,autoconfenable的值为true/false,true表示自动模式开启,false表示手动修改模式开启,在默认情况下为true,即关键字参数autoconfenable的值还没有被设置的情况下为true,即开启自动修改模式。
[0076]
第一修改模块24,用于在上述关键字参数的值表征上述主机名称为自动修改模式的情况下,获取产品序列码,将上述主机名称修改为上述产品序列码;
[0077]
具体地,在确定关键字参数的值之后,若关键字参数的值为表征自动修改模式下的值,则将产品序列码作为主机名称,例如:上述autoconfe nable的值为true,表明开启自动修改模式,在这种情况下,基板管理控制器获取服务器的产品序列码并将产品序列码作为主机名称。
[0078]
第二修改模块26,用于在上述关键字参数的值表征上述主机名称为手动修改模式的情况下,获取自定义主机名称,将上述主机名称修改为上述自定义主机名称。
[0079]
具体地,在确定关键字参数的值之后,若关键字参数的值为表征手动修改模式下的值,则将产品序列码作为主机名称,例如:上述autoconfe nable的值为false,表明开启手动修改模式,在这种情况下,基板管理控制器获取自定义主机名称并将自定义主机名称作为主机名称。
[0080]
在一些可选的实施方式中,上述装置还包括接收模块、第三修改模块和第四修改模块,其中,接收模块用于接收客户端发送的名称管理指令,其中,上述名称管理指令用于表征上述客户端设定的上述主机名称的修改模式,上述修改模式为上述自动修改模式或者上述手动修改模式;第三修改模块用于在上述名称管理指令表征的上述修改模式为上述自
动修改模式的情况下,将上述关键字参数的值修改为表征上述自动修改模式的值;第四修改模块用于在上述名称管理指令表征的上述修改模式为上述手动修改模式的情况下,将上述关键字参数的值修改为表征上述手动修改模式的值。该装置在确定关键字参数之前首先接收客户端发送的表征主机名称的修改模式的名称管理指令,并修改关键字参数的值为对应的修改模式的值,这样可以在客户端的名称管理指令的触发下,基板管理控制器作出响应,并修改关键字参数的值,以确保基板管理控制器能够根据关键字参数的值的修改而将主机名称修改为客户端设定的修改模式对应的主机名称,而无需人为修改,提高了主机名称的修改效率,同时避免了人力浪费。
[0081]
具体实现过程中,用户通过客户端将名称管理指令发送至基板管理控制器,例如:名称管理指令为如下指令:/redfish/v1/systems/system/-d
‘
{“hostname”:“xxxx”}’,表明客户端设定的主机名称的修改模式为手动修改模式,“xxxx”为客户端的自定义主机名称,在这种情况下,基板管理控制器将关键字参数的值修改为表征手动修改模式的值;再例如:名称管理指令为如下指令/redfish/v1/managers/bmc/ethernetlnterfaces/eth0
–d‘
{“hostname autoconfigedenable”:“xx”}’则表明客户端设定的主机名称的修改模式为自动修改模式,在这种情况下,基板管理控制器将关键字参数的值修改为表征自动修改模式的值。为了响应于上述名称管理指令,在具体实现过程中,将上述关键字参数的值修改为表征上述名称管理指令对应的上述修改模式的值,在上述名称管理指令表征的上述修改模式为上述自动修改模式的情况下,将上述关键字参数的值修改为表征上述自动修改模式的值。该装置根据基板管理控制器接收到的名称管理指令来修改关键字参数的值,以根据表征自动修改模式的关键字参数的值确定主机名称的修改模式为自动修改模式,进而确定主机名称为产品序列码。
[0082]
为了避免由于主机名称的修改模式不一致造成的报错问题,在一些可选的实施方式中,上述装置还包括第五修改模块和第六修改模块,其中,第五修改模块用于在上述主机名称的上述修改模式为上述自动修改模式的情况下,将总线路径中的模式参数的值修改为表征上述自动修改模式的值,其中,上述模式参数的值用于表征上述基板管理控制器的主机名称为自动修改模式或手动修改模式;第六修改模块用于在上述主机名称的上述修改模式为上述手动修改模式的情况下,将上述总线路径中的上述模式参数的值修改为表征上述自动修改模式的值。该装置在主机名称的修改模式为自动修改模式的情况下,将总线路径中的模式参数的值也对应修改,这样可以使基板管理控制器中的主机名称修改模式保持一致,避免由于主机名称的修改模式不一致造成的主机名称不一致,从而避免了报错的情况。
[0083]
具体地,主机名称的修改模式为自动修改模式,即关键字参数autoc onfenable的值为true的情况下,则模式参数hostnameautoconfigedenabl e的值也为true,这样就可以使基板管理控制器中的多处主机名称的修改模式保持同步。主机名称的修改模式为自动修改模式,即关键字参数aut oconfenable的值为false的情况下,则模式参数hostnameautoconfigeden able的值也为false,这样就可以使基板管理控制器中的多处主机名称的修改模式保持同步。
[0084]
为了使主机名称能够自动修改为自定义主机名称,在一些可选的实施方式中,上述装置还包括存储模块,用于接收客户端发送的上述自定义主机名称,将上述自定义主机名称存储至上述基板管理控制器的目标存储单元。该装置在接收到的名称管理指令表征手
动修改模式的情况下,同时接收客户端的自定义主机名称,这样可以使基板管理控制器自动将自定义主机名称设置为主机名称。
[0085]
在一些可选的实施方式中,在名称管理指令表征手动修改模式的情况下,即上文所提到的:名称管理指令为如下指令:/redfish/v1/systems/syst em/-d
‘
{“hostname”:“xxxx”}’,其中,“xxxx”为客户端的自定义主机名称,因此,在接收客户端发送的表征上述手动修改模式的上述名称管理指令的情况下,接收自定义主机名称“xxxx,”并将自定义主机名称存储至基板管理控制器所在的系统的目标存储单元中,具体实现过程中,目标存储单元可以为etc路径下的hostname文件。具体地,通过目标管理接口实现客户端与基板管理控制器的通讯,目标管理接口可以为redfish接口,redfish作为一种基于https服务的管理标准,数据格式为json,支持多个命令的调用,例如:apps、gui、脚本、curl等命令,且redfish作为基板管理控制器与客户端进行通讯的主要方式,通过redfish接口可以方便快捷的实现名称管理指令的传输。
[0086]
在一些可选的实施方式中,上述修改装置还包括第七修改模块和第八修改模块,其中,第七修改模块用于在修改上述产品序列码为上述主机名称的情况下,将域名系统中的主机名称修改为上述产品序列码;第八修改模块用于在修改上述自定义主机名称为上述主机名称的情况下,将域名系统中的主机名称修改为上述自定义主机名称。该装置在确定主机名称为自定义主机名称之后,将域名系统中的主机名称也修改为自定义主机名称,这样可以保证基板管理控制器中的主机名称保持一致,避免出现因主机名称不一致导致基板管理控制器的系统不一致的问题。
[0087]
具体实现过程中,域名系统(dns)为将域名和ip地址相互映射的一个分布式数据库,域名系统中也存储了主机名称,因此,为了保持一致,将域名系统中的主机名称也进行相应的修改,这样可以避免因为主机名称不一致导致的系统出错等问题。
[0088]
总线路径为基板管理控制器中的一个虚拟路径,并不是一个物理线路,在基板管理控制器中,由fru(现场可替换单元,具体可以为u盘或者可移动硬盘等)与基板管理控制器连接,并将基板管理控制器所在的服务器的产品序列号读取并存储至dbus总线路径,这样在基板管理控制器接收到名称管理指令表征自动修改模式的情况下,读取dbus总线路径中的产品序列号,并与在手动修改模式情况下相同,将产品序列号作为主机名称存储至基板管理控制器中的目标存储单元,目标存储单元可以为etc路径下的hostname文件。
[0089]
在一些可选的实施方式中,确定模块包括生成子模块、执行子模块和确定子模块,其中,生成子模块用于至少根据上述关键字参数生成配置文件;执行子模块用于将上述配置文件存储至系统的可执行文件夹中,并执行上述配置文件,得到执行结果;确定子模块用于根据上述执行结果确定上述关键字参数的值。该装置通过设定一个配置文件来设定关键字参数的值,这样可以使基板管理控制器通过执行配置文件,查找关键字参数,从而确定关键字参数的值,进而根据关键字参数的值自动确定主机名称,间接避免了人工修改主机名称造成的工作量大的问题。
[0090]
具体地,在基板管理控制器的系统中的可执行文件夹中设定一个配置文件,可执行文件夹可以存储于etc路径下,配置文件例如:systemconfi guration.conf文件。该文件里面包含[hostname]字段,[hostname]字段包含关键字参数autoconfenable,其中,关键字参数可以设置成true或false,代表自动修改模式是开启或者关闭(自动修改模式关闭表示
手动修改模式开启),在基板管理控制器接收到名称管理指令之后,执行上述配置文件,执行上述配置文件的过程即查找关键字参数的值的过程,得到执行结果,执行结果即true或者false,执行结果为true表明关键字参数的值为true,执行结果为false表明关键字参数的值为false。
[0091]
为了使基板管理控制器在修改完主机名称之后能够及时更新,在一些可选的实施方式中,上述修改装置还包括登录模块,用于在接收到重新登录指令的情况下,上述基板管理控制器重新登录。该装置重新登录基板管理控制器,这样可以使基板管理控制器中的主机名称得以更新,而无需重新启动基板管理控制器,避免了重新启动基板管理控制器导致基板管理控制器的工作中断等问题。
[0092]
具体地,在将主机名称从产品序列码修改为自定义主机名称之后,或者在将主机名称从自定义主机名称修改为产品序列码之后,都需要重新登录基板管理控制器,以使基板管理控制器能够刷新主机名称。在重新登录基板管理控制器之后用户看到的主机名称就为修改之后的主机名称。
[0093]
具体实现过程中,通过fru单元读取基板管路控制器所在的服务器的产品序列码并将产品序列码存储至dbus总线中,以用于基板管理控制器在自动修改模式下产品序列码的自动获取,并将产品序列码自动修改为主机名称,而无需人为修改,避免人力浪费的同时,提高了主机名称修改的效率。fru单元(现场可替换单元,具体可以为u盘或者可移动硬盘等)与基板管理控制器连接,并读取服务器的产品序列码,存储至dbus总线路径中,自动修改模式下,基板管理控制器获取产品序列码,并将产品序列码作为主机名称。需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
[0094]
本技术的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一种方法实施例中的步骤。
[0095]
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:u盘、只读存储器(read-only memory,简称为rom)、随机存取存储器(random access memory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
[0096]
本技术的实施例还提供了一种电子设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一种方法实施例中的步骤。
[0097]
在一个示例性实施例中,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
[0098]
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
[0099]
显然,本领域的技术人员应该明白,上述的本技术的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述
的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本技术不限制于任何特定的硬件和软件结合。
[0100]
以上所述仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
技术特征:
1.一种主机名称的修改方法,所述主机名称的修改方法应用于基板管理控制器中,其特征在于,包括:确定关键字参数的值,其中,所述关键字参数的值用于表征基板管理控制器的主机名称为自动修改模式或手动修改模式;在所述关键字参数的值表征所述主机名称为自动修改模式的情况下,获取产品序列码,将所述主机名称修改为所述产品序列码;在所述关键字参数的值表征所述主机名称为手动修改模式的情况下,获取自定义主机名称,将所述主机名称修改为所述自定义主机名称。2.根据权利要求1所述的方法,其特征在于,在确定关键字参数的值之前,所述修改方法还包括:接收客户端发送的名称管理指令,其中,所述名称管理指令用于表征所述客户端设定的所述主机名称的修改模式,所述修改模式为所述自动修改模式或者所述手动修改模式;在所述名称管理指令表征的所述修改模式为所述自动修改模式的情况下,将所述关键字参数的值修改为表征所述自动修改模式的值;在所述名称管理指令表征的所述修改模式为所述手动修改模式的情况下,将所述关键字参数的值修改为表征所述手动修改模式的值。3.根据权利要求2所述的方法,其特征在于,在接收客户端发送的名称管理指令之后,所述修改方法还包括:在所述主机名称的所述修改模式为所述自动修改模式的情况下,将总线路径中的模式参数的值修改为表征所述自动修改模式的值,其中,所述模式参数的值用于表征所述基板管理控制器的主机名称为自动修改模式或手动修改模式;在所述主机名称的所述修改模式为所述手动修改模式的情况下,将所述总线路径中的所述模式参数的值修改为表征所述自动修改模式的值。4.根据权利要求2所述的方法,其特征在于,在接收客户端发送的表征所述手动修改模式的所述名称管理指令的情况下,所述修改方法还包括:接收客户端发送的所述自定义主机名称,将所述自定义主机名称存储至所述基板管理控制器的目标存储单元。5.根据权利要求1所述的方法,其特征在于,所述修改方法还包括:在修改所述产品序列码为所述主机名称的情况下,将域名系统中的主机名称修改为所述产品序列码;在修改所述自定义主机名称为所述主机名称的情况下,将域名系统中的主机名称修改为所述自定义主机名称。6.根据权利要求1至5中任一项所述的方法,其特征在于,确定关键字参数的值,包括:至少根据所述关键字参数生成配置文件;将所述配置文件存储至系统的可执行文件夹中,并执行所述配置文件,得到执行结果;根据所述执行结果确定所述关键字参数的值。7.根据权利要求1所述的方法,其特征在于,在将所述主机名称修改为所述产品序列码或将所述主机名称修改为所述自定义主机名称之后,所述修改方法还包括:在接收到重新登录指令的情况下,所述基板管理控制器重新登录。
8.一种主机名称的修改装置,其特征在于,所述主机名称的修改装置应用于基板管理控制器中,包括:确定模块,用于确定关键字参数的值,其中,所述关键字参数的值用于表征基板管理控制器的主机名称为自动修改模式或手动修改模式;第一修改模块,用于在所述关键字参数的值表征所述主机名称为自动修改模式的情况下,获取产品序列码,将所述主机名称修改为所述产品序列码;第二修改模块,用于在所述关键字参数的值表征所述主机名称为手动修改模式的情况下,获取自定义主机名称,将所述主机名称修改为所述自定义主机名称。9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至7任一项中所述的方法的步骤。10.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至7任一项中所述的方法的步骤。
技术总结
本申请实施例提供了一种主机名称的修改方法、修改装置和电子设备,主机名称的修改方法应用于基板管理控制器中,该方法包括:确定关键字参数的值,其中,关键字参数的值用于表征基板管理控制器的主机名称为自动修改模式或手动修改模式;在关键字参数的值表征主机名称为自动修改模式的情况下,获取产品序列码,将主机名称修改为产品序列码;在关键字参数的值表征主机名称为手动修改模式的情况下,获取自定义主机名称,将主机名称修改为自定义主机名称。通过本申请,解决了人工修改主机名称工作量大的问题,进而达到了自动修改主机名称的效果。效果。效果。
技术研发人员:谭艳 王兴隆 叶笑夕
受保护的技术使用者:苏州浪潮智能科技有限公司
技术研发日:2023.06.30
技术公布日:2023/10/8
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
