发明内容
本发明所要解决的技术问题是提供一种服务器系统与节点检测方法,其可自动地检测服务器系统中的所有节点并获取这些节点的硬件信息,并可对这些节点进行适用类型的判断。
为了实现上述目的,本发明提供了一种节点检测方法,该节点检测方法适用于服务器系统(例如机柜式的数据中心),其中服务器系统包括管理节点与至少一待测装置。所述的节点检测方法的步骤流程如下所述。由待测装置对管理节点发送请求。管理节点依据此请求而配置互联网协议地址给待测装置,并依据互联网协议地址建立位址表。管理节点依据位址表判断待测装置是否为节点。若管理节点判断出待测装置为节点,则传送网络唤醒信号给节点。节点依据网络唤醒信号执行预启动执行环境模式,并据以取得节点的硬件信息。管理节点依据节点的硬件信息判断节点的适用类型,其中节点的适用类型为储存节点、计算节点与服务节点至少其中之一。
在一实施例中,于管理节点依据位址表判断待测装置是否为节点的步骤中,还包括以下所述的步骤流程。取得记录,此记录用以指示对管理节点发送请求的待测装置的互联网协议地址及硬件存取控制地址(MAC address)。判断此记录是否存在于位址表中的第一位址表或第二位址表内。若判断出此记录已存在于第一位址表或第二位址表,则接着判断是否具有另一待测装置的记录,并于判断为是时,接续执行判断另一记录是否存在于第一位址表或第二位址表的步骤,直至判断出记录不存在于第一位址表或第二位址表。若判断出记录不存在于第一位址表或第二位址表,则接着判断此记录所对应的待测装置是否为节点。若判断出此记录所对应的待测装置不为节点,则将记录更新至第一位址表,并接续执行判断是否具有另一待测装置的记录之后的步骤。若判断出此记录所对应的待测装置为节点,则将此记录更新至第二位址表,并接续执行传送网络唤醒信号给节点之后的步骤。
承接上述的实施例,于判断记录所对应的待测装置是否为节点的步骤中,还包括以下所述的步骤流程。依据记录所对应的互联网协议地址,对待测装置发送询问信号。判断待测装置于预设时间内是否有回应询问信号。若判断出待测装置经过预设时间仍未回应询问信号,则待测装置为节点。若判断出待测装于预设时间内回应询问信号,则接着判断所回应的回应信号是否具有特殊字串。若判断出回应信号不具有特殊字串,则待测装置为节点。若判断出回应信号具有特殊字串,则待测装置为网络交换器。
在一实施例中,若管理节点判断出待测装置为节点,则管理节点还可通过控制信号而选择性地控制节点中的硬件的电源关机、强迫电源关机、灯号指示、系统重设启动,其中此控制信号用以指示节点中的硬件的识别码。
在一实施例中,于节点依据网络唤醒信号执行预启动执行环境模式以取得节点的硬件信息的步骤中,节点的硬件信息系储存于数据库中。此数据库通讯连接于待测装置与管理节点之间,以储存节点的硬件信息与管理节点判断出的节点的适用类型的结果,或提供节点的硬件信息至管理节点。
为了更好地实现上述目的,本发明还提供了一种服务器系统,此服务器系统包括待测装置与管理节点,其中管理节点通讯连接待测装置。管理节点包括服务器、处理模块、电源控制模块以及分析模块。服务器依据由待测装置所发送的请求而配置互联网协议地址给待测装置,并依据互联网协议地址建立位址表。处理模块用以依据位址表判断待测装置是否为节点。电源控制模块用以于处理模块判断出待测装置为节点时传送网络唤醒信号给节点,据以使节点依据网络唤醒信号执行预启动执行环境模式并据以取得节点的硬件信息。分析模块用以依据节点的硬件信息判断节点的适用类型,其中节点的适用类型为储存节点、计算节点与服务节点至少其中之一。
在一实施例中,于处理模块依据位址表判断待测装置是否为节点时,还包括取得记录,此记录用以指示对管理节点发送请求的待测装置的互联网协议地址及硬件存取控制地址(MAC address)。接着,处理模块判断记录是否存在于位址表中的第一位址表或第二位址表内。若处理模块判断出记录已存在于第一位址表或第二位址表,则处理模块接着判断是否具有另一待测装置的记录,并于判断为是时,处理模块接续执行判断另一记录是否存在于第一位址表或第二位址表,直至判断出记录不存在于第一位址表或第二位址表。若处理模块判断出记录不存在于第一位址表或第二位址表,则处理模块接着判断记录所对应的待测装置是否为节点。若处理模块判断出记录所对应的待测装置不为节点,则将此记录更新至第一位址表。若处理模块判断出记录所对应的待测装置为节点,则将此记录更新至第二位址表。
承接上述的实施例,当处理模块于判断记录所对应的待测装置是否为节点时,处理模块还依据记录所对应的互联网协议地址来对待测装置发送询问信号,并判断待测装置于预设时间内是否有回应询问信号。若处理模块判断出待测装置经过预设时间仍未回应询问信号,则待测装置为节点。若处理模块判断出待测装于预设时间内回应询问信号,则处理模块接着判断所回应的回应信号是否具有特殊字串。若处理模块判断出回应信号不具有特殊字串,则待测装置为节点。若处理模块判断出回应信号具有特殊字串,则待测装置为网络交换器。
在一实施例中,若处理模块判断出待测装置为节点,则处理模块还可通过控制信号而选择性地控制节点中的硬件的电源关机、强迫电源关机、灯号指示、系统重设启动,其中控制信号用以指示节点中的硬件的识别码。
在一实施例中,服务器系统还包括数据库,此数据库通讯连接于待测装置与管理节点之间。此数据库用以储存节点的硬件信息与分析模块所判断出的节点的适用类型的结果,或提供节点的硬件信息至分析模块。
本发明的技术效果在于:
本发明提供一种服务器系统与节点检测方法,其通过建立位址表,使得管理节点可以依据位址表来判断待测装置是否为节点,并且于待测装置被判断为节点时,使待测装置执行预启动执行环境模式,以使管理节点可以依据所获得的节点的硬件信息判断节点的适用类型。此外,于管理节点判断待测装置是否为节点时,还可以通过一种询问回应机制来判断所回应的信号是否具有某个特殊字串,据以判断出此待测装置是节点或网络交换器。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
具体实施方式
下面结合附图对本发明的结构原理和工作原理作具体的描述:
请参照图1,图1为根据本发明一实施例的服务器系统的功能框图。如图1所示,服务器系统1主要包括管理节点10、待测装置12以及数据库14,其中管理节点10、待测装置12与数据库14互相通讯连接。此外,管理节点(adminnode)10还包括有服务器100、处理模块102、电源控制模块104与分析模块106。于实务上,服务器系统1可以为一种机柜式的数据中心(container datacenter),但不以此为限。以下将分别就服务器系统1中的各部功能模块作详细的说明。
服务器100用以依据由待测装置12所发送的请求(request)而配置一个互联网协议地址(internet protocol address,IP address)给待测装置12,并依据此互联网协议地址建立一个位址表。于实务上,服务器100可以为一种动态主机配置协议服务器(dynamic host configuration protocol server,DHCP server),此DHCP服务器会自动的分配IP与相关的网络参数给用户端,来提供用户端自动以DHCP服务器提供的参数来设定他们的网络。因此,待测装置12发送给服务器100的请求则会为DHCP request。此外,位址表可以为一种MAC/IP mappingtable,此MAC/IP mapping table可以通过命令行界面工具(command lineinterface tool,CLI tool,亦称命令行工具)而取得。
处理模块102用以依据上述的位址表来判断待测装置12是否为一种节点。电源控制模块104用以于处理模块102判断出待测装置12为节点时传送一个网络唤醒信号给此节点(即待测装置12),据以使此节点(即待测装置12)可以依据网络唤醒信号来执行开机自我检测(power on self test,POST)模式与预启动执行环境(preboot execution environment,PXE)模式,并于执行预启动执行环境模式时取得此节点的硬件信息。于实务上,上述的网络唤醒信号为通过网络唤醒(Wake-on-LAN,WOL,亦称远端唤醒)技术来实现,此网络唤醒技术可以让已经进入休眠状态或关机状态的节点通过管理节点10的发令,使节点从休眠状态唤醒、恢复成运作状态或从关机状态转成开机状态。
值得注意的是,本发明中的属于待测装置12的节点需要将其基本输入输出系统(basic input output system,BIOS)的界面的启动项的优先顺序(BootOption Priorities)的第一启动项(Boot Option #1)预先设定为PXE模式。在实际的操作中,当处理模块102判断出待测装置12为节点时,则处理模块102还可以通过控制信号来选择性地控制节点中的硬件的电源关机、强迫电源关机、灯号指示、系统重设启动,其中此控制信号用以指示此节点中的硬件的识别码。于实务上,控制信号可以通过通用唯一识别码(universally unique identifier,UUID)或全球唯一识别码(globally unique identifier,GUID),本发明在此不加以限制。
在实际的操作中,此控制信号为包括有6bytes的形式移控字元(form feedcharacter,FF)、6次重复的GUID(每一个GUID有16bytes)以及MAC address的特殊封包(packet payload)。藉此,属于节点的待测装置12中的网络界面控制器(network interface controller,NIC,亦称网络卡)会监督此特殊封包中的payload的GUID栏位,并执行对应的操作。举例来说,若NIC判断出GUID栏位为“E4FB6490-1854-4176-959F-FAFCF3E50152”,则节点中的灯号会开启;若NIC判断出GUID栏位为“8AB61CE6-01A4-450a-80E8-287416BC2835”,则节点中的灯号会关闭;若NIC判断出GUID栏位系为“BA3C6C53-F302-4d2e-ACF7-427FF6754902”,则节点的电源会开启或关闭;若NIC判断出GUID栏位为“A994BEEC-5F2D-4e14-AD18-1982C1D44561”,则节点会被强制电源关机;若NIC判断出GUID栏位为「“1385BC34-BEAD-4bfa-BC29-84BF9345C880”,则节点会系统重设启动(resetsystem),使得属于节点的待测装置12可以不需基板管理控制器(baseboardmanagement controller,BMC)亦能正常作动。
分析模块106用以依据此节点的硬件信息判断此节点的适用类型,其中此节点的适用类型为储存节点(storage node)、计算节点(compute node)与服务节点(service node)至少其中之一,亦即此节点的适用类型亦可以为具有计算节点的功能与服务节点的功能的通用节点(generic node)。一般来说,储存节点用以提供储存空间给客户端的使用者使用以及用以储存虚拟机器(virtual machine,VM)的映像文件及配置文件,计算节点用以提供多个虚拟机器给客户端的使用者使用,服务节点用以提供服务给客户端的使用者使用。
数据库(database)14用以储存属于节点的待测装置12的硬件信息与分析模块106所判断出的此节点的适用类型的结果,或提供此节点的硬件信息至分析模块106。于实务上,数据库14可以为一种Berkeley数据库,此Berkeley数据库可以保存任意型别的键/值对(key/value pair),换句话说,Berkeley数据库的数据储存方式是以(key,value)为之。
值得注意的是,由于本发明实施例中的节点可以通过管理节点10来进行节点电源的开启、关闭、强迫关闭、重新启动或灯号控制以及判断节点所适用的类型,且管理节点10可自动地检测服务器系统中的所有节点,故本发明实施例中的节点可以不需要有底板管理控制器(baseboard management controller,BMC),而能节省成本。于其中一实施例中,节点具有高级配置与电源接口(Advanced Configuration and Power Interface,ACPI)与网络界面控制器(networkinterface controller,NIC,亦称网络卡),使得节点可以受控于管理节点10。
为了更加清楚说明本发明的服务器系统1与节点检测方法的实际运作方式,请一并参照图1与图2,图2为根据本发明一实施例的节点检测方法的步骤流程图。如图2所示,在步骤S200中,待测装置12会对管理节点10发送请求。在步骤S202中,管理节点10会依据此请求而配置互联网协议地址给待测装置12,并依据互联网协议地址建立位址表。
在步骤S204中,管理节点10会依据上述的位址表来判断待测装置12是否为节点。若管理节点10判断出待测装置12为节点,则执行步骤S208;若管理节点10判断出待测装置12不为节点的话,则代表此待测装置12为一种网络交换器(switch)(即步骤S206),此网络交换器用以使互联网中的各个节点进行沟通与数据传输。
在步骤S208中,管理节点10会传送网络唤醒信号给判断为节点的待测装置12。接着,在步骤S210中,判断为节点的待测装置12会依据上述的网络唤醒信号来执行预启动执行环境模式,并据以取得此节点的硬件信息。最后,在步骤S212中,管理节点10会依据此节点的硬件信息来判断此节点的适用类型。
请参照图3,图3为根据图2的步骤S204的详细步骤流程图。如图3所示,于管理节点10依据位址表判断待测装置12是否为节点的步骤(即步骤S204)中,还可以包括有以下所述的详细步骤流程。在步骤S300中,管理节点10会先取得一个记录。其中,此记录用以指示对管理节点10发送请求的待测装置12的互联网协议地址及硬件存取控制地址(MAC address)。
在步骤S302中,管理节点10会判断此记录是否存在于位址表中的第一位址表或第二位址表内。若管理节点10判断出此记录已存在于位址表中的第一位址表或第二位址表,则执行步骤S304;若管理节点10判断出此记录皆不存在于位址表中的第一位址表或第二位址表,则执行步骤S308。
在步骤S304中,管理节点10会判断是否具有另一个待测装置的另一个记录。若管理节点10判断出具有另一个记录,则重新执行步骤S302,直至管理节点10判断出记录不存在于第一位址表或第二位址表为止。若管理节点10判断出不再具有新的记录,则执行步骤S306的休眠一段预设时间,直至管理节点10又再重新建立另一个位址表为止,并且于管理节点10建立另一个位址表时重新执行步骤S300。
在步骤S308中,管理节点10会判断此记录所对应的待测装置12是否为节点。若管理节点10判断出此记录所对应的待测装置12不为节点(即待测装置12被判断为网络交换器),则执行步骤S310;若管理节点10判断出此记录所对应的待测装置12为节点,则执行步骤S312。在步骤S310中,由于管理节点10已判断出待测装置12为网络交换器,则管理节点10会将对应于此网络交换器的记录更新至第一位址表中,并且接续步骤S304。在步骤S312中,由于管理节点10已判断出待测装置12为节点,则管理节点10会将对应于此节点的记录更新至第二位址表中,并且同时接续步骤S208及S304。
于实务上,第一位址表为一种用以储存网络交换器的记录的位置表,而第二位址表则为一种用以储存节点的记录的位置表,亦即第一位址表为网络交换器位址表,第二位址表为节点位址表,且第一位址表与第二位址表将会随着待测装置12数量增加而进行更新。
请参照图4,图4为根据图3的步骤S308的详细步骤流程图。如图4所示,于管理节点10判断记录所对应的待测装置是否为节点的步骤(即步骤S308)中,还可以包括有以下所述的详细步骤流程。在步骤S400中,管理节点10会依据此记录所对应的互联网协议地址,对待测装置12发送一个询问信号。于实务上,此询问信号可以为一种简单网络管理协议指令(simple networkmanagement protocol command,SNMP command),此种简单网络管理协议指令可以被网络交换器所辨识,亦即网络交换器可支援此种简单网络管理协议指令。
在步骤S402中,管理节点10会判断待测装置12于一段预设时间内是否有回应此询问信号。若管理节点10判断出待测装置12未于此段预设时间中回应此询问信号,则表示待测装置12为一种节点(即步骤S404);若管理节点10判断出待测装置12于此段预设时间中已回应了此询问信号,则执行步骤S406。
在步骤S406中,管理节点10会判断所回应的回应信号是否具有某个特殊字串。若管理节点10判断出此回应信号不具有某个特殊字串,则表示待测装置12为一种节点(即步骤S404);若管理节点10判断出此回应信号中具有某个特殊字串,则表示待测装置12为一种网络交换器(即步骤S408)。于实务上,回应信号可以为一种具有“switch”字串的系统描述(system description),而“switch”字串即为此特殊字串,但不以此为限。
综合以上所述,本发明的服务器系统与节点检测方法,其通过建立位址表,使得管理节点可以依据位址表来判断待测装置是否为节点,并且于待测装置被判断为节点时,使待测装置执行预启动执行环境模式,以使管理节点可以依据所获得的节点的硬件信息判断节点的适用类型。此外,于管理节点判断待测装置是否为节点时,还可以通过一种询问回应机制来判断所回应的信号是否具有某个特殊字串,据以判断出此待测装置是节点或网络交换器。藉此,本发明的服务器系统与节点检测方法可自动地检测服务器系统中的所有节点,并通过控制这些节点的电源开启来获得这些节点的硬件信息,进而可以依据这些硬件信息来判断这些节点的适用类型,且能使节点不需要设置有底板管理控制器,而能节省成本,十分具有实用性。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。