掌桥专利:专业的专利平台
掌桥专利
首页

服务器组网分组管理系统和方法

文献发布时间:2024-04-18 19:52:40


服务器组网分组管理系统和方法

技术领域

本发明涉及服务器,特别是服务器组网及分组的实现及管理。

背景技术

随着云计算技术的发展,包含大量服务器的数据中心变得不可或缺。为了构建数据中心,通常而言需要将大量服务器部署在机房中,然后对每一台服务器进行单独的配置,例如由管理人员通过服务器的基板管理控制器(BMC,Baseboard Management Controller)提供的Web界面,对服务器进行一些配置,包括通过建立分组,将所有的服务器一台一台组建为/加入到网络,从而实现批量管理的目的。但是,这样的传统分组方式的管理效率很低,假如服务器的数量是成百上千的话,一台一台地去配置,会花费管理人员巨大的时间。

一种现有的对服务器进行集中管理的方法是进行BMC联合(BMC Federation),这是一种方便用户管理本地网络中近似的服务器的方法。BMC联合,是把一组BMC分成一个组。一个BMC分组有一个BMC作为组长,这个组长可以对组成员执行系统管理操作,包括但不限于服务器配置、服务器固件更新、服务器部署操作系统。通过组长对组成员执行系统管理操作,不需要系统管理软件对组的每个成员单独执行系统管理操作,可以节省机房的系统管理软件开销包括网络带宽,CPU资源等等。在现有技术中,用户根据一些预定义的规则(如相同的固件版本等)对作为组成员的服务器进行分类,并逐一手动配置组成员。可是,这样的配置方法仍然是需要对每台服务器进行手动配置,因此同样在效率上存在很大的缺陷。

发明内容

在一个方面,本发明提供了一种服务器组网分组管理方法,包括以下步骤:启动服务器;获取用于服务器的分组目标,其中该获取步骤涉及服务器中的专用处理器;以及根据分组目标,将服务器加入预定的组。

在一个具体实施方式中,分组目标由专用处理器通过连接到该专用处理器的开关电路获得。

优选地,开关电路为拨码开关。

更优选地,上述的将服务器加入预定的组的步骤还包括由专用处理器根据所获取的分组目标,向服务器所在的局域网发送分组请求。

在另一个具体实施方式中,上述的获取步骤包括由管理器根据服务器的负载特性而决定分组目标的步骤。

优选地,决定所述分组目标的步骤,包括管理器通过服务器的操作系统层级的数据以及服务器的专用处理器提供的数据,分析得出分组目标的步骤。

更优选地,上述方法还包括根据服务器的专用处理器提供的识别信息,将该专用处理器关联到相应的服务器的操作系统,并且提取相应服务器的操作系统层级的数据的步骤。

在一个具体实施例中,专用处理器提供的识别信息为所述服务器的唯一识别码。

在优选实施例的一种变化中,上述方法还包括管理器在局域网中发现服务器中的专用处理器,进而得到服务器的唯一识别码的步骤。

在优选实施例的另一种变化中,上述将服务器加入预定的组的步骤,包括将服务器与具有相同或相似负载特性的其它服务器划入预定的组。

优选地,相似负载特性为服务器和其它服务器处于同一虚拟集群中,或者服务器和其它服务器具有相同或相似用途。

在一种具体实施形式中,管理器为运行在服务器上的或者是额外的计算设备上的管理软件。

在一种具体实施形式中,专用处理器为基板管理控制器BMC。

根据本发明的另一个方面,提供了一种多服务器系统。该系统包括多台服务器;该多台服务器中的每一台具有专用处理器。其中该系统还包括组网装置,该组网装置适于促使多台服务器中的每一台根据各自的分组目标被加入预定的组。其中,组网装置适于与专用处理器通信,或被专用处理器读取分组目标。

在一种具体实施形式中,组网装置包括连接到每台服务器的专用处理器的开关电路。

更优选地,多台服务器中的每一台的专用处理器,被配置为根据从开关电路获取的分组目标,向该服务器所在的局域网发送分组请求。

在另一种具体实施形式中,组网装置为管理器,该管理器连接到多台服务器中的每一台。

优选地,管理器被配置为与多台服务器中的每一台的专用处理器直接通信。

更优选地,管理器被配置为通过多台服务器中的每一台的操作系统层级的数据以及该服务器的专用处理器提供的数据,而分析得出该服务器的分组目标。

在一种具体实施形式中,专用处理器为基板管理控制器BMC。

本发明的实施例因此利用了服务器中包含的专用处理器来协助进行自动化的服务器组网分组管理的方法。这样的方法的具体实施方式并不只限于一种,而是有许多种,它们的共同特点是都是利用了专用处理器(例如BMC)来协助进行自动化地分组管理。

例如,在本发明的一部分实施例中,每台服务器的BMC在上电启动时,通过读取作为组网装置的开关电路(例如拨码开关)的状态,获取分组目标,然后利用局域网络的自有协议,自动完成分组。开关电路的状态由管理人员事先设定,因此服务器可以完成上电自主分组,免去人力逐台分组的时间花费。因此,在这些实施例中,通过增加简单的组网装置和简单组网协议,可以完成服务器开机后大规模自动组网。之后,管理人员登录某台服务器的BMC,就可以完成其相应分组的组内配置。在这些实施例中,由于是操作基于局域网络的自有协议进行分组,此时与外网隔离,比较安全。另外,即使服务器已经上电开机之后,也可以改变开关电路的状态(例如管理人员再次拨动拨码开关),这可以触发BMC重新发送分组广播包,从而实现根据需要来动态调整分组状态。

在本发明的另一部分实施例中,提供了一种智能方法,用于设置服务器的BMC联合,以根据服务器的负载特性进行分组管理。具体而言,该方法通过相同的服务器UUID映射,将BMC与主机操作系统联系(绑定)起来,然后从工作负载管理器(如VMware vCenter)获得工作负载基础信息,包括但不限于集群、操作系统级别的库存和配置信息等。例如,工作负载信息可以包括CPU使用率,硬盘使用率和读写速度,内存使用率,网络流量和速度,等等。在此基础上,该方法对本地网络中所有发现的BMC所在的服务器的工作负载特性进行分析,然后建议或自动将那些具有相同工作负载特性的服务器放入同一个BMC联合中。换句话说,具有相同负载特性的服务器被分配予相同的分组目标,从而使得它们被划入相同的组中。上述的工作负载特性分析可以应用于以下典型场景:VMware vSAN或微软S2D集群节点、云计算分解的存储器和加速器节点、以及VMWare Project Monterey智能NIC分解节点。这样的方法可以考虑到服务器工作负载的特性,帮助用户自动设置BMC联合,使用户能够与应用层基础设施保持一致,并轻松应用相同的硬件配置和管理策略进行组管理。与现有技术中仅仅基于固件版本的BMC联合中的分组方法相比,本发明上述的实施例充分考虑到了上层应用的特性(即工作负载特性),能够实现BMC联合的最佳效果。

附图说明

参照本说明书的余下部分和附图可以对本发明的性能和优点作进一步的理解;这些附图中同一个组件的标号相同。在某些情况下,子标记被放在某个标号与连字符后面以表示许多相似组件的其中一个。当提到某个标号但没有特别写明某一个已有的子标记时,就是指所有这些类似的组件。

图1是根据本发明的一个实施例的多服务器系统的结构示意图。

图2是图1中的系统中单台服务器进行自动分组的方法流程图。

图3是根据本发明的另一个实施例的多服务器系统的结构示意图。

图4是图3中的系统中的服务器进行自动分组的方法流程图。

图5显示了根据本发明的另一个实施例的云计算分解的存储器和加速器节点网络,其应用了图4中的方法进行服务器的分组。

图6显示了根据本发明的另一个实施例的VMWare Project Monterey智能NIC分解节点网络,其应用了图4中的方法进行服务器的分组。

具体实施方式

本发明的实施例通过灵活地使用服务器中的专用处理器提供的通信和处理功能,从而实现多台服务器的自动组网和分组。从以下的叙述可以轻易得知本发明的各个实施例所提供的其它不同的好处和优点。

如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接受的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。

来看图1。根据本发明的第一个实施例的多服务器系统在图1中被显示。该系统包含多台服务器20,这些服务器都连接到网络30,例如局域网。图1中示出的服务器20中的每一台可以具有相同或不同的硬件或软件配置,但是它们各自都具有BMC(基板管理控制器)26、以及与BMC 26连接的拨码开关32。如本领域普通技术人员所熟知的,BMC 26是服务器中的一种专用处理器,其独立于服务器中的主处理器(CPU),可以独立启动,并读取服务器的各种状态以及与外部设备通过网络通信。拨码开关32则是一种开关电路,开关电路是一种可以被设置以具有不同的开关状态的装置。具体而言,本实施例中的拨码开关32是一种通过拨动不同的键或者通过旋转字符轮而控制内部接触片的通断用以切换输出信号的开关。拨码开关32基于0/1的二进制编码原理,可以输出不同的数值,而本实施例中对于拨码开关32总共能输出的二进制数字的数量和位数不作限制。以一个3排的拨码开关32为例,其总共有十进制值0~7这8种状态。拨码开关32被设定的开关状态(即数值)能够被它们各自连接到的BMC 26所读取,作为分组目标,如下面将详细描述的。因此,在本实施例中,拨码开关32作为一种组网装置而存在。

现在来看图1所示的多服务器系统的根据拨码开关而实现BMC自动发送分组请求的步骤。该方法的主要步骤在图2中示出。首先,在一开始的步骤40中,给每台服务器20上电。如本领域技术人员所熟知的,BMC 26作为独立于服务器20的其它硬件的服务处理器,可以同时或者先于服务器的其它硬件进行上电启动。在BMC 26上电完成并且开始运行其软件之后,在步骤42中BMC 26读取其连接到的拨码开关32的状态。要说明的是,虽然图2中没有示出,但是在步骤40即上电之前,服务器管理人员可以将拨码开关32按照需要拨到合适的位置,然后才启动服务器20。以一个四位拨码开关32的开关状态为例,全0表示不想加入分组,而1~7表示想加入分组1~7。

步骤42中BMC 26所读取的拨码开关32的状态,也就是该BMC 26所在的服务器20的分组目标。这样的分组目标由BMC 26自动从拨码开关32读取,而管理人员只需要在服务器20上电前为拨码开关32设置好需要的位置就可以。然后,在步骤44中,BMC 26将包含分组号(即上述的例子中分组的号码1-7)的分组请求包,广播到该BMC 26所在的服务器20所处在的网络30(在这里假设为局域网)。在分组请求包被广播发送之后,同一局域网内的其它BMC26(它们分别属于不同的服务器20)会接收到被广播的分组请求包。在步骤46中,如果接收到的分组请求包内的分组号,与接收该分组请求包的BMC 26本身的分组号一致,则接收该分组请求包的BMC 26会将发送该分组请求包的BMC 26加入到其所在的组名单之中。例如,如果一个BMC 26发送的分组请求包包含的分组号是5,那么同一网络30中的另一个也是具有分组号为5的BMC 26在接收到该分组请求包之后,就会将发送方和其自身划分为同一个组。以这样的方式,到步骤48时,上述的服务器20就加入了其预定的组。

图1中的网络30中的每台服务器20都可以执行图2中所示的步骤,从而在无需用户干预和其它专门管理装置的情况下,实现这些服务器20的自组网以及自动分组。在组网完成之后,管理人员可以以传统方式登录任意一台服务器20的BMC 26(例如通过web界面),就可以完成该服务器20的相应分组的组内配置。在图2所示的整个方法中,都是基于局域网络的自有协议进行分组,而并不需要和外网连通。因此,与外网隔离的状态下分组,比较安全。另外,虽然图2没有示出,但即使服务器20已经上电开机之后,也可以改变拨码开关32的状态(例如管理人员再次拨动拨码开关),这可以触发BMC 26重新发送分组广播包,从而实现根据需要来动态调整分组状态,例如将一台服务器20加入不同的组,或者将所有服务器20重新分组等。

现在来看图3,根据本发明的另一个实施例的多服务器系统,包括多台服务器120(即图3中示出的服务器1至服务器N)。和图1中的情形类似,服务器120中的每一台可以具有相同或不同的硬件或软件配置,但是它们各自都具有BMC(基板管理控制器)126,以及独立于BMC 126运行的操作系统(OS)122。为简洁起见,图3中只显示了服务器1的结构。如本领域普通技术人员所熟知的,操作系统122由服务器120中的主要处理器(CPU)运行并且支持其它软件的运行以满足各种服务请求。此外,在每台服务器120中,还存储有UUID(Universally Unique Identifier,通用唯一识别码)。如本领域普通技术人员所熟知的,UUID是在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。UUID作为唯一的辨识资讯,既可以用于硬件服务器,也可以用于虚拟机。UUID可以存储在服务器120的各种存储器中,例如主板上的芯片中。但是,在图3的实施例中,UUID的读取需要通过SMBIOS 127才能实现。SMBIOS(System Management BIOS)是主板或系统制造者以标准格式显示产品管理信息所需遵循的统一规范。通过SMBIOS 127,服务器120的操作系统122或者BMC 126都可以读取服务器120的许多硬件信息,这包括UUID。本实施例中UUID最重要的一个用途,就是通过相同的服务器UUID映射,将某台服务器120中的BMC 126与操作系统122联系(绑定)起来,从而为进一步进行服务器120的自动分组提供基础。

图3中还示出了处理工作负载的管理器124。管理器124可以和每一台服务器120通信。管理器124是一台运行了用于进行工作负载管理(例如负载平衡)的管理软件的计算设备。该计算设备既可以是专门用于服务器管理但本身不执行服务器的功能例如响应服务请求,也可以是兼作为服务器使用。并且,操作系统122和BMC 126可以各自独立地与管理器124通信,从而例如提供信息给予管理器124或者接收来自管理器124的指令。如同接下来将要详细介绍的,通过获得每台服务器120的工作负载基础信息,包括集群、操作系统级别的库存和配置信息等,可以判断出哪些服务器120具有相同或相似的负载特性,从而将这些服务器120加入到BMC联合125中。关于本实施例的服务器自动自动组网和分组的方法,将在以下详细描述。

图4展示了图3所示的多服务器系统的根据服务器的负载特性而实现自动化的分组的步骤。首先,在步骤140中工作负载管理器124开始运行。管理器124的启动和各台服务器120的启动无关,可以和服务器120同时启动,也可以比服务器120的启动晚。但是,本实施例中进行自动化分组的方法必须要用到管理器124,因此方法开始于步骤140。然后,在步骤142中,管理器124通过SSDP(简单服务发现协议)等协议发现本地网络中的邻近BMC 126,并获得所有被发现的BMC 126的基本系统信息(包括它们的服务器UUID)。在本实施例中,管理器124和所有的服务器120都连接到同一本地网络,而所有的服务器120中的BMC 126都可以独立地连接到该网络(即不需要操作系统122的介入)。因此,管理器124可以通过相关网络协议发现BMC 126并与它们直接连接,从而获得BMC 126的基本系统信息。上述的步骤142是由管理器124一侧执行的,而与之相对应的则是在服务器120侧进行的步骤144,即发现本地网络中所有的服务器120中的BMC 126的步骤。接下来,来到步骤146,管理器124从服务器120检索操作系统级别的清单(包括服务器UUID)、以及由管理器124(如VMware vCenter)管理的所有服务器120的配置信息。要注意的是,步骤146中获得的服务器UUID并不等于步骤142中获得的服务器UUID。步骤146中的服务器UUID是来自于服务器120的操作系统122,而步骤142中的服务器UUID是来自于服务器120的BMC 126。到步骤146为止,管理器124并不知道其在步骤142中发现的BMC 126和步骤146中发现的服务器120(通过它们各自的操作系统122)之间的对应关系。上述的步骤146是由管理器124一侧执行的,而与之相对应的则是在服务器120侧进行的步骤148,即获得每台服务器120中的操作系统122的数据的步骤。

接下来,上述方法来到步骤150,在此管理器124通过匹配步骤142中获得的BMC126的服务器UUID、和步骤146中获得的操作系统122的服务器UUID,从而将将不同的BMC126与相应的服务器120的操作系统122关联起来。如上所述,不论在哪个步骤中获得,某台服务器120的服务器UUID的信息实际上都来自SMBIOS 127,因此,同一台服务器120中的BMC126存储的服务器UUID以及操作系统122提供的服务器UUID,是完全一致的。通过这种方法,就可以将本地网络中发现的BMC 126与它们各自所在的服务器120的操作系统122相关联(绑定)。可以看出,服务器UUID实际上作为一种识别信息使用,既被BMC 126提供,又被操作系统122提供。

然后,在步骤152中,管理器124通过利用从同一台服务器120的BMC 126和操作系统122检索的集群、主机库存和配置信息,从而分析服务器120的工作负载特性。这里所述的集群、主机库存和配置信息分别来自于同一台服务器120的BMC 126以及操作系统122。具体而言,主机库存和配置信息由BMC 126提供。集群库存和配置信息由操作系统122以及管理器124(例如VMWare vCenter)提供。操作系统122和管理器124还可以提供工作负载信息比如服务器操作系统CPU使用率、硬盘使用率和读写速度、内存使用率、网络流量和速度,等等。。以步骤142至152所描述的方式对每一台服务器120都进行类似操作,从而获得所有服务器120的工作负载特性。接下来,在步骤154中,管理器124会检查步骤152中获得的所有服务器的工作负载特性,并判断有没有多于一台服务器120具有相同或相似的工作负载特征。如果否的话,服务器的自动分组方法在步骤158结束,而不进行分组,因为如果没有任何两台或以上服务器120的负载特性相同或相似的话,是不需要将它们分组的。相反,如果步骤154的判断结果为是的话,则表明至少有两台服务器120具有相同或相似的工作负载特征,因此可以进行分组。在“是”的情况下,方法然后来到步骤156,其中管理器124向管理人员建议将运行具有相同或相似工作负载特征的操作系统122的服务器120(通过它们各自的BMC126)放在同一个BMC联合125中。或者,管理器124也可以无需人工干预,而直接自动将具有相同或相似工作负载特征的操作系统122的服务器120(通过它们各自的BMC 126)放在同一个BMC联合125中。上述的步骤156是由管理器124一侧执行的,而与之相对应的则是在服务器120侧进行的步骤158,即被执行分组的服务器120中的BMC 126被配置为成为相应的BMC联合125的成员之一。BMC联合125因此可以视为被执行分组的服务器120要加入的预定的组,而分组目标则是如果至少有两台服务器120具有相同或相似的工作负载特征,则它们具有相同的分组目标,即加入同一个BMC联合125。中的BMC 126在分组完成之后,服务器的自动分组方法在步骤160结束,

上述的图4中的方法可以用于各种服务器分组方案或者说协议。举例来说,图4所示的基于工作负载特性分析的分组方法可以应用于以下典型场景:VMware vSAN或微软S2D集群节点、云计算分解的存储和加速器节点、以及VMWare Project Monterey智能NIC(网络接口控制器)分解节点。首先,VMWare vSAN是一个超融合、软件定义的存储(SDS)平台,而VMware vCenter是vSAN集群的集中管理器,可以充当图3中的管理器124。如果一些带有BMC的服务器在同一个vSAN集群中,则它们具有相同的工作负载特性,因而可以使用图4的方法将它们放在同一个BMC联合中进行分组管理。

以下将结合图5对云分解的存储和加速器节点的应用场景进行说明。本领域技术人员所熟知的是,在这种场景下,有分解的存储器和加速器节点,而这些节点构成的资源可以被分享给云工作负载节点。在此基础上,相同的分解资源节点可以通过图4所示的方法被配置在一个组中,以共享相同的配置和固件更新请求。例如,图5中示出了一个包括多台服务器220(即图5中示出的服务器1至服务器N)的系统。每台服务器220都包括工作负载221,并且还包括存储器223和/或加速器224。这里所述的存储器223可以是各种计算机存储设备例如快速SSD(固态驱动器)和大容量HDD(硬盘)。这里所述的加速器224例如可以是FPGA(现场可编程门阵列)加速卡。图5所示的例子中,不同的服务器具有的结构不同,例如服务器1只有存储器223,服务器2和服务器N则同时具有存储器223和加速器224。另一方面,在服务器220之外,具有多个分解的存储器节点235以及加速器节点239。每个存储器节点235都具有存储器233,且构成存储器目标节点。而每个加速器节点239都具有加速器237,且构成加速器目标节点。如图5所示,存储器目标节点1的存储器资源可以被分享给服务器1和服务器2使用(具体为服务器1和2的存储器223)。存储器目标节点2的存储器资源可以被分享给服务器N使用。与之类似的,加速器目标节点1的加速器资源被分享给服务器2使用(具体为服务器2的加速器224)。加速器目标节点2的加速器资源被分享给服务器N使用。以上的云分解的存储和加速器节点的工作原理和网络结构是本领域技术人员所熟知的,在此不再赘述。由于存储器目标节点1和存储器目标节点2(它们都属于存储器节点235)的负载特性相同,即都是用于存储,因此它们可以使用图4的方法被划为同一个存储器组229。类似的,由于加速器目标节点1和加速器目标节点2(它们都属于加速器节点239)的负载特性相同,即都是用于加速,因此它们可以使用图4的方法被划为同一个加速器组231。

以下将结合图6对智能网卡(Smart NIC)分解的节点的应用场景进行描述。本领域技术人员所熟知的是,智能网卡的功能和BMC有些类似,是一种可以卸载通常由系统CPU处理的任务的网络接口卡。智能网卡可以被插入服务器机箱中。智能网卡利用其板上的处理器,能够完成加密/解密,防火墙,TCP/IP,HTTP等任何处理任务的组合。一般而言,智能网卡具有通用CPU,可以直接在智能网卡上运行任意的代码和应用程序。由于智能网卡的CPU可以独立于服务器的CPU进行管理,因此可以实现服务器带外管理。此外,智能网卡支持虚拟化设备功能,可以被虚拟为PCI总线上的虚拟设备。在服务器核心CPU操作系统和应用程序看来,它们就像实际的硬件设备一样。在应用中,例如在服务器网络中,可以有一些智能网卡分解节点,与VMware工作节点共享存储和加速器资源。具有相同分类资源的智能网卡节点,然后可以使用图4的方法被配置在一个组中,以共享相同的配置和固件更新请求。例如,图6中示出的两个智能NIC被划分为同一个存储器组329,而另外两个配置了FPGA的智能NIC被配置为同一个加速器组331。上述的相同的分类资源也就是该场景下服务器自动分组的负载特性。

因此,在介绍了几个实施例之后,本领域的技术人员可以认识到,不同的改动、另外的结构、等同物,都可以被使用而不会背离本发明的本质。相应的,以上的描述不应该被视为对如以下的权利要求所确定的本发明范围的限制。

例如,虽然图1和图3中示出了少数的几台服务器,但是要注意的是这些附图中受篇幅所限示出的服务器数量只是作为说明用途。实际上,本发明的方法和系统对于多台服务器的数量并没有限制。无论多少台的服务器都可以使用本发明的方法来进行服务器的组网和自动分组。

另外,就图4˙中所述的基于工作负载的服务器组网方法,上面描述了三种场景下的应用的组网例子。本领域技术人员需要明白的是,图4中描述的方法也可以用于其它类型的智能节点的分组,而并不限于所描述的三种应用场景。

图1示出的基于开关电路的BMC自动分组方法中使用了拨码开关作为组网装置。本领域技术人员需要明白的是,其它的开关电路也可以被使用,只要它们能够被管理人员设置,并且能够被专用处理器读取其开关状态就可以了。

在图3和图4所示的实施例中,使用了UUID作为服务器的唯一标识符。本领域普通技术人员可以明白,在本发明的实施例的变化形式中,除UUID外,也可以通过主机序列号(Serial Number)、网卡物理地址(MAC Address)或其他具有唯一性的硬件标识信息来实现服务器操作系统和BMC之间的关联。

相关技术
  • 分组网关标识信息的更新方法、AAA服务器和分组网关
  • 在分组网络中测试传输质量的方法、服务器、网关、系统
技术分类

06120116331786