System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及信息,特别涉及一种基于智能网卡的故障恢复方法。
技术介绍
1、数据中心中,智能网卡逐渐得到大规模应用,智能网卡以pcie卡的形式,向服务器主机呈现了网络和存储设备,同时将以往由服务器主机完成的vpc网络和云存储功能卸载到了网卡上。
2、由于智能网卡承载了大量的功能,业务复杂,难免出现各类故障,但是在裸金属产品中,智能网卡和服务器之间,只有pcie通道相连,且pcie通道上往往只实现了标准的virtio设备,所以在智能网卡故障时,网卡和服务器之间缺少必要的容错机制,保证系统能够发现问题,恢复业务。
技术实现思路
1、本专利技术的目的在于提供一种基于智能网卡的故障恢复方法,以解决上述
技术介绍
中提出的问题。
2、为实现上述目的,本专利技术提供如下技术方案:一种基于智能网卡的故障恢复方法,所述恢复方法包括以下几个步骤:
3、第一步,触发超时复位单元,当智能网卡出现故障时候,会触发超时复位单元,进行fpga和cpu重启;
4、第二步,状态寄存器状态更新,fpga发送信号给virtio的状态寄存器,将状态寄存器变更为need_reset状态;
5、第三步,服务器重启,通过状态寄存器的状态变更,触发服务器驱动重新加载;
6、第四步,持续检测状态寄存器的状态,服务器重启后,对状态寄存器的状态进行持续检测;
7、第五步,重启完成,当智能网卡的fpga和cpu重启成功后,进行写复位单元的工作,解除超时复位
8、优选的,所述智能网卡的内部设置有cpld,所述超时复位单元设置在cpld内,所述fpga和cpu均设置在智能网卡的内部,所述virtio设置在智能网卡的内部,所述virtio用于连接智能网卡和服务器。
9、优选的,所述超时复位单元包括输入模块、计数模块和输出模块;
10、所述输入模块用于接收写复位单元传输的信息;
11、所述计数模块用于计算和判断时间是否超过阈值;
12、所述输出模块用于输出复位信号给fpga。
13、优选的,所述fpga的内部设置有触发逻辑,所述触发逻辑用于在收到复位信号后输出信号给状态寄存器。
14、优选的,所述服务器的内部设置有检测单元,所述检测单元包括检测模块、控制模块、清理模块和连接模块。
15、优选的,所述连接模块用于连接服务器和virtio;
16、所述检测模块用于检测通过连接模块传输的virtio的状态;
17、所述控制模块用于控制服务器驱动的重启;
18、所述清理模块用于清空virtio的状态寄存器。
19、优选的,所述连接模块的输入端和输出端分别与状态寄存器的输出端和检测模块的输入端电性连接,所述检测模块的输出端与控制模块的输入端电性连接,所述控制模块的输出端均与清理模块的输入端和服务器驱动的输入端电性连接,所述清理模块的输出端与状态寄存器的输入端电性连接。
20、优选的,所述状态寄存器的状态包括need_reset状态和设备可用状态。
21、优选的,所述状态寄存器的状态代表整个智能网卡的状态。
22、本专利技术的技术效果和优点:
23、本专利技术通过利用超时复位单元、fpga、状态寄存器和检测单元的设计,通过超时复位单元和fpga的触发逻辑,可以使设备完成故障监控和故障状态下的应急操作,通过对virtio内的状态寄存器进行扩展,从而让状态寄存器代表整个网卡的状态,网卡上的系统会接管virtio设备的状态寄存器的部分状态机变化逻辑,使得在不修改服务器驱动的情况,能够让服务器感知到后端设备出现问题,并触发驱动重新加载,并和后端的故障恢复保持同步,这样的故障恢复避免了服务器重启,减少了故障恢复时间。
本文档来自技高网...【技术保护点】
1.一种基于智能网卡的故障恢复方法,其特征在于,所述恢复方法包括以下几个步骤:
2.根据权利要求1所述的一种基于智能网卡的故障恢复方法,其特征在于,所述智能网卡的内部设置有CPLD,所述超时复位单元设置在CPLD内,所述FPGA和cpu均设置在智能网卡的内部,所述virtio设置在智能网卡的内部,所述virtio用于连接智能网卡和服务器。
3.根据权利要求1所述的一种基于智能网卡的故障恢复方法,其特征在于,所述超时复位单元包括输入模块、计数模块和输出模块;
4.根据权利要求3所述的一种基于智能网卡的故障恢复方法,其特征在于,所述FPGA的内部设置有触发逻辑,所述触发逻辑用于在收到复位信号后输出信号给状态寄存器。
5.根据权利要求1所述的一种基于智能网卡的故障恢复方法,其特征在于,所述服务器的内部设置有检测单元,所述检测单元包括检测模块、控制模块、清理模块和连接模块。
6.根据权利要求5所述的一种基于智能网卡的故障恢复方法,其特征在于,所述连接模块用于连接服务器和virtio;
7.根据权利要求6所述的一种基于
8.根据权利要求1所述的一种基于智能网卡的故障恢复方法,其特征在于,所述状态寄存器的状态包括NEED_RESET状态和设备可用状态。
9.根据权利要求8所述的一种基于智能网卡的故障恢复方法,其特征在于,所述状态寄存器的状态代表整个智能网卡的状态。
...【技术特征摘要】
1.一种基于智能网卡的故障恢复方法,其特征在于,所述恢复方法包括以下几个步骤:
2.根据权利要求1所述的一种基于智能网卡的故障恢复方法,其特征在于,所述智能网卡的内部设置有cpld,所述超时复位单元设置在cpld内,所述fpga和cpu均设置在智能网卡的内部,所述virtio设置在智能网卡的内部,所述virtio用于连接智能网卡和服务器。
3.根据权利要求1所述的一种基于智能网卡的故障恢复方法,其特征在于,所述超时复位单元包括输入模块、计数模块和输出模块;
4.根据权利要求3所述的一种基于智能网卡的故障恢复方法,其特征在于,所述fpga的内部设置有触发逻辑,所述触发逻辑用于在收到复位信号后输出信号给状态寄存器。
5.根据权利要求1所述的一种基于智能网卡的故障恢复方法,其特征在于,所述服务器的内部设置有检测单元,所述检测...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。