发明内容
有鉴于此,为解决上述问题,本发明提供一种检测方法、装置、服务器及存储介质,以检测实际部署中出现的网卡插入错误的PCI插槽/网口与交换机之间连线错误的问题。技术方案如下:
本发明第一方面公开一种检测方法,包括:
获取网络环境中每个服务器的每个PCI插槽中的网卡的硬件信息;
根据所述网卡的硬件信息确定所述网卡是否与其插入的PCI插槽匹配;
若每个所述网卡均与其插入的PCI插槽匹配,控制各个所述服务器中的第一服务器的目标数据网口和第二服务器的目标数据网口之间进行信息交互,所述第一服务器不同于所述第二服务器;
获取预先设置的至少一个交换机中与所述目标数据网口对应的目标交换机在所述信息交互过程中记录的动态MAC地址表项,所述动态MAC地址表项包括动态信息,所述动态信息包括信息发送方的源MAC地址和与所述信息发送方连接的交换机端口;
基于所述动态MAC地址表项确定各个所述服务器的目标数据网口是否与所述至少一个交换机连线正确。
可选的,若所述网卡与其插入的PCI插槽不匹配,该方法还包括:
显示用于表征所述网卡与其插入的PCI插槽不匹配的提醒信息。
可选的,所述根据所述网卡的硬件信息确定所述网卡是否与其插入的PCI插槽匹配,包括:
获取所述网卡的硬件信息指示的所述网卡的第一网卡型号;
确定预先设置的与所述网卡插入的PCI插槽对应的第二网卡型号;
判断所述第一网卡型号和所述第二网卡型号是否相同;
若所述第一网卡型号和所述第二网卡型号相同,确定所述网卡与其插入的PCI插槽匹配;
若所述第一网卡型号和所述第二网卡型号不相同,确定所述网卡与其插入的PCI插槽不匹配。
可选的,所述控制各个所述服务器中的第一服务器的目标数据网口和第二服务器的目标数据网口之间进行信息交互,包括:
根据所述服务器的管理网口的IP地址分别登录每个所述服务器;
确定分别位于每个所述服务器的一个目标数据网口,各个所述服务器中第一服务器的目标数据网口在所述第一服务器的相对位置和第二服务器的目标数据网口在所述第二服务器的相对位置相同;
分别为每个所述服务器上的所述目标数据网口分配IP地址;
基于所述第一服务器的目标数据网口的IP地址和所述第二服务器的目标数据网口的IP地址,控制所述第一服务器和所述第二服务器之间进行信息交互。
可选的,所述基于所述动态MAC地址表项确定各个所述服务器的目标数据网口是否与所述至少一个交换机连线正确,包括:
判断所述动态MAC地址表项中是否包括作为所述信息发送方的所述第一服务器的源MAC地址和作为所述信息发送方的所述第二服务器的源MAC地址;
若所述动态MAC地址表项中包括作为所述信息发送方的第一服务器的源MAC地址和作为所述信息发送方的所述第二服务器的源MAC地址,判断所述动态信息中的交换机端口是否与预先设置的与所述动态信息中的信息发送方的源MAC地址对应的目标交换机端口相同;
若各个所述动态信息中的每个所述动态信息的交换机端口均与预先设置的与该动态信息中的信息发送方的源MAC地址对应的目标交换机端口相同,确定各个所述服务器的目标数据网口与所述至少一个交换机连线正确;
若各个所述动态信息中存在目标动态信息,确定所述目标动态信息中的所述信息发送方的目标数据网口与所述至少一个交换机连线错误;所述目标动态信息的交换机端口与预先设置的与该目标动态信息中的信息发送方的源MAC地址对应的目标交换机端口不同。
可选的,所述动态信息还包括信息发送方所属的局域网,该方法还包括:
判断所述动态MAC地址表项中各个所述信息发送方所属的局域网是否相同;
若所述动态MAC地址表项中各个所述信息发送方所属的局域网不相同,确定各个所述服务器的目标数据网口与所述至少一个交换机连线错误;
所述判断所述动态信息中的交换机端口是否与预先设置的与所述动态信息中的信息发送方的源MAC地址对应的目标交换机端口相同,包括:若所述动态MAC地址表项中各个所述信息发送方所属的局域网相同,判断所述动态信息中的交换机端口是否与预先设置的与所述动态信息中的信息发送方的源MAC地址对应的目标交换机端口相同。
可选的,还包括:
为各个所述服务器中处于同一位置的网口设置同一网口名称。
本发明第二方面公开一种检测装置,包括:
第一获取单元,获取网络环境中每个服务器的每个PCI插槽中的网卡的硬件信息;
第一判断单元,根据所述网络的硬件信息确定所述网卡是否与其插入的PCI插槽匹配;
控制单元,用于若每个所述网卡均与其插入的PCI插槽匹配,控制各个所述服务器中的第一服务器的目标数据网口和第二服务器的数据网口之间进行信息交互,所述第一服务器不同于所述第二服务器;
第二获取单元,用于获取预先设置的至少一个交换机中与所述目标数据网口对应的目标交换机在所述信息交互过程中记录的动态MAC地址表项,所述动态MAC地址表项包括动态信息,所述动态信息包括信息发送方的源MAC地址和与所述信息发送方连接的交换机端口;
第一确定单元,用于基于所述动态MAC地址表现确定各个所述服务器的目标数据网口是否与所述至少一个交换机连线正确。
本发明第三方面公开一种服务器,包括:至少一个存储器和至少一个处理器;所述存储器存储有程序,所述处理器调用所述存储器存储的程序,所述程序用于实现如上述本发明第一方面任意一项公开的检测方法。
本发明第四方面公开一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行如上述本发明第一方面任意一项公开的检测方法。
相较于现有技术,本发明实现的有益效果为:
以上本发明提供的一种检测方法、装置、服务器及存储介质,通过根据获取网络环境中每个服务器的每个PCI插槽中的网卡的硬件信息确定网卡是否与其插入的PCI插槽匹配;若每个网卡均与其插入的PCI插槽匹配,控制各个服务器中的第一服务器的目标数据网口和第二服务器的目标数据网口之间进行信息交互,第一服务器不同于第二服务器,并基于所获取的预先设置的至少一个交换机中与目标数据网口对应的目标交换机在信息交互过程中记录的动态MAC地址表项确定各个服务器的目标数据网口是否与至少一个交换机连线正确。这样,能够实现对实际部署中出现的网卡插入错误的PCI插槽/网口与交换机之间连线错误的问题的检测,进而减少管理员在用在自动化脚本批量部署网络环境中的各台服务器时错误情况的发生。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
由上述背景技术可知,在实际部署中网卡插入错误的PCI插槽/网口与交换机之间连线错误的问题是时常发生的,如果出现网卡插入错误的PCI插槽/网口与交换机之间连线错误的问题,管理员在用自动化脚本批量部署网络环境中的各台服务器时会出现错误而且很难定位错误发生原因。
在现有技术中,通过侦测每台主机的每个网口在预设时长内分别接收到的若干广播包,并根据广播包的相关信息,分别对应确定与侦测的网口连接在同一交换机的其他网口,其中,网口接线在同一个交换机上的网口对应为一个连通性分组,根据超融合服务器集群的网口配置分组,判断连通性分组与网口配置分组是否一致,若连通性分组与网口配置分组不一致,则确定连通性分组中存在网口接线错误,并进行相应告警。但是,要实现监听广播报文,则需要每个服务器的每个网卡发出特定的广播报文,不仅对网络负载大,还可能会引起广播风暴,并且,通过监听广播报文的方式来检测网口接线是否发生错误,只能确定服务器的网卡是否连接在同一个交换机上面,并无法确定服务器的网卡和交换机上的端口的对应关系。
因此,本发明实施例提供一种检测方法、装置、服务器及存储介质,不仅能够实现检测实际部署中出现的网卡插入错误的PCI插槽/网口与交换机之间连线错误的问题,还能够确定服务器的网卡和交换机上的端口的对应关系。
参见图1,示出了本发明实施例提供的一种检测方法的流程示意图。该检测方法包括以下步骤:
S101:获取网络环境中每个服务器的每个PCI插槽中网卡的硬件信息。
在本申请实施例中,网卡的硬件信息包括:PCI总线号、PCI设备ID、PCI功能号、PCI插槽号、PnP设备ID、接口描述和MAC地址等等。有关于网卡的硬件信息中的具体内容,可根据实际情况进行设置,本申请实施例不加以限定。
在具体执行步骤S101的过程中,管理服务器基于在自身上运行的应用程序获取网络环境中每个服务器的每个PCI插槽中的网卡的硬件信息。
需要说明的是,网络环境中除了包括服务器,还可以包括管理服务器,管理服务器可以为Windows服务器或者Linux服务器,可根据实际应用进行设置,本申请实施例不加以限定。
比如,当管理服务器为Windows服务器时,在管理服务器上运行PowerShell命令,即管理服务器上运行的应用程序为PowerShell命令,管理服务器通过PowerShell命令获取网络环境中每个服务器的每个PCI插槽中的网卡的硬件信息,或者,当管理服务器为Linux服务器时,在管理服务器上运行lspic命令,即管理服务器上运行的应用程序为lspic命令,管理服务器通过lspic命令获取网络环境中每个服务器的每个PCI插槽中的网卡的硬件信息。
S102:根据网卡的硬件信息确定网卡是否与其插入的PCI插槽匹配。
需要说明的是,若存在网卡与其插入的PCI插槽不匹配,执行步骤S103,若每个网卡均与其插入的PCI插槽匹配,执行步骤S104。
图2为本申请实施例提供的一种根据网卡的硬件信息确定网卡是否与其插入的PCI插槽匹配的方法的流程示意图。
如图2所示,该方法包括:
S201:获取网卡的硬件信息指示的网卡的第一网卡型号。
在本发明实施例中,通过获取PCI插槽中的网卡的硬件信息确定网卡的硬件信息指示的第一网卡型号。
需要说明的是,网卡的硬件信息指示的第一网卡型号可以为Mellanox ConnectX-4Lx Ethernet Adapter#2或者Mellanox ConnectX-4Lx Ethernet Adapter#3,有关于网卡的硬件信息指示的第一网卡型号的具体内容,可根据实际情况进行设置,本申请实施例不加以限定。
S202:确定预先设置的与网卡插入的PCI插槽对应的第二网卡型号。
在本申请实施例中,可以预先设置与PCI插槽对应的第二网卡型号。比如,可预先设置与PCI插槽slot4对应的第二网卡型号为Mellanox ConnectX-4Lx Ethernet Adapter#2、预先设置与PCI插槽slot5对应的第二网卡型号为Mellanox ConnectX-4Lx EthernetAdapter#3。有关于预先设置的与PCI插槽对应的第二网卡型号的具体内容,发明人可根据自己的需求进行设置,本申请实施例不加以限定。
在具体执行步骤S202的过程中,针对网络环境中的每个服务器的每个PCI插槽中网卡,确定该网卡所插入的PCI插槽,进而获取预先设置的与所确定的PCI插槽对应的第二网卡型号。
S203:判断第一网卡型号和第二网卡型号是否相同。
需要说明的是,若第一网卡型号和第二网卡型号相同,执行步骤S204,若第一网卡型号和第二网卡型号不相同,执行步骤S205。
S204:确定网卡与其插入的PCI插槽匹配。
S205:确定网卡与其插入的PCI插槽不匹配。
为了更好的对上述内容进行理解,下面进行举例说明。
为了便于理解,下面以所获取的网络环境中的各个服务器中任意一个服务器的PCI插槽slot4中的网卡的硬件信息进行举例说明。
比如,当获取的服务器的PCI插槽slot4中的网卡的硬件信息指示的网卡的第一网卡型号为Mellanox ConnectX-4Lx Ethernet Adapter#2时,若预先设置的与该网卡插入的PCI插槽slot4对应的第二网卡型号为Mellanox ConnectX-4Lx Ethernet Adapter#2,则确定该网卡的第一网卡型号与第二网卡型号相同,进而确定该网卡与其插入的PCI插槽slot4匹配。
当获取服务器的PCI插槽slot4中的网卡的硬件信息指示的该网卡的第一网卡型号为Mellanox ConnectX-4Lx Ethernet Adapter#2时,若预先设置的与该网卡插入的PCI插槽slot4对应的第二网卡型号不为Mellanox ConnectX-4Lx Ethernet Adapter#2,则确定该网卡的第一网卡型号与第二网卡型号不相同,进而确定该网卡与其插入的PCI插槽slot4不匹配。
S103:显示用于表征网卡与其插入的PCI插槽不匹配的提醒信息。
在具体执行步骤S103的过程中,当存在网卡与其插入的PCI插槽不匹配的情况时,显示该网卡与其插入的PCI插槽所属的服务器,以便于定位插入该网卡的错误的PCI插槽。
比如,PCI插槽slot4所属的服务器为服务器1,当网卡与其插入的PCI插槽slot4不匹配时,显示该网卡与其插入PCI插槽slot4所属的服务器为服务器1。
在本发明实施例中,当存在网卡与其插入的PCI插槽不匹配的情况时,显示用于表征网卡与其插入的PCI插槽不匹配的提醒信息,提醒管理人员当前存在网卡与其插入的PCI插槽不匹配的情况,以便于管理人员根据提醒信息定位插入该网卡的错误的PCI插槽,并进行相应的处理。
S104:控制各个服务器中的第一服务器的目标数据网口和第二服务器的目标数据网口之间进行信息交互。
在具体执行步骤S104的过程中,当每个网卡均与其插入的PCI插槽匹配时,针对于网络环境中的每个服务器,管理服务器基于在自身上运行的应用程序根据该服务器的管理网口的IP地址登录该服务器,并确定位于该服务器的一个目标数据网口,分别为每个服务器上的目标数据网口分配IP地址,并基于各个服务器中的第一服务器的目标数据网口的IP地址和第二服务器的目标数据网口的IP地址,控制第一服务器和第二服务器之间进行信息交互。
在本申请实施例中,针对于网络环境中的每个服务器,该服务器的管理网口的IP地址可以是由该服务器从管理网络中通过预先设置的配置协议获取自身的管理网口的IP地址,并将获取的管理网口的IP地址上报给管理服务器,管理服务器基于在自身上运行的应用程序根据各个服务器上报的管理网口的IP地址分别登录每个服务器,或者,由管理人员通过管理服务器预先为各个服务器配置对应的管理网口的IP地址,管理服务器基于在自身上运行的应用程序根据预先配置的各个服务器的管理网口的IP地址分别登录每个服务器。有关于服务器的管理网口的IP地址的具体设置方法,发明人可根据自己的需求进行设置,本申请实施例不加以限定。
需要说明的是,预先配置的配置协议可以为动态主机配置协议(Dynamic HostConfiguration Protocol,DHCP)。有关于预先设置的配置协议的具体内容,发明人可根据自己需求进行设置,本发明实施例不加以限定。
S105:获取预先设置的至少一个交换机中与目标数据网口对应的目标交换机在信息交互过程中记录的动态MAC地址表项。
其中,动态MAC地址表项包括动态信息,动态信息包括信息发送方的源MAC地址和与信息发送方连接的交换机端口。
在本申请实施例中,预先设置有与服务器的数据网口对应的交换机,如图3所示,包括两台服务器,分别为服务器1和服务器2,其中,服务器1包括两个数据网口,分别为数据网口Data-1、数据网口Data-2,服务器2包括两个数据网口,分别为数据网口Data-1、数据网口Data-2,服务器1和服务器2的数据网口Data-1对应的交换机为交换机TOR Switch#1,服务器1和服务器2的数据网口Data-2对应的目标交换机为交换机TOR Switch#2,当确定位于服务器1和服务器2的数据网口Data-1为目标数据网口时,可以确定与目标数据网口Data-1对应的目标交换机为交换机TOR Switch#1,当确定位于服务器1和服务器2的数据网口Data-2为目标数据网口时,可以确定与目标数据网口Data-2对应的目标交换机为交换机TOR Switch#2。
需要说明的是,各个服务器中第一服务器的目标数据网口在第一服务器的相对位置和第二服务器的目标数据网口在第二服务器的相对位置相同,且处于不同服务器中相同位置的数据网口连接在同一个交换机的不同端口上。
在具体执行步骤S105的过程中,管理服务器基于在自身上运行的应用程序通过简单网络管理协议SNMP或者RestAPIs,获取预先设置的与目标数据网口对应的目标交换机在信息交互的过程中记录的动态MAC地址表项。
比如,如图3所示,包括两台服务器,分别为服务器1和服务器2,其中,服务器1包括两个数据网口,分别为数据网口Data-1、数据网口Data-2,服务器2包括两个数据网口,分别为数据网口Data-1、数据网口Data-2,服务器1的数据网口Data-1在服务器1上的位置和服务器2的数据网口Data-1在服务器2上的位置相同,且服务器1和服务器2的数据网口Data-1对应的交换机为交换机TOR Switch#1,服务器1的数据网口Data-2在服务器1上的位置和服务器2的数据网口Data-2在服务器2上的位置相同,且服务器1和服务器2的数据网口Data-2对应的交换机为交换机TOR Switch#2,可以将服务器1看成第一服务器,将服务器2看成第二服务器,当然也可以将服务器2看成第一服务器,将服务器1看成第二服务器。
当将服务器1看成第一服务器,将服务器2看成第二服务器,且确定将位于第一服务器的数据网口Data1和第二服务器的数据网口Data-1作为目标数据网口时,控制第一服务器的目标数据网口Data-1和第二服务器的目标数据网口Data-1进行信息交互,并获取与第一服务器和第二服务器的目标数据网口Data-1对应的交换机TOR Switch#1在信息交互的过程中记录的动态MAC地址表项,当确定将位于第一服务器的数据网口Data-2和第二服务器的数据网口Data-2作为目标数据网口时,控制第一服务器的目标数据网口Data-2和第二服务器的目标数据网口Data-2进行信息交互,并获取与第一服务器和第二服务器的目标数据网口Data-2对应的交换机TOR Switch#2在信息交互的过程中记录的动态MAC地址表项。
S106:基于动态MAC地址表项确定各个服务器的目标数据网口是否与至少一个交换机连线正确。
在具体执行步骤S106的过程中,在获取到预先设置的至少一个交换机中与目标数据网口对应的目标交换机在信息交互过程中记录的动态MAC地址表项后,判断动态MAC地址表项中是否包括各个服务器中作为信息发送方的第一服务器的源MAC地址和作为信息发送方的第二服务器源MAC地址,若均包括,则判断动态MAC地址表项中的动态信息中的交换机端口是否与预先设置的与动态信息中的信息发送方的源MAC地址对应的目标交换机端口相同,若各个动态信息中的每个动态信息的交换机端口均与预先设置的与该动态信息中的信息发送方的源MAC地址对应的目标交换机端口相同,则确定各个服务器的目标数据网口与至少一个交换机连线确定。反之,若各个动态信息中存在目标动态信息,则确定各个服务器的目标数据网口与至少一个交换机连线不正确。
需要说明的是,目标动态信息的交换机端口与预先设置的与该目标动态信息中的信息发送方的源MAC地址对应的目标交换机端口不同。
在本申请实施例中,各个服务器中的第一服务器的目标数据网口与第二服务器的目标数据网口在进行信息交互的方式可以是,通过基于各个服务器中作为信息发送方的第一服务器的目标数据网口的IP地址,控制第一服务器将信息发送到与第一服务器的目标数据网口连接的交换机端口上,当该交换机端口在接收到作为信息发送方的第一服务器发送的信息时,该交换机端口所属的交换机记录作为信息发送方的第一服务器的源MAC地址,该交换机端口所属的交换机将信息转发给第二服务器,并基于与作为信息发送方的第二服务器的目标数据网口连接的交换机端口接收作为信息发送方的第二服务器发送的返回信息,在接收到作为信息发送方的第二服务器发送的返回信息的同时记录第二服务器的源MAC地址,由此可见,在各个服务器中的第一服务器的目标数据网口与第二服务器的目标数据网口进行信息交互的过程中,与第一服务器和第二服务器的目标数据网口对应的交换机记录了作为信息发送方的第一服务器的源MAC地址和与作为信息发送方的第一服务器的目标数据网口连接的交换机端口,以及作为信息发送方的第二服务器的源MAC地址和与作为信息发送方的第二服务器的目标数据网口连接的交换机端口,因此,通过判断动态MAC地址表项中的动态信息中的交换机端口是否与预先设置的与动态信息中的信息发送方的源MAC地址对应的目标交换机端口相同,能够确定各个服务器的目标数据网口与至少一个交换机连线是否正确。
本发明提供的一种检测方法,通过根据获取网络环境中每个服务器的每个PCI插槽中的网卡的硬件信息确定网卡是否与其插入的PCI插槽匹配;若每个网卡均与其插入的PCI插槽匹配,控制各个服务器中的第一服务器的目标数据网口和第二服务器的目标数据网口之间进行信息交互,第一服务器不同于第二服务器,并基于所获取的预先设置的至少一个交换机中与目标数据网口对应的目标交换机在信息交互过程中记录的MAC地址表项确定各个服务器的目标数据网口是否与至少一个交换机连线正确。这样,能够实现对实际部署中出现的网卡插入错误的PCI插槽/网口与交换机之间连线错误的问题的检测,进而减少管理员在用在自动化脚本批量部署网络环境中的各台服务器时错误情况的发生。
可选的,在上述本发明实施例公开的检测方法的基础上,还包括:为各个服务器中处于同一位置的网口设置同一网口名称。
需要说明的是,可以为各个服务器中处于同一位置的网口的网口名称设置为相同。比如,如图3所示,包括两台服务器,分别为服务器1和服务器2,可将服务器1和服务器2处于同一位置的一个网口的网口名称命名为管理网口Mgmt-1,将服务器1和服务器2处于同一位置的另一网口的网口名称命名为数据网口Data-1,将服务器1和服务器2处于同一位置的又一个网口的网口名称命名为数据网口Data-2。
在本发明实施例中,为各个服务器中处于同一位置的数据网口设置同一网口名称,以便于在分别为每个服务器上的数据网口分配IP地址后,基于第一服务器的数据网口的IP地址和第二服务器的数据网口的IP地址,控制第一服务器和第二服务器之间进行信息交互。
上述本发明实施例图1公开的步骤S104控制各个服务器中的第一服务器的目标数据网口和第二服务器的目标数据网口之间进行信息交互,如图4所示,包括以下步骤:
S401:根据服务器的管理网口的IP地址分别登录每个服务器。
在本申请实施例中,网络环境中的每个服务器可以从管理网络中通过预先设置的配置协议获取各自对应的管理网口的IP地址,并将获取的对应的管理网口的IP地址上报给管理服务器,管理服务器基于在自身上运行的应用程序根据各个服务器上报的管理网口的IP地址分别登录每个服务器,或者,由管理人员通过管理服务器预先为各个服务器配置对应的管理网口的IP地址,管理服务器基于在自身上运行的应用程序根据预先配置的各个服务器的管理网口的IP地址分别登录每个服务器。有关于服务器的管理网口的IP地址的具体设置方法,发明人可根据自己的需求进行设置,本申请实施例不加以限定。
需要说明的是,预先设置的配置协议可以为动态主机配置协议(Dynamic HostConfiguration Protocol,DHCP)。有关于预先设置的配置协议的具体内容,发明人可根据自己需求进行设置,本发明实施例不加以限定。
S402:确定分别位于每个服务器的一个目标数据网口。
其中,各个服务器中第一服务器的目标数据网口在第一服务器的相对位置和第二服务器的目标数据网口在第二服务器的相对位置相同。
在本申请实施例中,网络环境中包括多台服务器,各台服务器为同一厂家生产的同一型号的服务器,每台服务器上网卡部署方式相同。可以将各个服务器中的任意一台服务器看成第一服务器,另一台服务器看成第二服务器,依次将服务器上的每个数据网口作为目标数据网口,针对当前每个服务器上的目标数据网口,任意两个服务器上目标数据网口在其所属服务器的相对位置相同,管理服务器分别为每个服务器中的目标数据网口分配IP地址,进而基于各个服务器中的第一服务器的目标数据网口的IP地址和第二服务器的目标数据网口的IP地址,控制第一服务器和第二服务器进行信息交互。
比如,如图3所示,包括两台服务器,分别为服务器1和服务器2,其中,服务器1包括两个数据网口,分别为数据网口Data-1、数据网口Data-2,服务器2包括两个数据网口,分别为数据网口Data-1、数据网口Data-2,服务器1的数据网口Data-1在服务器1的位置和服务器2的数据网口Data-1在服务器2的位置相同,服务器1的数据网口Data-2在服务器1的位置和服务器2的数据网口Data-2在服务器2的位置相同,可以将服务器1看成第一服务器,将服务器2看成第二服务器,当然也可以将服务器2看成第一服务器,将服务器1看成第二服务器。
当将服务器1看成第一服务器,将服务器2看成第二服务器时,将第一服务器的数据网口Data1和第二服务器的数据网口Data-1作为目标数据网口,分别为第一服务器的目标数据网口Data-1和第二服务器的目标数据网口Data-1分配IP地址,并基于第一服务器的目标数据网口Data-1的IP地址和第二服务器的目标数据网口Data-1的IP地址,控制第一服务器的目标数据网口Data-1和第二服务器的目标数据网口Data-1之间进行信息交互,获取预先设置的至少一个交换机中与目标数据网口Data-1对应的目标交换机在信息交互过程中记录的动态MAC地址表项,并基于动态MAC地址表项判断第一服务器和第二服务器的目标数据网口Data-1是否与目标数据网口Data-1对应的目标交换机连线正确,若确定第一服务器和第二服务器的目标数据网口Data-1与目标数据网口Data-1对应的目标交换机连线错误,则记录第一服务器和第二服务器的目标数据网口Data-1与目标数据网口Data-1对应的目标交换机连线错误的信息,若确定第一服务器和第二服务器的目标数据网口Data-1与目标数据网口Data-1对应的目标交换机连线正确,则记录第一服务器和第二服务器的目标数据网口Data-1与目标数据网口Data-1对应的目标交换机连线正确的信息。
在记录完相应的信息后,将第一服务器的数据网口Data-2和第二服务器的数据网口Data-2作为目标数据网口,分别为第一服务器的目标数据网口Data-2和第二服务器的目标数据网口Data-2分配IP地址,并基于第一服务器的目标数据网口Data-2的IP地址和第二服务器的目标数据网口Data-2的IP地址,控制第一服务器的目标数据网口Data-2和第二服务器的目标数据网口Data-2之间进行信息交互,获取预先设置的至少一个交换机中与目标数据网口Data-2对应的目标交换机在信息交互过程中记录的动态MAC地址表项,并基于该动态MAC地址表项判断第一服务器和第二服务器的目标数据网口Data-2是否与目标数据网口Data-2对应的目标交换机连线正确,若确定第一服务器和第二服务器的目标数据网口Data-2与目标数据网口Data-2对应的目标交换机连线错误,则记录第一服务器和第二服务器的目标数据网口Data-2与目标数据网口Data-2对应的目标交换机连线错误的信息,若确定第一服务器和第二服务器的目标数据网口Data-2与目标数据网口Data-2对应的目标交换机连线正确,则记录第一服务器和第二服务器的目标数据网口Data-2与目标数据网口Data-2对应的目标交换机连线正确的信息。
需要说明的是,图3所示的服务器的个数不限于2个,当图3中还包括服务器3时,服务器3上与服务器1和服务器2上相对位置相同的数据网口的命名以及部署方式相同,进而可以将服务器1、服务器2和服务器3进行两两组合,可将每个组合中的两台服务器中的一台服务器看成第一服务器,另一台服务器看成第二服务器。
比如,可将服务器1、服务器2和服务器3的数据网口Data-1作为目标数据网口,控制服务器1、服务器2和服务器3中的两两服务器的目标数据网口Data-1之间进行信息交互,并且服务器1、服务器2和服务器3中的两两服务器的目标数据网口Data-1之间进行信息交互的所有信息都会记录在与服务器1、服务器2和服务器3的目标数据网口Data-1对应的交换机中,进而获取与目标数据网口Data-1对应的交换机在进行信息交互的过程中记录的动态MAC地址表项,并基于该动态MAC地址表项判断服务器1、服务器2和服务器3的目标数据网口Data-1是否与目标交换机连线正确,进而将服务器1、服务器2和服务器3的数据网口Data-2作为目标数据网口,控制服务器1、服务器2和服务器3中的两两服务器的目标数据网口Data-2进行信息交互,并且服务器1、服务器2和服务器3中的两两服务器的目标数据网口Data-2之间进行信息交互的所有信息都会记录在与服务器1、服务器2和服务器3的目标数据网口Data-2对应的交换机中,进而获取与目标数据网口Data-2对应的目标交换机在进行信息交互的过程中记录的动态MAC地址表项,并基于该动态MAC地址表项判断服务器1、服务器2和服务器3的目标数据网口Data-2是否与目标交换机连线正确。
若上述示例中的服务器1、服务器2和服务器3包括两个以上的数据网口时,进一步将服务器1、服务器2和服务器3上处于相同位置的其他数据网口作为目标数据网口,控制服务器1、服务器2和服务器3中的两两服务器的目标数据网口之间进行信息交互,并基于获取的与目标数据网口对应的目标交换机在信息交互过程中记录的动态MAC地址判断服务器1、服务器2和服务器3的目标数据网口是否与目标交换机连线正确的过程,可参见上述示例,在此不再进行赘述。
S403:分别为每个服务器上的目标数据网口分配IP地址。
在具体执行步骤S403的过程中,当确定分别位于每个服务器的目标数据网口后,分别为每个服务器上的目标数据网口分配IP地址。比如,当确定分别位于每个服务器的目标数据网口为Data-1时,分别为每个服务器上的Data-1分配IP地址。
S404:基于第一服务器的目标数据网口的IP地址和第二服务器的目标数据网口的IP地址,控制第一服务器和第二服务器之间进行信息交互。
在具体执行步骤S404的过程中,当分别为每个服务器上的目标数据网口分配IP地址后,基于各个服务器中的第一服务器的目标数据网口的IP地址和第二服务器的目标数据网口的IP地址,控制第一服务器和第二服务器进行信息交互。
在本申请实施例中,控制各个服务器中的第一服务器与第二服务器进行信息交互的方式可以为:在确定分别位于每个服务器的一个目标数据网口,分别为每个服务器上的目标数据网口分配IP地址后,通过各个服务器中的第一服务器的目标数据网口的IP地址“ping”第二服务器的目标数据网口的IP地址,即通过基于各个服务器中的作为信息发送方的第一服务器的目标数据网口的IP地址,控制作为信息发送方的第一服务器将信息发送到与作为信息发送方的第一服务器的目标数据网口的连接的交换机端口上,该交换机端口所属的交换机再将信息转发给第二服务器上,并基于与作为信息发送方的第二服务器的目标数据网口连接的交换机端口接收作为信息发送的第二服务器发送的返回信息。
在发明实施例中,通过根据服务器的管理网口的IP地址分别登录每个服务器后,分别为确定分别位于每个服务器的一个目标数据网口分配IP地址,这样,能够基于第一服务器的目标数据网口的IP地址和第二服务的目标数据网口,控制第一服务器和第二服务器进行信息交互,进而获取预先设置的至少一个交换机中与目标数据网口对应的目标交换机在信息交互过程中记录的动态MAC地址表项。
上述本发明实施例图1公开的步骤S106基于动态MAC地址表项确定各个服务器的目标数据网口是否与至少一个交换机连线确定,如图5所示,包括以下步骤:
S501:判断动态MAC地址表项中是否包括作为信息发送方的第一服务器的源MAC地址和作为信息发送方的第二服务器的源MAC地址。
在本申请实施例中,第一服务器和第二服务器进行信息交互的过程包括:第一服务器作为信息发送方且第二服务器作为信息接收方进行信息传输的过程;以及第一服务器作为信息接收方且第二服务器作为信息发送方进行信息传输的过程。若第一服务器作为信息发送方且第二服务器作为信息接收方进行信息传输成功,则动态MAC地址表项中会记录一条动态信息,该动态信息包括第一服务器的源MAC地址和与第一服务器连接的交换机端口;若第一服务器作为信息接收方且第二服务器作为信息发送方进行信息传输成功,动态MAC地址表项中会记录一条动态信息,该条动态信息中包括第二服务器的源MAC地址和与第二服务器连接的交换机端口。
在本申请实施例中,网络环境中各个服务器中任意两台服务器中的一台服务器可以看成是第一服务器,另一台服务器可以看成是第二服务器。可以对网络环境中各个服务器进行两两组合,将每两个服务器的组合看成一个服务器组,该服务器组中的一个服务器可以看成是第一服务器,另一个服务器可以看成是第二服务器。
作为本申请实施例的一种优选实施方式,若动态MAC地址表项中包括分别与每个服务器组相关的至少两条动态信息,且针对每个服务器组而言,与该服务器组相关至少两条动态信息中至少包括:一条该服务器组中的第一服务器作为信息发送方的动态信息以及一条该服务器组中的第二服务器作为信息发送方的动态信息。那么,可以认为动态MAC地址表项中包括作为信息发送方的第一服务器的源MAC地址和作为信息发送方的第二服务器的源MAC地址,进而执行步骤S502。
S502:判断动态信息中的交换机端口是否与预先设置的与动态信息中的信息发送方的源MAC地址对应的目标交换机端口相同。
需要说明的是,若各个动态信息中的每个动态信息的交换机端口均与预先设置的与动态信息中的信息发送方的源MAC地址对应的目标交换机端口相同,执行步骤S503,若各个动态信息中存在目标动态信息,执行步骤S504。
其中,目标动态信息的交换机端口与预先设置的与该目标动态信息中的信息发送方的源MAC地址对应的目标交换机端口不同。
在本申请实施例中,预先设置有分别与每个服务器的源MAC地址对应的目标交换机端口。比如,预先设置与第一服务器的源MAC地址对应的目标交换机端口可以为Eth1/2、与第二服务器的源MAC地址对应的目标交换机端口可以为Eth1/3。有关于预先设置有分别与各个服务器的源MAC地址对应的目标交换机端口的具体内容,发明人可根据自己的需求进行设置,本发明实施例不加以限定。
S503:确定各个服务器的目标数据网口与至少一个交换机连线正确。
S504:确定目标动态信息中的信息发送方的目标数据网口与至少一个交换机连线错误。
在本申请实施例中,目标动态信息中的信息发送方的目标数据网口与至少一个交换机连线错误可能为目标动态信息中的信息发送方的目标数据网口与交换机上的交换机端口连线错误。有关于信息发送方的目标数据网口与至少一个交换机连线错误的具体情况,可根据实际情况进行设置,本申请实施例不加以限定。
比如,当预先设置的与动态信息记录的源MAC地址对应的目标交换机端口为Eth1/2,而该动态信息中所包括的交换机端口不为Eth1/2时,确定该源MAC地址对应的服务器上的目标数据端口与交换机端口连线错误。
在本发明实施例中,当动态MAC地址表项中包括作为信息发送方的第一服务器的源MAC地址和作为信息发送方的第二服务器的源MAC地址时,通过判断动态MAC地址表项中的动态信息中的交换机端口是否与预先设置的与动态信息中的信息发送方的源MAC地址对应的目标交换机端口相同,进而确定各个服务器的目标数据网口与至少一个交换机连线是否正确。
进一步的,动态信息还包括信息发送方所属的局域网,在上述本发明实施例提供的各个检测方法的基础上,如图6所示,还包括以下步骤:
S601:判断动态MAC地址表项中各个信息发送方所属的局域网是否相同。
需要说明的是,若动态MAC地址表项中各个信息发送方所属的局域网不相同,执行步骤S602,若动态MAC地址表项中各个信息发送方所属的局域网相同,执行步骤S603。
需要说明的是,在各个服务器中处于同一位置的数据网口连接在同一个交换机上,并且在实际应用中,连接在同一个交换机上的数据网口所属的局域网是相同的。比如,如图3所示,包括两台服务器,分别为服务器1和服务器2,其中,服务器1包括两个数据网口,分别为数据网口Data-1、数据网口Data-2,服务器2包括两个数据网口,分别为数据网口Data-1、数据网口Data-2,服务器1的数据网口Data-1在服务器1上的位置和服务器2的数据网口Data-1在服务器2上的位置相同,且服务器1和服务器2的数据网口Data-1均连接在交换机TOR Switch#1上,则服务器1的数据网口Data-1和服务器2的数据网口Data-1所属的局域网相同,服务器1的数据网口Data-2在服务器1上的位置和服务器2的数据网口Data-2在服务器2上的位置相同,且服务器1和服务器2的数据网口Data-2均连接在交换机TORSwitch#2上,则服务器1的数据网口Data-2和服务器2的数据网口Data-2所属的局域网相同。
为了好的对上述内容进行理解,下面进行举例说明。
比如,当动态MAC地址表项中的各个动态信息中作为信息发送方的第一服务器的目标数据网口Data-1所属的局域网均为数据网络-1VLAN200时,若各个动态信息中作为信息发送方的第二服务器的目标数据网口Data-1所属的数据网口也均为数据网络-1VLAN200,则确定各个动态信息中作为信息发送方的第一服务器所属的局域网和作为信息发送方的第二服务所属的局域网相同。反之,若各个动态信息中作为信息发送方的第二服务器的目标数据网口Data-1所属的数据网络均不为数据网络-1VLAN200,则确定各个动态信息中作为信息发送方的第一服务器所属的局域网和作为信息发送方的第二服务所属的局域网不相同,进而确定各个服务器的目标数据网口与至少一个交换机连线错误。
S602:确定各个服务器的目标数据网口与至少一个交换机连线错误。
S603:判断动态信息中的交换机端口是否与预先设置的与动态信息中的信息发送方的源MAC地址对应的目标交换机端口相同。
需要说明的是,若各个动态信息中的每个动态信息的交换机端口均与预先设置的与给动态信息中的信息发送方的源MAC地址对应的目标交换机端口相同,执行步骤S604,若各个动态信息中存在目标动态信息,执行步骤S605。
在本发明实施例中,目标动态信息的交换机端口与预先设置的与该目标动态信息中的信息发送方的源MAC地址对应的目标交换机端口不同。
S604:确定各个服务器的目标数据网口与至少一个交换机连线正确。
S605:确定目标动态信息中的信息发送方的目标数据网口与至少一个交换机连线错误。
在本发明实施例中,通过判断动态MAC地址表项中各个信息发送方所属的局域网是否相同,能够初步判断各个服务器的目标数据网口与至少一个交换机是否连线错误。
基于本发明实施例公开的检测方法,本发明实施例还对应公开了一种检测装置,如图7所示,该检测装置700包括:
第一获取单元701,获取网络环境中每个服务器的每个PCI插槽中的网卡的硬件信息。
第一判断单元702,根据网络的硬件信息确定网卡是否与其插入的PCI插槽匹配。
控制单元703,用于若每个网卡均与其插入的PCI插槽匹配,控制各个服务器中的第一服务器的目标数据网口和第二服务器的数据网口之间进行信息交互,第一服务器不同于第二服务器。
第二获取单元704,用于获取预先设置的至少一个交换机中与目标数据网口对应的目标交换机在信息交互过程中记录的动态MAC地址表项,动态MAC地址表项包括动态信息,动态信息包括信息发送方的源MAC地址和与信息发送方连接的交换机端口。
第一确定单元705,用于基于动态MAC地址表现确定各个服务器的目标数据网口是否与至少一个交换机连线正确。
上述本发明实施例公开的检测装置中各个单元具体的原理和执行过程,与上述本发明实施例公开的检测方法相同,可参见上述本发明实施例公开的检测方法中相应的部分,这里不再进行赘述。
本发明提供的一种检测装置,通过根据获取网络环境中每个服务器的每个PCI插槽中的网卡的硬件信息确定网卡是否与其插入的PCI插槽匹配;若每个网卡均与其插入的PCI插槽匹配,控制各个服务器中的第一服务器的目标数据网口和第二服务器的目标数据网口之间进行信息交互,第一服务器不同于第二服务器,并基于所获取的预先设置的至少一个交换机中与目标数据网口对应的目标交换机在信息交互过程中记录的动态MAC地址表项确定各个服务器的目标数据网口是否与至少一个交换机连线正确。这样,能够实现对实际部署中出现的网卡插入错误的PCI插槽/网口与交换机之间连线错误的问题的检测,进而减少管理员在用在自动化脚本批量部署网络环境中的各台服务器时错误情况的发生。
优选的,该检测装置700,还包括:显示单元。
显示单元,用于显示用于表征网卡与其插入的PCI插槽不匹配的提醒信息。
在本发明实施例中,当存在网卡与其插入的PCI插槽不匹配的情况时,显示用于表征网卡与其插入的PCI插槽不匹配的提醒信息,提醒管理人员当前存在网卡与其插入的PCI插槽不匹配的情况,以便于管理人员根据提醒信息定位插入该网卡的错误的PCI插槽,并进行相应的处理。
优选的,第一判断单元702,包括:
第三获取单元,用于获取网卡的硬件信息指示的网卡的第一网卡型号。
第二确定单元,用于确定预先设置的与网卡插入的PCI插槽对应的第二网卡型号。
第二判断单元,用于判断第一网卡型号和第二网卡型号是否相同。
需要说明的是,若第一网卡型号和第二网卡型号相同,执行第三确定单元,若第一网卡型号和第二网卡型号不相同,执行第四确定单元。
第三确定单元,用于确定网卡与其插入的PCI插槽匹配。
第四确定单元,用于确定网卡与其插入的PCI插槽不匹配。
优选的,控制单元703,包括:
登录单元,用于根据服务器的管理网口的IP地址分别登录每个服务器。
第五确定单元,用于确定分别位于每个服务器的一个目标数据网口,各个服务器中第一服务器的目标数据网口在第一服务器的相对位置和第二服务器的目标数据网口在第二服务器的相对位置相同。
分配单元,用于分别为每个服务器上的目标数据网口分配IP地址。
控制子单元,用于基于第一服务器的目标数据网口的IP地址和第二服务器的目标数据网口的IP地址,控制第一服务器和第二服务器之间进行信息交互。
在发明实施例中,通过根据服务器的管理网口的IP地址分别登录每个服务器后,分别为确定分别位于每个服务器的一个目标数据网口分配IP地址,这样,能够基于第一服务器的目标数据网口的IP地址和第二服务的目标数据网口,控制第一服务器和第二服务器进行信息交互,进而获取预先设置的至少一个交换机中与目标数据网口对应的目标交换机在信息交互过程中记录的动态MAC地址表项。
优选的,第一确定单元705,包括:
第三判断单元,用于判断动态MAC地址表项中是否包括作为信息发送方的第一服务器的源MAC地址和作为信息发送方的第二服务器的源MAC地址。
第四判断单元,用于若动态MAC地址表项中包括作为信息发送方的第一服务器的源MAC地址和作为信息发送方的第二服务器的源MAC地址,判断动态信息中的交换机端口是否与预先设置的与动态信息中的信息发送方的源MAC地址对应的目标交换机端口相同。
需要说明的是,若各个动态信息中的每个动态信息的交换机端口均与预先设置的与该动态信息中的信息发送方的源MAC地址对应的目标交换机端口相同,执行第六确定单元,若各个动态信息中存在目标动态信息,执行第七确定单元。
第六确定单元,用于确定各个服务器的目标数据网口与至少一个交换机连线正确。
第七确定单元,用于确定目标动态信息中的信息发送方的目标数据网口与至少一个交换机连线错误;目标动态信息的交换机端口与预先设置的与该目标动态信息中的信息发送方的源MAC地址对应的目标交换机端口不同。
在本发明实施例中,当动态MAC地址表项中包括作为信息发送方的第一服务器的源MAC地址和作为信息发送方的第二服务器的源MAC地址时,通过判断动态MAC地址表项中的动态信息中的交换机端口是否与预先设置的与动态信息中的信息发送方的源MAC地址对应的目标交换机端口相同,进而确定各个服务器的目标数据网口与至少一个交换机连线是否正确。
优选的,动态信息还包括信息发送方所属的局域网,该检测装置700,还包括:
第五判断单元,用于判断动态MAC地址表项中各个信息发送方所属的局域网是否相同。
需要说明的是,若动态MAC地址表项中各个信息发送方所属的局域网不相同,执行第八确定单元,若动态MAC地址表项中各个信息发送方所属的局域网相同,执行第六判断单元。
第八确定单元,用于确定各个服务器的目标数据网口与至少一个交换机连线错误。
第六判断单元,用于判断动态信息中的交换机端口是否与预先设置的与动态信息中的信息发送方的源MAC地址对应的目标交换机端口相同。
在本发明实施例中,通过判断动态MAC地址表项中各个信息发送方所属的局域网是否相同,能够初步判断各个服务器的目标数据网口与至少一个交换机是否连线错误。
优选的,该检测装置700,还包括:设置单元。
设置单元,用于为各个服务器中处于同一位置的网口设置同一网口名称。
在本发明实施例中,为各个服务器中处于同一位置的数据网口设置同一网口名称,以便于在分别为每个服务器上的数据网口分配IP地址后,基于第一服务器的数据网口的IP地址和第二服务器的数据网口的IP地址,控制第一服务器和第二服务器之间进行信息交互。
本发明实施例提供了一种服务器,参考图8,包括存储器801和处理器802,其中:
存储器存储有程序;处理器802用于执行存储器存储的程序,具体执行如本发明任一实施例提供的检测方法。
本发明实施例提供了一种存储介质,该存储介质存储有计算机可执行指令,用于实现如本发明任一实施例提供的检测方法。
以上对本发明所提供的一种检测方法、装置、服务器及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素,或者是还包括为这些过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。