网卡管理方法、系统及设备与流程

文档序号:37834522发布日期:2024-05-07 19:09阅读:8来源:国知局
网卡管理方法、系统及设备与流程

本技术涉及网卡,并且更具体地,涉及一种网卡管理方法、系统及设备。


背景技术:

1、高速串行拓展总线(peripheral component interface express,pcie)板卡等可以运行独立操作系统的智能网卡正在被数据中心广泛应用。智能网卡的硬件运行状态数据能够反映智能网卡中硬件的运行情况,例如,在智能网卡的操作系统(operating system,os)启动前,智能网卡基本输入输出系统(basic input output system,bios)的启动信息。通过网卡的硬件运行状态数据,数据中心运维人员能够对网卡进行管理和维护。

2、但是,智能网卡的硬件运行状态数据属于网卡的底层数据,不能够被服务器直接访问。现有技术通过在服务器内增加串口连接器,将智能网卡的系统串口通过专用的串口线与服务器对接来获取智能网卡的硬件运行状态数据。这种方案只适合定制服务器的场景,不具备通用性,大多数场景下无法实际部署。

3、因此,如何在不改变现有服务器设计和数据中心管理网络的情况下,实现对智能网卡的管理是目前亟需解决的技术问题。


技术实现思路

1、本技术实施例提供一种网卡管理方法、系统及设备,计算机设备可以通过网卡的存储区读取网卡的硬件运行状态数据,不需要改变现有计算机设备的设计,即可实现对网卡的管理,提高了计算机设备的适应性,降低了设计成本。

2、第一方面,提供了一种网卡管理方法,该方法包括:控制模块和网卡芯片,所述控制模块通过第一串行接口与所述网卡所在的计算机设备通信,所述控制模块和所述网卡芯片通过第二串行接口通信;所述网卡芯片,用于持续生成硬件运行状态数据,通过所述第二串行接口将所述硬件运行状态数据发送至控制器,其中,所述硬件运行状态数据包括所述网卡的操作系统内核运行数据、所述网卡的基本输入输出系统的日志数据或所述网卡的固件运行状态数据中任意一种或者多种;所述控制模块包括存储区和所述控制器,所述存储区与所述第一串行接口建立通信,所述计算机设备通过所述第一串行接口访问所述存储区,所述控制器用于从所述存储区读取来自于所述计算机设备的读取请求,根据所述读取请求通过所述第二串行接口将所述硬件运行状态数据写入到所述存储区。

3、本技术实施例提供了一种网卡管理方法,计算机设备可以通过网卡的存储区读取网卡的硬件运行状态数据,不需要改变现有计算机设备的设计,即可实现对网卡的管理,提高了计算机设备的适应性,降低了设计成本。

4、应理解,网卡运行独立的操作系统(operating system,os)。网卡的硬件运行状态数据能够反映智能网卡中硬件的运行情况,硬件运行状态数据包括网卡的操作系统内核运行数据、网卡的基本输入输出系统(basic input output system,bios)的日志数据或网卡的固件(firmware)运行状态数据中任意一种或者多种。示例性地,硬件运行状态数据包括网卡的os启动前,网卡bios的启动信息和/或bios排除故障(debug)的信息。

5、应理解,计算机设备将读取请求写入到网卡的存储区后,网卡中的控制器可以将硬件运行状态数据写入到网卡的存储区中,这样计算机设备就可以从网卡的存储区读取网卡的硬件运行状态数据。当网卡的操作系统挂死或网络异常后,运维人员可以通过硬件运行状态数据,实现对网卡的故障定位和故障恢复。

6、示例性地,该存储区可以是网卡的寄存器,第二串行接口可以是通用异步收发传输器 (universal asynchronous receiver/transmitter,uart)接口

7、应理解,网卡的硬件运行状态数据是实时产生的,并且在上一时刻产生的硬件运行状态数据在下一刻不会进行保存。示例性地,网卡的操作系统内核运行数据在网卡的操作系统内核上,bios的日志数据在网卡的bios上,固件运行状态数据在网卡的固件上。网卡的硬件运行状态数据通过网卡的第二串行接口实时输出,并且随机输出网卡的操作系统内核运行数据、所述网卡的基本输入输出系统的日志数据或所述网卡的固件运行状态数据中任意一种或者多种。控制器可以通过网卡的第二串行接口获取网卡的硬件运行状态数据。

8、应理解,控制器可以根据读取请求从网卡的第二串行接口获取网卡的硬件运行状态数据。可选的,控制器也可以在计算机设备还未将读取请求写入存储区之前,提前对网卡的硬件运行状态数据进行保存,例如,控制器可以提前将网卡的硬件运行状态数据保存在缓存区中,当检测到计算机设备的读取请求时,从缓存区中读取硬件状态运行数据并将该网卡的硬件运行状态数据写入存储区供计算机设备读取。

9、结合第一方面,在第一方面的某些实现方式中,所述读取请求包括所述硬件运行状态数据的长度。

10、本技术实施例提供了一种网卡管理方法,计算机设备可以通过网卡的存储区读取网卡的硬件运行状态数据,不需要改变现有计算机设备的设计,即可实现对网卡的管理,提高了计算机设备的适应性,降低了设计成本。

11、结合第一方面,在第一方面的某些实现方式中,在所述控制器根据所述读取请求将所述硬件运行状态数据写入到所述存储区之前,所述方法还包括:所述控制器由空闲状态转换为繁忙状态。

12、应理解,控制器的状态信息可以保存在相关的状态寄存器中,控制器的状态信息包括空闲状态和繁忙状态。计算机设备可以通过读取状态寄存器里控制器的状态来判断控制器是否空闲。示例性地,可以用“0”来代表控制器为空闲状态,用“1”代表控制器为繁忙状态。若控制器状态为空闲,则代表控制器此时可以及时的响应计算机设备的读取请求,将硬件运行状态数据写入到存储区。若控制器状态为繁忙,则代表控制器此时可能不能够及时响应计算机设备的读取请求,计算机设备可以选择等待一段时间再向网卡的存储区写入读取请求。

13、本技术实施例提供了一种网卡管理方法,计算机设备在向网卡的存储区写入读取请求之前,可以首先对控制器的状态进行判断,从而保证网卡的控制器可以及时响应计算机设备的读取请求,保证硬件运行状态数据的读取效率。

14、结合第一方面,在第一方面的某些实现方式中,所述方法还包括:所述第一串行接口包括集成电路总线接口,所述方法还包括:当所述网卡的操作系统故障时,所述控制器通过所述集成电路总线接口获取来自于所述计算机设备的操作指令,将所述操作指令存到所述存储区,所述操作指令为所述计算机设备根据所述硬件运行状态数据确定的指令;所述控制器从所述存储区读取所述操作指令,发送给所述网卡芯片;所述网卡芯片接收并执行所述操作指令。

15、应理解,计算机设备可以通过分析从网卡获得的硬件运行状态数据来生成对应的操作指令,用于实现对网卡的故障定位和恢复。在一些应用场景中,该操作指令也可以是预设的操作指令,无需根据硬件运行状态数据来生成。

16、示例性地,当网卡的操作系统故障时,网卡的控制器可以通过集成电路总线接口获取来自于计算机设备的操作指令,将该操作指令存到存储区,然后将该操作指令从存储区发送给网卡芯片,如中央处理器(central processing unit,cpu)中,实现对网卡的故障定位和恢复。

17、本技术实施例提供了一种网卡管理方法,在网卡的操作系统故障时,计算机设备可以通过网卡的存储区将操作指令发送给网卡的芯片,实现对网卡的故障定位和恢复。

18、结合第一方面,在第一方面的某些实现方式中,在所述控制器根据所述读取请求将所述硬件运行状态数据写入到所述存储区之前,所述方法还包括:所述控制器通过所述第二串行接口将所述硬件运行状态数据存放在所述网卡的缓存区;所述控制器根据所述读取请求将所述硬件运行状态数据写入到所述存储区,包括:所述控制器根据所述读取请求将所述硬件运行状态数据从所述缓存区写入到所述存储区。

19、示例性地,控制器可以在计算机设备还未将读取请求写入存储区之前,提前对网卡的硬件运行状态数据进行保存,例如,控制器可以提前将网卡的硬件运行状态数据保存在缓存区中,当检测到计算机设备的读取请求时,从缓存区中读取硬件状态运行数据并将该网卡的硬件运行状态数据写入存储区供计算机设备读取。

20、本技术实施例提供了一种网卡管理方法,控制器可以提前将网卡的硬件运行状态数据保存在缓存区中,保证了计算机设备对网卡的硬件运行状态数据的读取效率和完整性。

21、第二方面,提供了一种网卡管理方法,该方法包括:计算机设备的硬件单元通过所述计算机设备的总线接口将读取请求写入到网卡的存储区,所述读取请求用于读取所述网卡的硬件运行状态数据,所述存储区为所述计算机设备能够通过所述总线接口访问的存储区域,所述硬件运行状态数据包括所述网卡的操作系统内核运行数据、所述网卡的基本输入输出系统的日志数据或所述网卡的固件运行状态信息中任意一种或者多种;所述硬件单元通过所述总线接口从所述存储区读取所述硬件运行状态数据。

22、计算机设备的硬件单元可以是处理器或者基板管理控制器(baseboardmanagement controller,bmc)。处理器可以通过高速串行拓展总线(peripheralcomponent interface express,pcie)接口从存储区读取网卡的硬件运行状态数据,bmc可以通过集成电路总线(inter-integrated circuit,iic)接口从存储区读取网卡的硬件运行状态数据。

23、本技术实施例提供了一种网卡管理方法,计算机设备可以通过网卡的存储区读取网卡的硬件运行状态数据,不需要改变现有计算机设备的设计,即可实现对网卡的管理,提高了计算机设备的适应性,降低了设计成本。

24、示例性地,该存储区可以是网卡的寄存器。

25、应理解,网卡运行独立的os。网卡的硬件运行状态数据能够反映智能网卡中硬件的运行情况,硬件运行状态数据包括网卡的操作系统内核运行数据、网卡bios的日志数据或网卡的固件运行状态数据中任意一种或者多种。示例性地,硬件运行状态数据包括网卡的os启动前,网卡bios的启动信息和/或bios排除故障(debug)的信息。

26、应理解,计算机设备将读取请求写入到网卡的存储区后,网卡中的控制器可以将硬件运行状态数据写入到网卡的存储区中,这样计算机设备就可以从网卡的存储区读取网卡的硬件运行状态数据。当网卡的操作系统挂死或网络异常后,运维人员可以通过硬件运行状态数据,实现对网卡的故障定位和故障恢复。

27、应理解,计算机设备可以通过存储区中指定比特位的值来确定所需要的硬件运行状态数据是否已经写入到存储区。示例性地,该比特位为“1”,代表硬件运行状态数据已经写入到存储区,若该比特位为“0”,代表硬件运行状态数据还未完全写入存储区,计算机设备继续等待。

28、应理解,计算机设备的cpu和bmc都可以将读取请求写入到网卡的存储区中。区别在于,计算机设备的cpu通过pcie将读取请求写入到网卡的存储区,bmc通过iic将读取请求写入到网卡的存储区。

29、本技术实施例提供了一种网卡管理方法,计算机设备可以通过网卡的存储区读取网卡的硬件运行状态数据,不需要改变现有计算机设备的设计,即可实现对网卡的管理,提高了计算机设备的适应性,降低了设计成本。

30、结合第二方面,在第二方面的某些实现方式中,所述读取请求包括所述硬件运行状态数据的长度。

31、本技术实施例提供了一种网卡管理方法,计算机设备可以通过网卡的存储区读取网卡的硬件运行状态数据,不需要改变现有计算机设备的设计,即可实现对网卡的管理,提高了计算机设备的适应性,降低了设计成本。

32、结合第二方面,在第二方面的某些实现方式中,所述计算机设备的硬件单元通过所述计算机设备的总线接口将读取请求写入到网卡的存储区,包括:当所述网卡的操作系统故障时,所述基板管理控制器通过集成电路总线接口将所述读取请求写入到所述网卡的所述存储区。

33、应理解,计算机设备的cpu通过pcie将读取请求写入到网卡的存储区依赖于网卡的操作系统,当网卡的操作系统故障后,计算机设备可以通过bmc访问网卡的硬件运行状态数据,从而可以实现对网卡的故障定位和故障恢复。

34、应理解,bmc可以负责服务器的硬件状态管理、操作系统管理、健康状态管理、功耗管理等核心功能。bmc可以在服务器未开机的状态下,对服务器进行固件升级、查看服务器设备等操作。bmc是独立于服务器系统之外的小型操作系统,是一个集成在主板上的芯片。在一些场景中,bmc通过高速串行拓展总线(peripheral component interface express,pcie)等形式插在主板上。服务器集群可以使用bmc指令进行大规模无人值守操作,包括服务器的远程管理、监控、安装、重启等。

35、本技术实施例提供了一种网卡管理方法,在网卡的操作系统故障时,计算机设备的 bmc通过iic通道访问网卡的硬件运行状态数据,不需要改变现有计算机设备的设计,即可实现对网卡的管理,提高了计算机设备的适应性,降低了设计成本。

36、结合第二方面,在第二方面的某些实现方式中,在所述基板管理控制器通过集成电路总线将所述读取请求写入到所述网卡的所述存储区之前,所述方法还包括:所述基板管理控制器将所述基板管理控制器的串行接口设置为离线状态。

37、本技术实施例中,在bmc通过iic将读取请求写入到网卡的存储区之前,bmc可以切换串行接口为离线状态,当网卡的操作系统故障后,计算机设备可以通过bmc访问网卡的硬件运行状态数据,从而可以实现对网卡的故障定位和故障恢复。

38、结合第二方面,在第二方面的某些实现方式中,所述方法还包括:所述基板管理控制器通过所述集成电路总线将操作指令写入到所述网卡的所述存储区。

39、应理解,当网卡的操作系统故障时,bmc可以通过iic将操作指令写入到网卡的存储区,网卡的控制器可以将来自于计算机设备的操作指令从存储区发送给网卡芯片,实现对网卡的故障恢复。

40、本技术实施例提供了一种网卡管理方法,在网卡的操作系统故障时,计算机设备可以通过网卡的存储区将操作指令发送给网卡的芯片,实现对网卡的故障恢复。

41、结合第二方面,在第二方面的某些实现方式中,在所述计算机设备的硬件单元通过所述计算机设备的总线接口将读取请求写入到网卡的存储区之前,所述方法还包括:所述硬件单元确定所述网卡中的控制器处于空闲状态,所述控制器用于将所述硬件运行状态数据写入到所述网卡的所述存储区中。

42、应理解,控制器的状态信息可以保存在相关的状态寄存器中,控制器的状态信息包括空闲状态和繁忙状态。计算机设备的cpu或者bmc可以通过读取状态寄存器里控制器的状态来判断控制器是否空闲。示例性地,可以用“0”来代表控制器为空闲状态,用“1”代表控制器为繁忙状态。若控制器状态为空闲,则代表控制器此时可以及时的响应计算机设备的读取请求,将硬件运行状态数据写入到存储区。若控制器状态为繁忙,则代表控制器此时可能不能够及时响应计算机设备的读取请求,计算机设备可以选择等待一段时间再向网卡的存储区写入读取请求。

43、本技术实施例提供了一种网卡管理方法,计算机设备在向网卡的存储区写入读取请求之前,可以首先对控制器的状态进行判断,从而保证网卡的控制器可以及时响应计算机设备的读取请求,保证硬件运行状态数据的读取效率。

44、第三方面,提供了一种网卡,包括:控制模块和网卡芯片,所述控制模块通过第一串行接口与所述网卡所在的计算机设备通信,所述控制模块和所述网卡芯片通过第二串行接口通信;所述网卡芯片,用于持续生成硬件运行状态数据,通过所述第二串行接口将所述硬件运行状态数据发送至控制器,其中,所述硬件运行状态数据包括所述网卡的操作系统内核运行数据、所述网卡的基本输入输出系统的日志数据或所述网卡的固件运行状态数据中任意一种或者多种;所述控制模块包括存储区和所述控制器,所述存储区与所述第一串行接口建立通信,所述计算机设备通过所述第一串行接口访问所述存储区,所述控制器用于从所述存储区读取来自于所述计算机设备的读取请求,根据所述读取请求通过所述第二串行接口将所述硬件运行状态数据写入到所述存储区。

45、结合第三方面,在第三方面的某些实现方式中,所述读取请求包括所述硬件运行状态数据的长度。

46、结合第三方面,在第三方面的某些实现方式中,所述控制器,还用于在从所述存储区读取来自于所述计算机设备的所述读取请求之前,由空闲状态转换为繁忙状态。

47、结合第三方面,在第三方面的某些实现方式中,所述第一串行接口包括集成电路总线接口;所述控制器,还用于当所述网卡的操作系统故障时,通过所述集成电路总线接口获取来自于所述计算机设备的操作指令,将所述操作指令存到所述存储区,所述操作指令为所述计算机设备根据所述硬件运行状态数据确定的指令;所述控制器,还用于从所述存储区读取所述操作指令,发送给所述网卡芯片;所述网卡芯片,还用于接收并执行所述操作指令。

48、结合第三方面,在第三方面的某些实现方式中,所述网卡还包括缓存区,所述缓存区与所述控制器连接,用于存放所述控制器通过所述第二串行接口获取的所述硬件运行状态数据;所述控制器,还用于根据所述读取请求将所述硬件运行状态数据从所述缓存区写入到所述存储区。

49、第三方面和第三方面的任意一个可能的实现方式的有益效果和第一方面以及第一方面的任意一个可能的实现方式的有益效果是对应的,对此,不再赘述。

50、第四方面,提供了一种计算机设备,包括:总线接口,用于与所述计算机设备的网卡通信;硬件单元,与所述总线接口连接,用于通过所述总线接口将读取请求写入到所述网卡的存储区,所述读取请求用于读取所述网卡的硬件运行状态数据,所述存储区为计算机设备能够通过所述总线接口访问的存储区域,所述硬件运行状态数据包括所述网卡的操作系统内核运行数据、所述网卡的基本输入输出系统的日志数据或所述网卡的固件运行状态信息中任意一种或者多种;所述硬件单元,还用于通过所述总线接口从所述存储区读取所述硬件运行状态数据。

51、结合第四方面,在第四方面的某些实现方式中,所述硬件单元为处理器,所述总线接口为高速串行拓展总线接口,或者,所述硬件单元为基板管理控制器,所述总线接口为集成电路总线接口。

52、结合第四方面,在第四方面的某些实现方式中,所述基板管理控制器,还用于当所述网卡的操作系统故障时,通过所述集成电路总线接口将所述读取请求写入到所述网卡的所述存储区。

53、结合第四方面,在第四方面的某些实现方式中,所述基板管理控制器,还用于通过所述集成电路总线接口将所述计算机设备的操作指令写入到所述网卡的所述存储区。

54、结合第四方面,在第四方面的某些实现方式中,所述硬件单元,还用于确定所述网卡中的控制器处于空闲状态,所述控制器用于将所述硬件运行状态数据写入到所述网卡的所述存储区中。

55、第四方面和第四方面的任意一个可能的实现方式的有益效果和第二方面以及第二方面的任意一个可能的实现方式的有益效果是对应的,对此,不再赘述。

56、第五方面,提供了一种网卡管理系统,该系统包括:第三方面或第三方面任意一种可能的实现方式中所述的网卡;第四方面或第四方面任意一种可能的实现方式中所述的计算机设备。

57、第六方面,提供了一种网卡管理系统,该系统包括网卡和所述网卡所在的计算机设备;所述网卡包括控制模块和网卡芯片,所述控制模块通过第一串行接口与所述计算机设备通信,所述控制模块和所述网卡芯片通过第二串行接口通信;所述网卡芯片,用于持续生成硬件运行状态数据,通过所述第二串行接口将所述硬件运行状态数据发送至控制器,其中,所述硬件运行状态数据包括所述网卡的操作系统内核运行数据、所述网卡的基本输入输出系统的日志数据或所述网卡的固件运行状态数据中任意一种或者多种;所述控制模块包括存储区和所述控制器,所述存储区与所述第一串行接口建立通信,所述计算机设备通过所述第一串行接口访问所述存储区,所述控制器用于从所述存储区读取来自于所述计算机设备的读取请求,根据所述读取请求通过所述第二串行接口将所述硬件运行状态数据写入到所述存储区;所述计算机设备包括总线接口和硬件单元,所述总线接口用于与所述网卡通信,所述硬件单元与所述总线接口连接,用于通过所述总线接口将读取请求写入到所述网卡的存储区。

58、第七方面,提供了一种网卡管理系统方法,该系统方法包括:计算机设备的硬件单元通过所述计算机设备的总线接口和网卡的第一串行接口将读取请求写入到所述网卡的存储区,所述网卡的控制模块通过所述第一串行接口与所述计算机设备通信,所述控制模块包括所述存储区和控制器,所述读取请求用于读取网卡芯片的硬件运行状态数据,所述存储区为所述计算机设备能够通过所述总线接口访问的存储区域,所述网卡芯片用于持续生成所述硬件运行状态数据,所述硬件运行状态数据包括所述网卡的操作系统内核运行数据、所述网卡的基本输入输出系统的日志数据或所述网卡的固件运行状态信息中任意一种或者多种;所述控制器从所述存储区读取所述读取请求;所述控制器通过所述网卡的第二串行接口获取所述硬件运行状态数据,所述第二串行接口用于输出所述网卡的硬件运行状态数据;所述控制器根据所述读取请求将所述硬件运行状态数据写入到所述存储区;所述硬件单元通过所述总线接口从所述存储区读取所述硬件运行状态数据。

59、第八方面,提供了一种包含指令的计算机程序产品,当所述指令被网卡运行时,使得所述网卡执行如上述第一方面以及第一方面的任意一种实现方式中的方法。

60、第九方面,提供了一种包含指令的计算机程序产品,当所述指令被计算设备运行时,使得所述计算设备执行如上述第二方面以及第二方面的任意一种实现方式中的方法。

61、第十方面,提供了一种计算机可读存储介质,其特征在于,包括计算机程序指令,当所述计算机程序指令由网卡执行时,所述网卡执行如上述第一方面以及第一方面的任意一种实现方式中的方法。

62、作为示例,这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(read-only memory,rom)、可编程rom(programmable rom,prom)、可擦除的 prom(erasable prom,eprom)、flash存储器、电eprom(electrically eprom,eeprom) 以及硬盘驱动器(hard drive)。

63、可选地,作为一种实现方式,上述存储介质具体可以是非易失性存储介质。

64、第九方面,提供了一种计算机可读存储介质,其特征在于,包括计算机程序指令,当所述计算机程序指令由计算设备执行时,所述计算设备执行如上述第二方面以及第二方面的任意一种实现方式中的方法。

65、作为示例,这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(read-only memory,rom)、可编程rom(programmable rom,prom)、可擦除的 prom(erasable prom,eprom)、flash存储器、电eprom(electrically eprom,eeprom) 以及硬盘驱动器(hard drive)。

66、可选地,作为一种实现方式,上述存储介质具体可以是非易失性存储介质。

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