智能网卡初始化方法、装置、计算机设备和存储介质与流程

文档序号:22685238发布日期:2020-10-28 12:51阅读:243来源:国知局
智能网卡初始化方法、装置、计算机设备和存储介质与流程

本申请涉及运维技术领域,特别涉及一种智能网卡初始化方法、装置、计算机设备和存储介质。



背景技术:

智能网卡是最近两年才产生的新型技术,目前市场上还没有比较成熟的方案,较为出名的是博通的网卡,博通的卡统一有一个基线版本armos,需要针对这个基线版本做一些初始化的操作,以满足用户后面对智能网卡的正常使用。博通的智能网卡中厂商给出的基线版本armos上有8个pf(physicalfunction,物理网卡),现有技术中为了确保开始阶段能正常进入到pxe(prebootexecuteenvironment,预启动执行环境),因此需要在armos上打通通道,默认第二物理网卡和第三物理网卡做了一个bond0,第四物理网卡和第五物理网卡做了一个bond1,两个bond之间通过一个桥连接起来,第二物理网卡和第四物理网卡是port1,第三物理网卡和第五物理网卡是port2,默认在桥上配置了一个内网ip地址,正常流程对armos初始化是先通过pxe安装系统后进入系统配置内网ip,通过内网ip下发初始化文件进行初始化。但其初始化的方式通过初始化文件一次性完成,容易出现初始化文件或者环境异常导致初始化失败,当初始化失败后需要接串口线远程登入armos进行问题定位。



技术实现要素:

本申请的主要目的为提供一种智能网卡初始化方法、装置、计算机设备和存储介质,解决初始化失败后需要外接一些设备来进行问题定位的问题。

为实现上述目的,本申请提供了一种智能网卡初始化方法,包括以下步骤:

通过ipmitool远程设置镜像启动,进入所述智能网卡的系统内存;

通过rc.local脚本的自启动进程运行配置内网ip的脚本,修改所述智能网卡的基线版本的当前网络配置架构,使得所述基线版本与所述系统内存保持通信;

将初始化文件发送到所述基线版本的opt目录下,远程执行初始化命令。

进一步地,所述将通过ipmitool远程设置镜像启动,进入系统内存的步骤,包括:

通过所述ipmitool远程设置镜像启动;

获取需要配置的服务器的带外管理ip,将各个所述带外管理ip通过文件的形式存储起来;

所述ipmitool通过预设脚本依次解析各个所述带外管理ip,对其下发镜像挂载和启动命令,进入所述系统内存。

进一步地,所述通过rc.local脚本的自启动进程运行配置内网ip的脚本,修改所述智能网卡的基线版本的当前网络配置架构,使得所述基线版本与所述系统内存保持通信的步骤,包括:

通过所述rc.local脚本自启动进程运行配置内网ip的脚本;

将所述智能网卡的系统侧网口设置为与基线版本侧相同的ip段,修改当前的网络配置架构。

进一步地,所述修改当前的网络配置架构的步骤,包括:

将所述基线版本上的第二物理网卡和第三物理网卡之间设置一个bond;

将所述基线版本上的第四物理网卡和第五物理网卡设置单独的网口;

将所述第四物理网卡的ip设置为出厂配置的内网ip,并将所述内网ip写入到所述基线版本的自启动文件中。

进一步地,所述将初始化文件发送到所述基线版本的opt目录下,远程执行初始化命令的步骤之后,包括:

使用ovs和dpdk接管所述第四物理网卡;

在所述ovs和dpdk启动的时间内返回初始化结果。

本申请还提供一种智能网卡初始化装置,包括:

启动单元,用于通过ipmitool远程设置镜像启动,进入所述智能网卡的系统内存;

修改单元,用于通过rc.local脚本的自启动进程运行配置内网ip的脚本,修改所述智能网卡的基线版本的当前网络配置架构,使得所述基线版本与所述系统内存保持通信;

初始化单元,用于将初始化文件发送到所述基线版本的opt目录下,远程执行初始化命令。

进一步地,所述启动单元包括:

启动子单元,用于通过所述ipmitool远程设置镜像启动;

获取子单元,用于获取需要配置的服务器的带外管理ip,将各个所述带外管理ip通过文件的形式存储起来;

解析子单元,用于所述ipmitool通过预设脚本依次解析各个所述带外管理ip,对其下发镜像挂载和启动命令,进入所述系统内存。

进一步地,所述修改单元,包括:

运行子单元,用于通过所述rc.local脚本自启动进程运行配置内网ip的脚本;

修改子单元,用于将所述智能网卡的系统侧网口设置为与所述基线版本侧相同的ip段,修改当前的网络配置架构。

本申请还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。

本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。

本申请提供的智能网卡初始化方法、装置、计算机设备和存储介质,通过重新配置智能网卡的基线版本的当前网络配置架构,使得基线版本与系统内存保持通信,当初始化失败后,不需要通过硬件设备连接,提高初始化流程的工作效率和质量。

附图说明

图1是本申请一实施例中智能网卡初始化方法步骤示意图;

图2是本申请一实施例中智能网卡初始化装置结构框图;

图3为本申请一实施例的计算机设备的结构示意框图。

本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

参照图1,本申请一实施例提供一种智能网卡初始化方法,包括以下步骤:

步骤s1,通过ipmitool远程设置镜像启动,进入所述智能网卡的系统内存;

步骤s2,通过rc.local脚本的自启动进程运行配置内网ip的脚本,修改所述智能网卡的基线版本的当前网络配置架构,使得所述基线版本与所述系统内存保持通信;

步骤s3,将初始化文件发送到所述基线版本的opt目录下,远程执行初始化命令。

在本实施例中,上述方法应用于博通的智能网卡中,如上述步骤s1所述,通过ipmitool远程设置镜像启动,进入系统内存,服务器上架的时候通过ipmitool远程设置镜像启动,通过远程命令:ipmitool-ilanplus-hxxx.xxx.xxx.xxx-ulenovo-pxxxxxchassisbootdevcdrom进行镜像启动,不需要使用pxe,ipmitool是一种可用在linux系统下的命令行方式的ipmi平台管理工具,它支持ipmi1.5规范以上版本(最新的规范为ipmi2.0),通过它可以实现获取传感器的信息、显示系统日志内容、网络远程开关机等功能。impitool设置从网卡启动,然后连接到服务器读取启动镜像文件,通过网络加载到智能网卡的系统内存来实现启动的。镜像是冗余的一种类型,一个磁盘上的数据在另一个磁盘上存在一个完全相同的副本即为镜像。镜像是一种文件存储形式,可以把许多文件做成一个镜像文件,与ghost等程序放在一个盘里用ghost等软件打开后,又恢复成许多文件,raid1(redundantarrayofinexpensivedisks,廉价磁盘冗余阵列)和raid10使用的就是镜像。常见的镜像文件格式有iso、bin、img、tao、dao、cif、fcd。

如上述步骤s2所述,rc.local脚本的系统自启动进程通过服务器引导vmlinux内核,然后会加载initrd.img文件,initrd.img文件在启动过程中会加载一些模块或者自定义的脚本,rc.local就是initrd.img启动的最后阶段加载的文件。配置内网ip的脚本封装到rc.local脚本中,就能正常运行脚本并配置内网ip,修改当前网络配置架构,使得修改后的网络配置架构,能够实现与主机系统层面的长时间通信,当初始化失败后,所有的基线版本也不会失联。

如上述步骤s3所述,修改当前网络配置架构后,将初始化文件发送到基线版本下的opt目录下,远程执行初始化命令,可以实现批量处理所有服务器进行初始化操作,由于重新配置了当前网络配置架构,即使初始化失败了也能确保所有的基线版本不会失联。opt目录下主要存放一些可选的程序。存放在该目录下的,想删除的时候,你就可以直接删除它,而不影响系统其他任何设置,安装到/opt目录下的程序,它所有的数据、库文件等等都是放在同个目录下面。通过本实施例提供的智能网卡初始化方法,提高初始化流程的工作效率,不需要通过硬件设备连接,节省问题恢复时间,进一步地,还提高了初始化质量,确保每次能正常快速的完成初始化。

在一实施例中,所述将通过ipmitool远程设置镜像启动,进入系统内存的步骤s1,包括:

步骤s11,通过所述ipmitool远程设置镜像启动;

步骤s12,获取需要配置的服务器的带外管理ip,将各个所述带外管理ip通过文件的形式存储起来;

步骤s13,所述ipmitool通过预设脚本依次解析各个所述带外管理ip,对其下发镜像挂载和启动命令,进入所述系统内存。

本实施例中,服务器上架的时候通过ipmitool远程设置镜像启动,通过远程命令设置服务器的启动信息,启动信息包括应答、镜像等,将镜像设置为第一启动信息,在重启服务器的时候首先就会镜像启动,程序封装在镜像文件中,镜像启动时会直接进入该镜像中,从而可运行镜像中的程序。

如上述步骤s12所述,需要配置的服务器包括需要进行初始化的服务器,只需要将需要配置的服务器的带外管理ip通过文件的形式存储起来,每个服务器都有其对应的带外管理ip。将所有需要配置的服务器的带外管理ip通过文本的形式统一写入到一个配置文件中存储起来。

如上步骤s13所述,ipmitool通过预设脚本依次解析各个需要配置的服务器的带外管理ip后对其下发镜像挂载和启动命令,由此可实现服务器批量进入到系统内存,提高初始化效率。

在一实施例中,所述通过rc.local脚本的自启动进程运行配置内网ip的脚本,修改所述智能网卡的基线版本的当前网络配置架构,使得所述基线版本与所述系统内存保持通信的步骤s2,包括:

步骤s21,通过所述rc.local脚本自启动进程运行配置内网ip的脚本;

步骤s22,将所述智能网卡的系统侧网口设置为与所述基线版本侧相同的ip段;

步骤s23,修改当前的网络配置架构。

本实施例中,将智能网卡的系统侧网口设置为同armos侧同一个ip段,使得系统内存中的文件可以拷贝到智能网卡的基线版本上,便于远程进入基线版本,修改当前的网络配置架构。

在一实施例中,所述修改当前的网络配置架构的步骤s23,包括:

步骤s231,将所述基线版本上的第二物理网卡和第三物理网卡之间设置一个bond;

步骤s232,将所述基线版本上的第四物理网卡和第五物理网卡设置单独的网口;

步骤s233,将所述第四物理网卡的ip设置为出厂配置的内网ip,并将所述内网ip写入到基线版本的自启动文件中。

本实施例中,在第二物理网卡和第三物理网卡上设置一个bond,bond是将多块网卡虚拟链接成一块网卡的技术,通过bond技术让多块网卡看起来是一个单独的以太网接口设备并具有相同的ip地址。具体为bond1,将第四物理网卡和第五物理网卡配置成单独的网口,将第四物理网卡的ip设置为出厂配置的内网ip,现有技术中,第四物理网卡和第五物理网卡做一个bond0,第二物理网卡和第三物理网卡做一个bond,两个bond直接桥接,这样的话第四物理网卡就不能单独的做为网络端口对系统内存进行网络通信使用。因此我们在进入系统内存后将第四物理网卡的ip网络设置成为出厂时的同一个网段,这样网络就能联通。将第四物理网卡配置的内网ip写入到基线版本的自启动文件rc.local里面,这样确保系统启动后就能正常启动这个内网ip,使得第四物理网卡在和主机系统层面实现长时间的通信。

在一实施例中,所述将初始化文件发送到所述基线版本的opt目录下,远程执行初始化命令的步骤s3之后,包括:

步骤s4,使用ovs和dpdk接管所述第四物理网卡;

步骤s5,在所述ovs和dpdk启动的时间内返回初始化结果。

本实施例中,dpdk进程起来后就会将第一物理网卡、第四物理网卡、第五物理网卡、第零物理网卡接管为自己内部的数据链路,这时就无法看到第四物理网卡的端口,配置的网络ip也会清除掉,为了防止初始化过程中网络不通导致初始化结果无法返回,我们不管初始化配置是否正常与否,都会写入一个命令进行第四物理网卡的端口ip配置,也就是说的第四物理网卡的内网ip一直会存在,直到第四物理网卡被ovs和dpdk接管后,此时才真正的释放第四物理网卡的端口。ovs和dpdk正常运行后此时也能确定初始化正常完成,此时能够被其他局域网内的其他服务器ping通,ping(packetinternetgrope,因特网包探索器),用于测试网络连接量的程序。ping发送一个icmp回声请求消息给目的地并报告是否收到所希望的icmp回声应答。它是用来检查网络是否通畅或者网络连接速度的命令。利用ovs启动的时间差返回初始化结果,使得用户能够及时了解到初始化结果,并根据初始化结果执行后续操作,如当初始化失败后,重新进行初始化流程。

ovs(openvswitch)是开源的虚拟交换机。也是当前市场上云环境中部署份额最大的交换机。支持openflow协议,ovsdb协议管理。一个ovs实例包括,ovsdb-server、ovs-vswitchd、datapath快转模块(linux内核中实现,可选的。dpdk模式是在用户态实现快转,并不需要内核态的datapath模块)。dpdk为物理和虚拟设备提供驱动程序。物理dpdk设备通过在"dpdk-devargs"参数中指定有效的pci(peripheralcomponentinterconnect)地址,添加到ovs中。没有pci地址的虚拟dpdk设备也使用"dpdkdevargs"命名参数,但是格式有所不同。

参见图2,本申请一实施例还提供了一种智能网卡初始化装置,包括:

启动单元,用于通过ipmitool远程设置镜像启动,进入所述智能网卡的系统内存;

修改单元,用于通过rc.local脚本的自启动进程运行配置内网ip的脚本,修改所述智能网卡的基线版本的当前网络配置架构,使得所述基线版本与所述系统内存保持通信;

初始化单元,用于将初始化文件发送到所述基线版本的opt目录下,远程执行初始化命令。

在一实施例中,所述启动单元包括:

启动子单元,用于通过所述ipmitool远程设置镜像启动;

获取子单元,用于获取需要配置的服务器的带外管理ip,将各个所述带外管理ip通过文件的形式存储起来;

解析子单元,用于所述ipmitool通过预设脚本依次解析各个所述带外管理ip,对其下发镜像挂载和启动命令,进入所述系统内存。

在一实施例中,所述修改单元,包括:

运行子单元,用于通过所述rc.local脚本自启动进程运行配置内网ip的脚本;

设置子单元,用于将所述智能网卡的系统侧网口设置为与所述基线版本侧相同的ip段;

修改子单元,用于修改当前的网络配置架构。

进一步地,所述修改子单元,包括:

第一设置模块,用于将所述基线版本上的第二物理网卡和第三物理网卡之间设置一个bond;

第二设置模块,用于将所述基线版本上的第四物理网卡和第五物理网卡设置单独的网口;

第三设置模块,用于将所述第四物理网卡的ip设置为出厂配置的内网ip,并将所述内网ip写入到所述基线版本的自启动文件中。

在一实施例中,所述智能网卡初始化装置,还包括:

接管单元,用于使用ovs和dpdk接管所述第四物理网卡;

返回单元,用于在所述ovs和dpdk启动的时间内返回初始化结果。

在本实施例中,上述各个单元、子单元、模块的具体实现请参照上述方法实施例中所述,在此不再进行赘述。

参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储配置内网ip的脚本的数据、初始化文件数据等。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种智能网卡初始化方法。

本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。

本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种智能网卡初始化方法。

综上所述,为本申请实施例中提供的智能网卡初始化方法、装置、计算机设备和存储介质,通过ipmitool远程设置镜像启动,进入所述智能网卡的系统内存;通过rc.local脚本的自启动进程运行配置内网ip的脚本,修改所述智能网卡的基线版本的当前网络配置架构,使得所述基线版本与所述系统内存保持通信;将初始化文件发送到所述基线版本的opt目录下,远程执行初始化命令。通过重新配置智能网卡的基线版本的当前网络配置架构,使得基线版本与系统内存保持通信,当初始化失败后,不需要通过硬件设备连接,提高初始化流程的工作效率和质量。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储与一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram通过多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双速据率sdram(ssrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本申请的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1