CN109150579A - 配置多机箱链路的方法与***及其储存介质 - Google Patents

配置多机箱链路的方法与***及其储存介质 Download PDF

Info

Publication number
CN109150579A
CN109150579A CN201810258720.6A CN201810258720A CN109150579A CN 109150579 A CN109150579 A CN 109150579A CN 201810258720 A CN201810258720 A CN 201810258720A CN 109150579 A CN109150579 A CN 109150579A
Authority
CN
China
Prior art keywords
port
switch
interchanger
group
matching
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810258720.6A
Other languages
English (en)
Other versions
CN109150579B (zh
Inventor
李政勋
施青志
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Quanta Computer Inc
Original Assignee
Quanta Computer Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Quanta Computer Inc filed Critical Quanta Computer Inc
Publication of CN109150579A publication Critical patent/CN109150579A/zh
Application granted granted Critical
Publication of CN109150579B publication Critical patent/CN109150579B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/22Arrangements for detecting or preventing errors in the information received using redundant apparatus to increase reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0876Aspects of the degree of configuration automation
    • H04L41/0886Fully automatic configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/245Link aggregation, e.g. trunking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/552Prevention, detection or correction of errors by ensuring the integrity of packets received through redundant connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1042Peer-to-peer [P2P] networks using topology management mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本公开提供一种***及方法,用于使用管理控制器以于多机箱***(Multi‑Chassis system)自动配置多机箱链路(link)。管理控制器可从多机箱***的多个服务器***及交换机(switch),请求并接收交换机端口数据。基于所接收的交换机端口数据,管理控制器可决定多个交换机中的第一交换机及第二交换机的对等(peer)链路端口;基于所接收的交换机端口数据,从第一交换机及第二交换机的多个端口中选择适合的端口群组;并将各适合的端口群组中的多个端口配置为MC‑LAG成员端口,以用于对应的适合的端口群组。

Description

配置多机箱链路的方法与***及其储存介质
技术领域
本发明是有关于服务器***。
背景技术
多机箱链路聚合群组(Multi-Chassis Link Aggregation Group,MC-LAG)是一种链路聚合群组,其组成端口终止于单独的节点(机箱)上,主要用途在于当节点(机箱)失败时提供冗余(redundancy)。MC-LAG技术经由连接两条或多条物理电缆来形成逻辑/虚通道,从而增加频带宽度和链路冗余。而且,在MC-LAG中,两个网络交换机可以在某些指定端口(例如,“对等链路”)上以协议信息进行通信而形成逻辑交换机。即使在其中一个交换机发生故障时,另一个交换机仍能正常工作。因此,MC-LAG技术还增强了网络交换机节点级别的频带宽度和冗余。
然而,对于网络管理员来说,在包含多个节点的网络拓扑中安装MC-LAG交换机配置是一个耗时的过程。在传统方法中,网络管理员需要仔细规划网络拓扑,以便知道哪些网络接口控制器(network interface controller,NIC)端口被连接到MC-LAG交换机端口,并知道哪些上游和下游交换机被连接到MC-LAG交换机。随着网络拓扑的增长和/或随时间的推移而动态变化,安装MC-LAG交换机配置的过程对于网络管理员来说可能变得更具挑战性。
发明内容
依据本公开的各种范例的***和方法,经由使用管理控制器于多机箱***自动配置多机箱链路,以提供上述问题的解决方案。管理控制器可以是能够配置MC-LAG网络交换机的特定***(例如:特定机箱、特定服务器***、或特定节点)、基板管理控制器(baseboard management controller,BMC)、或机架管理控制器(rack managementcontroller,RMC)。管理控制器可以从多机箱***的多个服务器***及交换机,请求并接收交换机端口数据。基于所接收的交换机端口数据,管理控制器可更决定多个匹配端口及多个匹配节点。管理控制器可更决定多个交换机中的第一交换机及第二交换机的对等链路端口。对等链路端口是多个匹配端口的一子集合。对等链路端口中的各个对等链路端口属于第一交换机及第二交换机之一者,且对应于多个匹配节点中之一匹配节点,匹配节点是第一交换机及第二交换机的另一者。
依据本公开的一方面,提出一种计算机实施方法,用以于一多机箱***自动配置多机箱链路,包括:(1)从多机箱***的多个服务器***及多个交换机,请求交换机端口数据;(2)接收交换机端口数据,交换机端口数据包括多个服务器***和多个交换机的多个内部及邻居端口地址;(3)决定多个匹配端口及多个匹配节点,其中各匹配端口具有一个端口地址匹配于邻居端口地址中的其中之一,各匹配节点对应于匹配端口的其中之一;及(4)决定多个交换机中之一第一交换机及一第二交换机的对等链路端口。对等链路端口是多个匹配端口的一子集合。对等链路端口中的各对等链路端口属于第一交换机及第二交换机其中之一者,且对应于多个匹配节点中为此第一交换机及此第二交换机的另一者的匹配节点。
在一些范例中,计算机实施方法还包括:基于交换机端口数据及一个或多个预定准则,将第一交换机及第二交换机的多个端口分组为多个端口群组;从端口群组中选择第一子集合端口群组;及将第一子集合端口群组的各端口群组中的所有端口,配置为相同成员端口。第一子集合端口群组中之一端口群组具有属于第一交换机的至少一个端口,以及属于第二交换机的至少另一个端口。
在一些范例中,决定多个匹配端口及多个匹配节点还包括:通过(go through)第一交换机及第二交换机的各端口的邻居端口地址;若特定端口的地址匹配第一交换机及第二交换机的邻居端口地址中的任一者,将特定端口分组于此多个匹配端口之中;将包含特定端口之一对应的节点分组于此多个匹配节点之中。
在一些例子中,多机箱***兼容于IEEE 802.1AXTM-2008标准。多机箱***中的此多个服务器***及多个交换机可使用多种协议以发布对应的身份、容量、及邻居在多机箱***的网络上。用于发布身份、容量、及邻居的此多种协议包含但不受限地为链路层开发协议(Link Layer Discovery Protocol,LLDP)、思科公司开发协议(Cisco DiscoveryProtocol,CDP)、或由特定厂商提供的供应方法。
在一些范例中,多机箱***的管理控制器可使用多种协议以请求交换机端口数据包括,请求的方式包含但不受限地为机架式缩放设计(Rack ScaleDesign,RSD)、网络配置协议(Network Configuration Protocol,NETCONF)、或RESTCONF、及由特定厂商提供的供应方法。
在一些范例中,一个或多个预定准则包括:多个端口群组中的各端口具有至少一邻居端口地址;多个端口群组的各端口群组中的多个端口具有多个匹配节点中相同的对应匹配节点;及多个端口群组中的各端口对应于多个匹配节点中的匹配节点既不是第一交换机也不是第二交换机的匹配节点。
依据本公开另一方面,提出一种非易失性计算机可读取储存介质,储存多个指令。当指令被处理器执行时使得***进行的操作包括:(1)从多机箱***的多个服务器***及多个交换机,请求交换机端口数据;(2)接收交换机端口数据,交换机端口数据包括多个服务器***和多个交换机的多个内部端口地址和多个邻居端口地址;(3)决定多个匹配端口及多个匹配节点;(4)及决定多个交换机中之一第一交换机及一第二交换机的对等链路端口。各匹配端口具有一个端口地址,匹配于邻居端口地址中的其中之一,而各匹配节点对应于匹配端口的其中之一。对等链路端口是多个匹配端口的一子集合。对等链路端口中的各对等链路端口属于第一交换机及第二交换机其中之一者,而对应于多个匹配节点中为第一交换机及第二交换机的另一者的匹配节点。
在一些范例中,非易失性计算机可读取储存介质所储存的指令,在被处理器执行时使得此***执行的操作还包括:基于交换机端口数据及一个或多个预定准则,将第一交换机及第二交换机的多个端口分组为多个端口群组;从多个端口群组选择第一子集合端口群组,第一子集合端口群组中的一端口群组具有属于第一交换机的至少一个端口,以及属于第二交换机的至少另一个端口;及将第一子集合端口群组的各端口群组中的所有端口,配置为一相同成员端口。
本公开的附加特征和优点将在下面的描述中阐述,并且部分将从描述中显而易见,或者可以通过实践本文公开的原理而被学习。本公开的特征和优点可以通过所附权利要求中特别指出的手段和组合来实现和获得。从以下描述和所附权利要求要求,本公开的这些和其他特征将变得更加显而易见,或者可以通过此处所述的原理而被学习。
附图说明
为了对本发明的上述及其他方面有更佳的了解,下文特举实施例,并配合附图详细说明如下:
【附图简单说明】
为了描述可以获得本公开的上述和其他优点和特征的方式,上面简要描述的原理的更具体描述将经由参照所附图示中绘示的具体范例而被呈现。这些图标仅描绘了本公开的范例方面,因而不被认为是用来限制本公开的范围。经由使用附图,本公开的原理将以附加的特征和细节而被来描述及解释,其中:
图1A绘示依照本公开一些实施方式的用于自动配置多机箱链路的范例性多机箱***的方块示意图。
图1B绘示依照本公开一些实施方式的用于取得 RSD API所支持的邻居交换机端口的MAC地址的范例代码指令的示意图。
图1C-1E绘示依照本公开一些实施方式的从多机箱***的多个交换机及多个服务器***所收集的交换机端口数据的范例的示意图。
图1F绘示依照本公开一些实施方式的用于决定多机箱***中的多个匹配端口及多个匹配节点的范例程序。
图1G绘示依照本公开一些实施方式的第1F图的多机箱***的多个匹配端口及多个匹配节点的一个范例。
图1H绘示依照本公开一些实施方式的多机箱***中的第一交换机及第二交换机的对等链路端口的一个范例。
图1I绘示依照本公开一些实施方式的用于将多个第一交换机及多个第二交换机分为多个端口群组的范例程序。
图1J绘示依照本公开一些实施方式的从多个端口群组选择第一子集合端口群组的范例程序及第一子集合端口群组的一个例子。
图2绘示依照本公开一些实施方式的用自动配置多机箱***多机箱链路的范例方法。
图3绘示依照本公开多种实施方式的范例计算机装置。
图4及5绘示依照本公开多种实施方式的范例***。
具体实施方式
本公开可以以许多不同的形式来实施。代表性实施例绘示于所附图示中,并且将在此处被详细描述,请理解本公开是本公开原理的一个范例或示例,并且不意于将本公开的广泛方面限制于所示的实施例。就此而言,例如在摘要、发明内容、及实施方式的部分中揭露但在权利要求中未明确阐述的要素和限制,不应该通过暗示、推断或以其他方式而单独或集体并入到申请范例范围中。除非明确否认,本详细描述的目的:单数包括复数,反之亦然;而“包括”一词的意思是“包括但不限于”。此外,此处所使用约莫的字词例如“大约”、“几乎”、“实质上”、“近似”等类似词语,可表示“位于、接近、或接近于”或在“3-5%之内”、“或在可接受的制造公差内”、或其任何逻辑组合。
本公开的多种范例提供使用管理控制器自动配置多机箱***中的多机箱链路的方法。管理控制器可从多机箱***的多个服务器***及多个交换机,请求及接收交换机端口数据。基于所接收的交换机端口数据,管理控制器,从第一交换机及第二交换机的多个端口中选择适合的端口群组;并于各适合的端口群组中将多个端口配置为MC-LAG成员端口,以用于对应的适合的端口群组。
图1A绘示依照本公开一些实施方式的用于自动配置多机箱链路的范例性多机箱***的方块示意图。于此范例中,多机箱***10A包含管理控制器108、服务器***100、102、104、及106以及交换机210、220、310和320。多机箱***10A中的***和交换机可以使用多种协议来在***10A的网络上发布他们的身份、容量和邻居。在一些范例中,多机箱***10A是兼容于IEEE 802.1AXTM-2008标准。用于发布身份、容量和邻居的多种协议可以包括但不限于LLDP、CDP、或由特定供货商提供的提供方法。
在一些范例中,服务器***100、102、104和106可以包括基本输入/输出***(basic input/output system,BIOS)(未绘示)、至少一个微处理器或处理器(未绘示)、主存储器(main memory,MEM)(未绘示)、及至少一个电源单元(power supply unit,PSU)(未绘示)。所述至少一个PSU接收来自交流电源的交流电,并将电力供应至服务器***的各种组件,例如处理器(未绘示)、PCIe插槽(未绘示)、储存装置(未绘示)、ISA插槽(未绘示)、PCI插槽(未绘示)、以及管理装置(未绘示)。在通电之后,服务器***100、102、104、106被配置为从内存、计算机储存装置、或外部储存装置加载软件应用以执行多种操作。储存装置被建构为服务器***的操作***(operating system,OS)和应用可用的逻辑方块。即使在服务器***断电的情况下,逻辑方块是被配置为保留服务器数据。
BIOS可以是被配置成初始化(initialize)和识别服务器***的各种组件的任何程序指令或固件。BIOS是一个重要的***组件,负责初始化和测试相应服务器***的硬件组件。BIOS可以为硬件组件提供抽象层,从而为应用程序和操作***提供与周边装置(例如键盘、显示器和其他输入/输出装置)互动的协调方式。
在一些配置中,BIOS可以在开机(boot up)OS(例如:Microsoft Windows OS、Linux OS、或服务器***上的任何操作***)之前运行***检查。***检查是在服务器***初始化期间执行的诊断***检查。***检查的一个例子包括一个开机自检(Power-OnSelf-Test,POST)。BIOS可以处理POST的主要功能,并且可以将一些任务卸除到被设计用于初始化特定周边装置(例如:视频和SCSI(小型计算机***接口)初始化)的其他程序。POST的主要功能可包括:验证中央处理单元(central processing unit,CPU)缓存器和BIOS代码的完整性;检查基本组件;检视***主存储器;并将控制权交给其他专用的BIOS扩充功能(Extension)。在一些配置中,BIOS还可以处理额外的POST功能,包括:发现、初始化、和分类所有***总线和装置;提供更新***配置的用户接口;并建造操作***所需的***环境。
管理装置(未绘示)(例如:BMC或RMC)可以与服务器***的处理器和储存装置进行通信。在一个例子中,通信可以通过使用***总线(例如,智能平台管理总线/网桥(Intelligent Platform Management Bus/Bridge,IPMB))的智能平台管理接口(Intelligent Platform Management Interface,IPMI)信息来进行。IPMB是内部集成电路(inter-integrated circuit,I2C)总线的加强型实施方式,是基于信息的硬件级别基本接口规范。然而,本公开预期可以在管理装置和其他组件之间使用其他通信类型。
内存(未绘示)可以包括但不限于动态随机存取内存器(dynamic random accessmemory,DRAM)、双倍数据速率DRAM(double data rate DRAM,DDR DRAM)、静态随机存取内存(static random access memory,SRAM)、或其他类型的适合的内存。内存可以配置为储存服务器***的BIOS数据。在某些配置中,BIOS数据可以储存在储存装置上。
在一些范例中,服务器***100、102、104和106可以进一步包括闪存装置。闪存装置可以是闪存驱动器、随机存取内存(random access memory,RAM)、非易失性随机存取内存(non-volatile random-access memory,NVRAM)、或电性可抹除式可复写只读存储器(electrically erasable programmable read-only memory,EEPROM)。闪存装置可以配置为储存***配置,例如BIOS数据。
处理器(未绘示)可以是被配置为执行用于特定功能的程序指令的CPU。例如,在开机过程中,处理器可以存取储存在管理装置或随机存取内存装置中的BIOS数据,并执行BIOS来初始化服务器***。在开机过程的后,处理器可以执行操作***以运行和管理服务器***的特定任务。
在一些实施方式中,管理装置可以决定服务器***上的操作***已经被更新;决定是否有固件更新(例如,标称介质旋转速率(nominal media rotation rate)的更新)可用;并自动从相应的供货商下载固件更新。在一些范例中,管理控制器可以经由与中央管理服务器通信而监视固件更新的可用性(例如,标称介质旋转速率的更新),并且每当有可用更新时下载最新的固件更新。在一些范例中,管理控制器可以在服务器***不在运作时、或者甚至在服务器***断电时,在出规频带(out-of-band)接收固件更新。
在一些配置中,处理器(未绘示)可以是多核心处理器,各处理器通过CPU总线耦接在一起。多个PCI插槽或PCIe插槽可用于连接和总线,例如:PCI Express x1、USB 2.0、SMBus、SIM卡、另一个PCIe通道的未来扩充、1.5V和3.3V电源、以及送至服务器***100的机箱的诊断LED的导线。可以在多个PCI插槽中使用的PCI卡包括但不限于网络适配器(network interface cards,NIC)、声卡、调制解调器、TV调谐器卡、磁盘控制器、视频卡、小型计算器***接口(small computer system interface,SCSI)适配器(adapter)、及个人计算机记忆卡国际协会(personal computer memory card international association,PCMCIA)卡。
在图1A中,管理控制器108连接到多机箱***10A的服务器***100、102、104、和106以及交换机210、220、310和320。交换机210和交换机220的各者包括端口1-16。交换机1210的端口4、端口5和7、端口11和端口10分别连接到***100、***102,***104、及交换机310。交换机220的端口5、端口14和16、端口8和端口4分别连接到***104、交换机320、***106、及交换机310。交换机1 210的端口11与服务器***104之间的连接、以及交换机2 220的端口5与服务器***104之间的连接,是被配置为提供冗余和增加吞吐量(throughput)的正常链路聚合(link aggregation,LAG)。交换机1 210的端口10与交换机310的端口3之间的连接、以及交换机220的端口4与交换机310的端口4之间的连接,也是正常的LAG。
管理控制器108可以从服务器***100、102、104和106以及交换机210、220、310和320请求和获得交换机端口数据。管理控制器108可以使用多种协议来请求交换机端口资料。多种协议包括但不限于RSD、NETCONF、RESTCONF、以及其他专有网络通信方法,以使管理控制器108发布一个或多个指令以存取来自服务器***100、102、104和106以及交换机210、220、310和320的端口资料。
交换机端口数据可以包括邻居端口信息(例如:邻居端口地址)和自身端口信息(例如:内部端口地址)。邻居端口信息或邻居端口地址包括唯一值(例如:MAC地址),使得管理控制器108可以识别对应的邻居端口。图1B绘示用于获得RSD API所支持的邻居交换机端口的MAC地址的代码命令的范例。在此例中,邻居端口的MAC地址是“54:ab:3a:ca:b4:a1”。
自身端口信息或内部端口地址包含用于识别对应的端口属于哪个网络交换机的数据,在图1C-1J中标示为“节点ID”,并且是可以表示对应端口之一组唯一值(例如:MAC地址)。
图1C绘示管理控制器108从交换机210收集的交换机端口数据的范例。交换机端口数据包括多个端口ID(识别)、多个节点ID、多个用于内部端口的MAC地址、以及多个邻居端口的邻居MAC地址。相仿地,图1D绘示管理控制器108从交换机220收集的交换机端口数据的范例。图1E绘示管理控制器108从多机箱***10A中的其他服务器***和交换机收集的交换机端口数据的范例。
管理控制器108可更比较从服务器***100、102、104和106以及交换机210、220、310和320所接收的交换机端口数据,并决定多个匹配端口和多个匹配节点,如图1F所示。在此范例中,管理控制器108分别在程序4a和4b处,通过邻居MAC地址,并对邻居MAC地址与每个端口的MAC地址进行比较。管理控制器108接着分别在程序4c和4d处,选择具有匹配的MAC地址的每个端口作为匹配端口,并选择匹配端口的对应节点作为匹配节点。图1G绘示多个匹配端口和多个匹配节点的一个例子。在此例子中,多个匹配端口中的每一个具有一个端口地址匹配于邻居端口地址的其中一个。多个匹配节点中的每一个对应于多个匹配端口的其中一个。
管理控制器108可以基于多个匹配端口和多个匹配节点来确定多机箱***10A中的对等链路端口。对等链路端口是多个匹配端口的子集合。图1H绘示交换机1 210和交换机2 220的对等链路端口的例子。图第1H所示,对等链路端口的每个对等链路端口属于交换机1 210和交换机2 220的其中一个,并且对应于作为交换机1 210和交换机2 220的其中另一个的多个匹配节点的匹配节点。例如,对等链路端口P15和P16是多个匹配端口的子集合,并且属于交换机1 210。对等链路端口P15和16对应于交换机2 220,交换机2 220是多个匹配节点的其中一个。于另一个例子,对等链路端口Pm+1和Pm+2是多个匹配端口的子集合,并且属于交换机2 220。对等链路端口Pm+1和Pm+2对应于交换机1 210,交换机1 210是多个匹配节点的其中一个。
管理控制器108可更基于所接收的交换机端口数据从交换机1 210和交换机2 220的多个端口中选择适合的端口群组。管理控制器108可以针对适合的端口群组将每个对应的适合的端口群组中的端口配置为MC-LAG成员端口。
图1I绘示管理控制器108基于所接收的交换机端口数据和一个或多个预定准则,将交换机1 210和交换机2 220的多个端口分组为多个端口群组的程序。一个或多个预定准则包括:(1)多个端口群组中的每个端口具有至少一个邻居端口地址;(2)多个端口群组中的每个端口群组中的端口在多个匹配节点中具有相同的对应匹配节点;(3)多个端口群组中的每个端口对应于多个匹配节点中的一个匹配节点,此匹配节点既不是交换机1 210也不是交换机2 220。例如,端口P5和P7各自具有至少一个邻居端口地址,分别为“10:20:00:00:00:02”和“10:20:00:00:00:03”。端口P5和P7具有相同的对应匹配节点“***102”,此匹配节点既不是交换机1 210也不是交换机2 220。
图1J绘示管理控制器108从多个端口群组中选择第一子集合端口群组,以及第一子集合端口群组的一个范例的程序。第一子集端口群组中的一个端口群组具有属于交换机1 210的至少一个端口和属于交换机2 220的至少另一个端口。如图1J所示,“P10和Pm+4”和“P11和Pm+5”两个端口群组是被选入在第一子集合端口群组中。在“P10和Pm+4”的端口群组中,P10属于交换机1 210,而Pm+4属于交换机2 220。相仿地,在“P11和Pm+5”的端口群组中,P11属于交换机1 210,而Pm+5属于交换机2 220。
管理控制器108可接着将第一子集合端口群组的每个端口群组中的所有端口配置为相同的成员端口。例如,管理控制器108可以将P10和Pm+4配置为相同的成员端口,并将P11和Pm+5配置为相同的成员端口。
虽然在图1A中的范例性***10A仅示出了某些组件,范例性***10A还可以包括能够处理或储存数据、接收或传送信号、或提供新鲜空气至下游组件的各种类型的电子或运算组件。再者,范例性***10A中的电子或运算组件可以被配置为执行各种类型的应用、及/或可以使用各种类型的操作***。这些操作***可以包括但不限于:Android、柏克莱软件分配(Berkeley Software Distribution,BSD),iOS(iPhone OS)、Linux、OS X、类似Unix的实时操作***(例如QNX)、Microsoft Windows、Window电话和IBM z/OS。
依照范例性***10A的期望实现方式,可以使用各种网络和信息协议,包括但不限于TCP/IP、开放***互连(open systems interconnection,OSI)、文件传输协议(filetransfer protocol,FTP),通用即插即用(universal plug and playUpnP)、网络文件***(network file system,NFS)、共享网际文件***(common internet file system,CIFS)、AppleTalk等等。如具有通常知识者可理解的,图1A所示的范例性***100是用于解释的目的。因此,网络***可以适当地以多种变型来实现,但仍然根据本公开的各种范例提供网络平台的配置。
在图1A的范例配置中,范例性***10A还可以包括一个或多个无线组件,可操作来与特定无线通道的运算范围内的一个或多个电子装置进行通信。无线信道可以是用于使装置能够无线通信的任何适当的通道,例如蓝牙(Bluetooth)、蜂巢式(cellular)、NFC、或Wi-Fi通道。可以理解的是,此装置可以具有一个或多个传统的有线通信连接,如本技艺中所知悉者。在各种范例的范围内,各种其他组件和/或组合也是可能的。
以上讨论意在说明本公开的原理和各种范例。一旦完全理解了上述揭露内容,许多变化和修改将变得显而易见。
图2是根据本公开实施方式的用于自动配置多机箱***中的多个机箱链路的范例性方法。应当理解的是,范例性方法200仅出于说明的目的而呈现,并且在根据本公开的其他方法中可以包括以相似或替代的顺序或并行执行的额外的、更少的或替代的步骤。范例性方法200起始于步骤202,经由从多机箱***中的多个服务器***和多个交换机请求交换机端口数据,如图1A及1B所示。多机箱***的管理控制器可以使用多种协议来请求交换机端口资料,协议包括但不限于RSD API、NETCONF、RESTCONF、和其他专有网络通信方法。多个交换机包括第一交换机和第二交换机。
在步骤204,管理控制器可以接收来自多个服务器***和多个交换机的交换机端口数据,如图1A-1J所示。交换机端口数据包括多个端口ID(识别)、多个节点ID、用于内部端口的多个MAC地址、以及用于邻居端口的多个邻居端口MAC地址。
在步骤206,管理控制器可以决定多个匹配端口和多个匹配节点,如图1F和1G所示。多个匹配端口中的每一个匹配端口具有的端口地址匹配于其中一个邻居端口地址。多个匹配节点中的每一个匹配节点对应于其中一个匹配端口。
在步骤208,管理控制器可以决定第一交换机和第二交换机的对等链路端口,如图1H所示。对等链路端口是多个匹配端口的子集合。每个对等链路端口属于第一交换机和第二交换机的其中一个,并且对应于多个匹配节点中的一个匹配节点。此匹配节点是第一交换机及第二交换机的其中另一个。
在步骤210,管理控制器可基于交换机端口数据和一个或多个预定准则,将第一交换机和第二交换机的多个端口组成多个端口群组,如图1I所示。一个或多个预定准则包括:(1)多个端口群组中的每个端口具有至少一个邻居端口地址;(2)多个端口群组的每个端口群组中的端口在多个匹配节点中具有相同的对应匹配节点;(3)多个端口群组中的每个端口对应的多个匹配节点中的匹配节点既不是第一交换机也不是第二交换机。
在步骤212,管理控制器可以决定多个端口群组中的端口群组是否具有属于第一交换机的至少一个端口以及属于第二交换机的至少一个端口,如图1J所示。在步骤214,管理控制器可以从多个端口群组中选择第一子集合端口群组,如图1J所示。第一子集合端口群组中的端口群组具有属于第一交换机的至少一个端口和属于第二交换机的至少另一个端口。管理控制器可更针对第一子集合端口群组的端口群组,将端口群组中的所有端口配置为的MC-LAG成员端口。
在步骤216,管理控制器可以忽略不在第一子集合端口群组中的多个端口群组的端口群组,如图1J所示。范例性方法200可以在多机箱***的拓扑改变的情况下动态地重复。
***和网络的范例,简要介绍性描述是绘示于图3-5,并揭露于此。这些变化形式将以各种所述范例于此说明。本公开的说明现在请参照图3。
图3绘示适用于实现本公开的范例计算机装置300。计算机装置300包括主CPU362、界面368、及总线315(例如:PCI总线)。当在适当的软件或固件的控制下进行操作时,CPU362负责执行分组管理、错误检测、及/或路由功能,例如错误布线(miscabling)检测功能。CPU 362较佳是在软件的控制下完成所有这些功能,包括操作***和任何适当的应用软件。CPU 362可以包括一个或多个处理器363,例如来自摩托罗拉(Mortorola)微处理器是列的处理器、或者MIPS微处理器是列。在一个替代例子中,处理器363是用于控制计算机装置300的操作的专门设计硬件。在一个具体例子中,内存361(例如NVRAM及/或ROM)也构成CPU 362的一部分。然而,有很多不同的方式可以将内存耦接到***。
界面368通常被提供为适配卡(有时被称为“线路(line)卡”)。一般来说,它们通过网络控制数据分组的发送和接收,并且有时支持与计算机装置300一起使用的其他周边装置。可以提供的接口包括以太网络(Ethernet)接口、帧中继(frame relay)接口、电缆接口、DSL接口、信标环(token ring)接口、及类似物。此外,还可以提供各种高速接口,例如快速讯标环接口、无线接口、以太网络接口、千兆(Gigabit)以太网络接口、ATM接口、HSSI接口、POS接口、FDDI接口、及类似物。一般而言,这些接口可以包括适合以适当媒介进行通信的端口。在一些情况下,它们也可以包含一个独立的处理器,在一些情况下还包括易失性RAM。独立处理器可以控制通信密集型(intensive)任务,例如分组交换、媒介控制、和管理。经由为通信密集型任务提供单独的处理器,这些接口允许主微处理器362有效地执行路由运算、网络诊断、安全功能等。
虽然图3中所示的***是本公开的一个具体的计算机装置,但不是本专利申请可以实现的唯一的网络装置架构。例如,单处理器的架构也经常被使用,此架构处理通信以及路由运算等。再者,也可伴随路由器使用其他类型的接口和媒介。
不管网络装置的配置,其可以采用一个或多个内存或内存模块(包括内存361),被配置为储存程序指令以用于一般用途网络运作及漫游(roam)机制、路由优化、及路由功能,如此处所述。例如,程序指令可以控制操作***及/或一个或多个应用的操作。此内存或多个内存也可以配置为储存表格,例如移动链接(mobility binding)、注册、及关联的表格等。
图4及5绘示范例***实施例。当实施本公开时,更合适的实施方式对于具有通常知识者而言将是显而易见的。本领域技术人员也将容易理解,其他***实施例也是可能的。
图4绘示***400的总线计算机***架构,其中***的组件使用总线402彼此电性通信。范例***400包括处理单元(CPU或处理器)430,以及***总线402,总线402将各种***组件,包括例如ROM 406和RAM 408的***内存404耦接至处理器430。***400可以包括高速内存的高速缓存,直接连接至处理器430、或邻近于处理器430、或整合成为处理器430的一部分。***400可以将来自内存404及/或储存装置412的数据复制到高速缓存428,以供处理器430快速存取。以此方式,高速缓存可以提供性能提升,而避免处理器430在等待数据时延迟。这些和其他模块可以控制或被配置以控制处理器430执行各种动作。其他***内存404也可用于使用。内存404可以包括具有不同性能特征的多种不同类型之内存。处理器430可以包括:任何一般用途处理器和硬件模块或软件模块,例如储存在储存装置412中被配置为控制处理器430的模块1 414、模块2 416、模块3 418;以及特定用途处理器,其中软件指令被纳入到实际的处理器设计中。处理器430实质上可以是完全自包含(self-contained)的计算机***,包含多个核心或处理器、总线、内存控制器、高速缓存等。多核心处理器可以是对称的或不对称的。
为了让用户能够与计算机装置400进行互动,输入装置420可以表示任意数量的输入机制,例如用于语音的麦克风、用于手势或图形输入的触碰感应屏幕、键盘、鼠标、动作输入、等等。输出装置422也可以是本领域具有通常知识者已知的多个输出机制中的一个或多个。在一些情况下,多模式(multimodal)***可以让用户能够提供多种类型的输入以与***400进行通信。通信接口424一般可以支配并管理用户输入和***输出。在任何特定的硬件配置上运作没有限制,因此这里的基本特征可以很容易地由正在开发的改良硬件或固件配置所替代。
储存装置412是非易失性内存,并且可以是硬盘或可以储存可由计算机存取数据的其他类型的计算机可读取介质,例如磁卡带(magnetic cassettes)、快闪记忆卡、固态内存装置、数字多功能碟(digital versatile disk,DVD)、卡匣(cartridge)、RAM 408、ROM406、及其混合。
储存装置412可以包括用于控制处理器430的软件模块414、416、及418。其他硬件或软件模块可以被想得到。储存装置412可以连接到***总线402。在一个方面中,执行特定功能的硬件模块可以包括储存在计算机可读取介质中的软件组件,连同必要的硬件组件,例如处理器430、总线402、显示器436等,来实行功能。
控制器410可以是***400上的专用微控制器或处理器,例如BMC。在一些情况下,控制器410可以是IPMI的一部分。而且,在一些情况下,控制器410可以被嵌入在***400的主板或主电路板上。控制器410可以管理***管理软件和平台硬件之间的接口。控制器410也可以与各种***装置和组件(内部及/或外部)通信,例如控制器或周边组件,将进一步描述如下。
控制器410可以产生通知、警报、及/或事件的特定响应,并与远程装置或组件(例如:电子邮件信息,网络信息等)通信,以产生用于自动硬件还原程序的指令或命令等。管理员也可以与控制器410远程通信以初始化或施行特定的硬件复原程序或操作,将进一步描述如下。
***400上的不同类型的传感器(例如:传感器426)可以将参数报告至控制器410,例如冷却风扇速度、功率状态、OS状态、硬件状态等。控制器410也可以包括***事件日志控制器及/或储存器以管理和维护控制器410所接收的事件、警报和通知。例如,控制器410或***事件日志控制器可以从一个或更多装置和组件接收警报或通知,并维护***事件日志储存组件中的警报或通知。
闪存432可以是电子非易失性计算机储存介质或芯片,可由***400用于储存及/或数据传输。闪存432可以被电性擦除(erase)及/或重新编程(program)。例如,闪存432可以包括可抹除式可复写只读存储器(erasable programmable read-only memory,EPROM)、EEPROM、ROM、NVRAM、或互补式金属氧化物半导体(complementary metal-oxidesemiconductor,CMOS)。闪存432可以储存当***400首次通电时由***400执行的固件434,以及为固件434指定的一组配置。闪存432也可以储存由固件434使用的配置。
固件434可以包括BIOS或其后继或均等物,例如可扩充固件接口(ExtensibleFirmware Interface,EFI)或统一可扩充固件接口(Unified Extensible FirmwareInterface,UEFI)。每当***400启动时,固件434可以加载并执行而作为序列(sequence)程序。固件434可以基于此组配置来识别、初始化、和测试***400中存在的硬件。固件434可以在***400上执行例如POST的自检。自检可以测试各种硬件组件的功能,例如硬盘驱动器、光学读取装置、散热装置、记忆模块、扩充卡、及类似物。固件434可以寻址和分配内存404、ROM 406、RAM 408、及/或储存装置412中的区域,以储存OS。固件434可以加载开机加载器(boot loader)及/或OS,并将***400的控制权交给OS。
***400的固件434可以包括固件配置,其定义固件434如何控制***400中的各种硬件组件。固件配置可以决定***400中的各种硬件组件的启动顺序。固件434可以提供例如UEFI的接口以允许各种不同的参数可被设置,所述参数可以与固件默认配置中的参数不同。例如,用户(例如管理员)可以使用固件434来指定时钟和总线速度;定义附接(attach)到***400的周边;设置健康监测(例如,风扇速度和CPU温度限制);及/或提供影响***400的整体性能和功率使用的各种其他参数。
虽然固件434被绘示为储存在闪存432中,但是本领域技术人员将容易知道固件434可以储存在其他内存组件(例如内存404或ROM 406)。然而,为了解释的目的,固件是绘示为储存在闪存432中作为非限制性范例。
***400可以包括一个或多个传感器426。一个或多个传感器426可以包括例如一个或多个温度传感器、热体(thermal)传感器、氧传感器、化学传感器、噪音传感器、热能(heat)传感器、电流传感器、电压检测器、气流传感器、流量传感器、红外温度计、热通量传感器、温度计、高温计等。一个或多个传感器426可以与处理器、高速缓存428、闪存432、通信接口424、内存404、ROM 406、RAM 408,控制器410、及储存装置412,例如经由总线402进行通信。一个或多个传感器426也可以经由一个或多个不同手段与***中的其他组件进行通信,例如经由I2C、通用输出(general purpose output,GPO)及类似物。
图5绘示具有芯片组架构的范例计算机***500的示意图,可用于执行所述方法或操作,以及产生和显示图形用户界面(graphical user interface,GUI)。计算机***500可以包括可被用来实现所公开的技术的计算机硬件、软件和固件。***500可以包括处理器510,处理器510代表能够执行软件、固件和硬件的任何数量的物理及/或逻辑上不同的资源,被配置以进行所识别的运算。处理器510可以与芯片组502通信,芯片组502可以控制送至处理器510的输入及来自处理器510的输出。在此范例中,芯片组502将信息输出到输出装置514,例如显示器,并且可以读取和写入信息到储存装置516,例如包括磁媒介和固态媒介。芯片组502也可以从RAM 518中读取数据并将数据写入到RAM 518中。网桥504用于与各种用户接口组件506接合(interface),可被提供以与芯片组502接合。这种用户接口组件506可以包括键盘、麦克风、触碰检测和处理电路、指向装置(例如鼠标)等等。一般而言,***500的输入可以来自机器产生及/或人工产生的各种来源中的任何一个。
芯片组502也可以与可具有不同物理接口的一个或多个通信接口508接合。这种通信接口可以包括用于有线和无线局域网络、用于宽带无线网络、和用于个人局域网络的接口。用于产生、显示和使用GUI的此公开方法的一些应用,可以包括通过物理接口接收有序数据集(ordered dataset)、或者由处理器510通过分析储存在内存516或518中的数据而由机器本身产生。再者,机器可以通过用户接口组件506接收来自用户的输入并执行适当的功能,例如通过使用处理器510解译这些输入的浏览功能。
再者,芯片组502也可以与固件512通信,固件512可以在通电时由计算机***500执行。固件512可以基于一组固件配置来识别、初始化、和测试存在于计算机***500中的硬件。固件512可以在***500上执行自检(例如POST)。自检可以测试各种硬件组件502-518的功能。固件512可以寻址并分配内存518中的区域以储存OS。固件512可以加载开机加载器及/或OS,并将***500的控制权交给OS。在一些情况下,固件512可以与硬件组件502-510和514-518通信。于此,固件512可以通过芯片组502与硬件组件502-510和514-518通信,及/或通过一个或多个其他组件与硬件组件502-510和514-518通信。在一些情况下,固件512可以直接与硬件组件502-510和514-518通信。
可以理解的是,范例***300、400和500可以具有多于一个的处理器(例如363、430、510),或者可以是一组或一群(cluster)连网在一起的计算机装置的其中一部分,以提供更强的处理能力。
为了清楚说明,在一些情况下,本公开可以被呈现为包括功能方块,包括装置、装置组件、在软件或硬件和软件的组合所实施的方法中的步骤或流程。
在一些实施例中,计算机可读取储存装置、介质和内存可以包括有线或无线信号,包含比特流及类似物。然而,如上所述,非易失性计算机可读取储存介质本身明确排除例如能量、载波信号、电磁波、及信号的媒介。
根据上述范例的方法可以使用从计算机可读取介质储存或以其他方式获得的计算机可执行指令来实现。这样的指令可以包括指令和数据以例如使得通用计算机、专用计算机、或专用处理装置进行某一功能或某一组功能。所使用的计算机资源的部分可以通过网络而存取的。计算机可执行指令可以是例如二位和中间(intermediate)格式指令,例如汇编语言、固件、或源代码。可以用来储存在根据所描述的范例方法期间的指令、所使用的信息、及/或所创建的信息的计算机可读取介质的范例,包括磁盘或光盘、闪存、提供有非易失性内存的USB装置、网络储存装置等等。
实现根据这些揭露方法的装置可以包括硬件、固件、及/或软件,并且可以采取各种形式因素中的任何一种。这种形式因素的典型例子包括膝上型计算机、智能手机、小型形式因素个人计算机、个人数字助理、机架安装装置、独立(standalone)装置等等。所述功能也可以实施在周边装置或附加(add-in)卡中。举例来说,这样的功能也可以在不同的芯片中的电路板上被实现,或者在单个装置所执行的不同过程而被实现。
指令、用于传递此类指令的媒介、执行其的运算资源、及用于支持此种运算资源的其他结构,是用于提供于此所述的功能的手段(mean)。
多种范例也可更被实现在范泛形式的操作环境,其中操作环境在一些情况下可以包括可以用于操作多个应用中的任何应用的一个或多个服务器计算机、用户计算机、或运算装置。用户或客户装置可以包括许多通用个人计算机的任何一个,例如操作标准OS的桌上型或膝上型计算机,以及操作移动软件的蜂巢式、无线、和手持式装置,并且能够支持多种网络和信息协议。这样的***也可以包括多个工作站以操作各种商业上可取得的多种OS中的任何一个,以及用于例如开发和数据库管理的其他已知应用。这些装置也可以包括其他电子装置,例如虚拟(dummy)终端、精简型客户(thin-client)、游戏***、以及能够通过网络进行通信的其他装置。
就范例或其部分是以硬件实现而言,本公开可使用以下技术中的任一者或其组合来实现:离散逻辑电路,具有逻辑门以用于实现逻辑功能于数据信号上;专用集成电路(application specific integrated circuit,ASIC),具有适当的组合逻辑门;可编程硬件,例如可编程门阵列(programmable gate array,PGA);场可编程门阵列(fieldprogrammable gate array,FPGA)等等。
大多数范例利用本领域具有通常知识者所熟悉的至少一个网络来支持使用例如TCP/IP、OSI、FTP、UPnP、NFS、CIFS、AppleTalk等各种商业可取得的协议中的任何协议来进行通信。网络可以是例如局域网络、广域网、虚拟专用网、因特网、内部网络、外部网络、公共交换电话网络、红外网络、无线网络、及其任何组合。
根据上述范例的方法可以使用从计算机可读取介质储存或以其他方式获得的计算机可执行指令来实现。这样的指令可以包括指令和数据以例如使得通用计算机、专用计算机、或专用处理装置、以进行某一功能或某一组功能。所使用的计算机资源的部分可以通过网络而存取的。计算机可执行指令可以是例如二位和中间格式指令,例如汇编语言、固件、或源代码。可以用来储存在根据所描述的范例方法期间的指令、所使用的信息、及/或所创建的信息的计算机可读取介质的范例,包括磁盘或光盘、闪存、提供有非易失性内存的USB装置、网络储存装置等等。
实现根据这些公开方法的装置可以包括硬件、固件、及/或软件,并且可以采取各种形式因素中的任何一种。这种形式因素的典型例子包括膝上型计算机、智能手机、小型形式因素个人计算机、个人数字助理、机架安装装置、独立装置等等。所述功能也可以实施在周边装置或附加卡中。举例来说,这样的功能也可以在不同的芯片中的电路板上被实现,或者在单个装置所执行的不同过程而被实现。
在利用Web服务器的范例中,Web服务器可以运作任何种类的服务器或中间层(mid-tier)应用程序,包括HTTP服务器、FTP服务器、CGI服务器、数据服务器、Java服务器和商业应用服务器。响应于来自用户装置的请求,Web服务器也能够执行程序或脚本文件(script)。例如,Web服务器可以执行一个或多个Web应用,其可以被实现为以任何编程语言编写之一个或多个脚本文件或程序,例如C、C#、或C++、或任何脚本文件语言,例如Perl、Python、或TCL,及其组合。Web服务器也可以涵盖数据库服务器,包括在公开市场上可取得的数据库服务器。
服务器***可以包括多种数据储存和其他内存与储存介质,如上所述。此些可以驻留在各种位置,例如在一个或多个本地(及/或驻留)的储存介质上、或远程网络上的任一或所有计算机。在特定之一组范例中,信息可以驻留在本领域技术人员所知悉的储存局域网络(storage-area network,SAN)中。相仿地,用于执行归属于计算机、服务器或其他网络装置的功能所需的任何必要文件,可以适当地在本地及/或远程储存。在包括计算机化装置的***的情况下,每个此种装置可以包括可经由总线电性耦接的硬件组件,此些组件包括例如至少一个CPU,至少一个输入装置(例如鼠标、键盘、控制器、触碰感应显示器组件、或小键盘)以及至少一个输出装置(例如显示设备、打印机、或扬声器)。这样的***还可包括一个或多个储存装置,例如磁盘驱动器、光储存装置、及固态储存装置例如RAM或ROM,以及可卸除介质装置、记忆卡、闪存卡等。
此种装置也可以包括计算机可读取储存介质读取器、通信装置(例如:调制解调器、无线或有线网卡、红外计算机装置)、和工作内存,如上所述。计算机可读取储存介质读取器可连接至或被配置为接收远程的、本地的、固定的、及/或可卸除的储存装置的计算机可读取储存介质、以及储存介质,以暂时地及/或更永久地包含、储存、传送、及获取计算机可读取信息。***和各种装置典型地也将包括位于至少一个工作内存装置(包括操作***)内的多个软件应用、模块、服务、或其他组件,以及例如客户端应用或Web浏览器的应用程序。应该理解的是,替代范例可以具有与上面所描述者不同的多种变化方式。例如,也可以使用客制化硬件及/或可以在硬件、软件(包括便携式软件,例如小型应用程序(applet))或两者中实现特定的组件。再者,与其他计算机装置(例如网络输入/输出装置)的连接也可被采用。
用于包含代码或部分代码的储存介质和计算机可读取介质,可包括本领域具有通常知识者所知悉或使用的任何适当的介质,包括储存介质和计算机介质。储存介质及计算机介质可以包括但不限于用于储存和/或传送数据或信息的易失性及非易失性、可卸除及不可卸除的介质。可卸除及不可卸除介质包括RAM、ROM、EPROM、EEPROM、闪存或其他储存技术、CD-ROM、DVD或其他光储存、磁卡带、磁带(tape)、磁盘储存或其他磁性储存装置或任何可用于储存所需信息并可由***装置存取的其他介质。数据或信息可以包括计算机可读取指令、数据结构、程序模块或其他数据。基于此处所提供的技术和教导,本领域具有通常知识者将认识到能有其他方式和/或方法以实现本公开的各种方面。
综上所述,虽然本发明已以实施例揭露如上,然其既不是用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视后附的权利要求所界定者为准。
【符号说明】
【1】
4a、4b、4c、4d:程序
10A:多机箱***
100、102、104、106:服务器***
108:管理控制器
202~216:流程步骤
210、220、310、320:交换机
300:计算机装置
315、402:总线
361、404:内存
362:CPU
363、510:处理器
368:界面
400、500:计算机***
406:ROM
408、518:RAM
410:控制器
412:储存装置
414:模块1
416:模块2
418:模块3
420:输入装置
422、514:输出装置
424、508:通信接口
426:传感器
428:高速缓存
430:处理器
432:闪存
434:固件
436:显示器
502:芯片组
504:网桥
506:用户接口组件
512:固件
516:储存装置

Claims (10)

1.一种计算机实施方法,用于使用管理控制器以于一多机箱***自动配置多机箱链路,包括:
从该多机箱***的多个服务器***及多个交换机,请求一交换机端口数据;
接收该交换机端口数据,该交换机端口数据包括多个服务器***和多个交换机的多个内部端口地址和多个邻居端口地址;
决定多个匹配端口及多个匹配节点,其中各该匹配端口具有一个端口地址,匹配于所述邻居端口地址中的其中之一,且其中各该匹配节点对应于所述匹配端口的其中之一;以及
决定该多个交换机中的一第一交换机及一第二交换机的多个对等链路端口,其中所述对等链路端口是该多个匹配端口的一子集合,且其中所述对等链路端口中的各该对等链路端口属于该第一交换机及该第二交换机其中之一者,且对应于该多个匹配节点中为该第一交换机及该第二交换机的另一者的匹配节点。
2.如权利要求1所述的计算机实施方法,还包括:
基于该交换机端口数据及一个或多个预定准则,将该第一交换机及该第二交换机的多个端口分组为多个端口群组;
决定一第一子集合端口群组,该第一子集合端口群组中的一端口群组具有属于该第一交换机的至少一个端口,以及属于该第二交换机的至少另一个端口;及
将该第一子集合端口群组的各端口群组中的所有端口,配置为一相同成员端口;
其中该相同成员端口是多机箱链路聚合群组成员端口,其中该一个或多个预定准则包括:该多个端口群组中的各端口具有至少一邻居端口地址;该多个端口群组的各端口群组中的多个端口具有该多个匹配节点中相同的对应匹配节点;及该多个端口群组中的各端口对应于该多个匹配节点中的既不是该第一交换机也不是该第二交换机的匹配节点。
3.如权利要求1所述的计算机实施方法,其中决定该多个匹配端口及该多个匹配节点还包括:
通过该第一交换机及该第二交换机的各端口的所述邻居端口地址;
若一特定端口的地址匹配该第一交换机及该第二交换机的所述邻居端口地址中的任一者,将该特定端口分组于该多个匹配端口之中;及
将包含该特定端口的一对应的节点分组于该多个匹配节点之中。
4.如权利要求1所述的计算机实施方法,其中该多机箱***是兼容于IEEE 802.1AXTM-2008标准;
其中该多个服务器***及该多个交换机被配置以在使用链路层开发协议或思科公司开发协议的一网络上,发布对应的身份、容量、及邻居;
其中该管理控制器可以是一特定***、一基板管理控制器、或能配置MC-LAG网络交换机的多机箱***中的一机架管理控制器。
5.一种用以于一多机箱***自动配置多机箱链路的***,包括:
一处理器;以及
一计算机可读取介质,储存多个指令,当所述指令被该处理器执行时,使得该***进行多个操作,所述操作包括:
从该多机箱***的多个服务器***及多个交换机,请求一交换机端口数据;
接收该交换机端口数据,该交换机端口数据包括对应至多个服务器***和多个交换机的多个内部端口地址和多个邻居端口地址;
决定多个匹配端口及多个匹配节点,其中各该匹配端口具有一个端口地址,匹配于所述邻居端口地址中的其中之一,且其中各该匹配节点对应于所述匹配端口的其中之一;及
决定该多个交换机中的一第一交换机及一第二交换机的多个对等链路端口,其中所述对等链路端口是该多个匹配端口的一子集合,且所述对等链路端口中的各该对等链路端口属于该第一交换机及该第二交换机其中之一者,且对应于该多个匹配节点中为该第一交换机及该第二交换机的另一者的匹配节点。
6.如权利要求5所述的***,当所述指令被该处理器执行时,使得该***执行的操作还包括:
基于该交换机端口数据及一个或多个预定准则,将该第一交换机及该第二交换机的多个端口分组为多个端口群组;
决定一第一子集合端口群组,该第一子集合端口群组中的一端口群组具有属于该第一交换机的至少一个端口,以及属于该第二交换机的至少另一个端口;及
将该第一子集合端口群组的各端口群组中的所有端口,配置为一相同成员端口;
其中该相同成员端口是MC-LAG成员端口;
其中该一个或多个预定准则包括:该多个端口群组中的各端口具有至少一邻居端口地址;该多个端口群组的各端口群组中的多个端口具有该多个匹配节点中相同的对应匹配节点;及该多个端口群组中的各端口对应于该多个匹配节点中的既不是该第一交换机也不是该第二交换机的匹配节点。
7.如权利要求5所述的***,其中决定该多个匹配端口及该多个匹配节点的操作还包括:
通过该第一交换机及该第二交换机的各端口的所述邻居端口地址;
若一特定端口的地址匹配该第一交换机及该第二交换机的所述邻居端口地址中的任一者,将该特定端口分组于该多个匹配端口之中;
将包含该特定端口的一对应的节点分组于该多个匹配节点之中。
8.如权利要求5所述的***,其中该多个服务器***及该多个交换机被配置以在使用LLDP或CDP的一网络上,发布对应的身份、容量、及邻居。
9.一种非易失性计算机可读取储存介质,储存多个指令,当所述指令被一***的至少一处理器执行时,使得该***进行多个操作,所述操作包括:
从该多机箱***的多个服务器***及多个交换机,请求一交换机端口数据;
接收该交换机端口数据,该交换机端口数据包括多个服务器***和多个交换机的多个内部端口地址和多个邻居端口地址;
决定多个匹配端口及多个匹配节点,其中各该匹配端口具有一个端口地址,匹配于所述邻居端口地址中的其中之一,且其中各该匹配节点对应于所述匹配端口的其中之一;及
决定该多个交换机中的一第一交换机及一第二交换机的多个对等链路端口,其中所述对等链路端口是该多个匹配端口之一子集合,且所述对等链路端口中的各该对等链路端口属于该第一交换机及该第二交换机其中之一者,且对应于该多个匹配节点中为该第一交换机及该第二交换机的另一者的匹配节点。
10.如权利要求9所述的非易失性计算机可读取储存介质,当所述指令被执行时,使得该***执行的操作还包括:
基于该交换机端口数据及一个或多个预定准则,将该第一交换机及该第二交换机的多个端口分组为多个端口群组;
决定一第一子集合端口群组,该第一子集合端口群组中的一端口群组具有属于该第一交换机的至少一个端口,以及属于该第二交换机的至少另一个端口;及
将该第一子集合端口群组的各端口群组中的所有端口,配置为一相同成员端口;
其中该一个或多个预定准则包括:该多个端口群组中的各端口具有至少一邻居端口地址;该多个端口群组的各端口群组中的多个端口具有该多个匹配节点中相同的对应匹配节点;及该多个端口群组中的各端口对应于该多个匹配节点中的既不是该第一交换机也不是该第二交换机的匹配节点。
CN201810258720.6A 2017-06-19 2018-03-27 配置多机箱链路的方法与***及其储存介质 Active CN109150579B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762521808P 2017-06-19 2017-06-19
US62/521,808 2017-06-19
US15/787,353 US10581688B2 (en) 2017-06-19 2017-10-18 Methods for automatically configuring multiple chassis link aggregation group (MC-LAG)
US15/787,353 2017-10-18

Publications (2)

Publication Number Publication Date
CN109150579A true CN109150579A (zh) 2019-01-04
CN109150579B CN109150579B (zh) 2021-06-29

Family

ID=61911354

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810258720.6A Active CN109150579B (zh) 2017-06-19 2018-03-27 配置多机箱链路的方法与***及其储存介质

Country Status (5)

Country Link
US (1) US10581688B2 (zh)
EP (1) EP3419227B1 (zh)
JP (1) JP6519092B2 (zh)
CN (1) CN109150579B (zh)
TW (1) TWI679542B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113141265A (zh) * 2020-01-16 2021-07-20 华为技术有限公司 跨设备链路聚合方法及设备
CN114564240A (zh) * 2022-02-25 2022-05-31 苏州浪潮智能科技有限公司 一种服务器启动方法、***、计算机设备和存储介质

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190132261A1 (en) * 2017-11-02 2019-05-02 Ciena Corporation Link locking in ethernet networks
CN111865837B (zh) * 2018-04-03 2024-04-12 华为技术有限公司 数据通信***和方法
US11438279B2 (en) * 2018-07-23 2022-09-06 Pure Storage, Inc. Non-disruptive conversion of a clustered service from single-chassis to multi-chassis
CN109981353B (zh) * 2019-03-06 2022-05-24 北京全路通信信号研究设计院集团有限公司 一种机框式网络通信设备中的邻站冗余保护方法及***
TWI704463B (zh) * 2019-03-29 2020-09-11 英業達股份有限公司 伺服器系統與管理方法
CN113572695B (zh) * 2020-04-28 2023-11-14 ***通信集团浙江有限公司 链路聚合方法、装置、计算设备及计算机存储介质
US11652753B2 (en) 2020-07-29 2023-05-16 Hewlett Packard Enterprise Development Lp Link aggregation group optimization
US11546184B2 (en) 2021-04-27 2023-01-03 Hewlett Packard Enterprise Development Lp Selecting a rendezvous point in an IP multicast-capable network
CN116346750A (zh) * 2021-12-23 2023-06-27 戴尔产品有限公司 网络拓扑规划和验证

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070005968A1 (en) * 2005-06-30 2007-01-04 Infinera Corporation Multi-chassis interconnect
US20090003336A1 (en) * 2007-06-29 2009-01-01 World Wide Packets, Inc. Determining a Logical Neighbor of a Network Element
US20120033665A1 (en) * 2010-08-04 2012-02-09 Alcatel-Lucent Usa Inc. System and method for multi-chassis link aggregation
US20120033678A1 (en) * 2010-08-04 2012-02-09 Alcatel-Lucent Usa Inc. Multi-chassis inter-process communication
US20130315097A1 (en) * 2012-05-22 2013-11-28 Brocade Communications Systems, Inc. Client auto-configuration in a multi-switch link aggregation
JP2016058835A (ja) * 2014-09-08 2016-04-21 日立金属株式会社 中継システムおよびスイッチ装置
JP2016158224A (ja) * 2015-02-26 2016-09-01 日本電気株式会社 通信システム、コントローラ、通信方法、および、プログラム
US20160294632A1 (en) * 2015-04-02 2016-10-06 FixStream Networks, Inc. Using spanning tree protocol to determine a layer 2 topology of an ethernet type network
CN106330547A (zh) * 2016-08-26 2017-01-11 浙江宇视科技有限公司 一种冗余链路数据包转发的方法及装置
JP2017050708A (ja) * 2015-09-02 2017-03-09 日本電気株式会社 通信システム、制御装置、スイッチ、通信方法及びプログラム
US20170099215A1 (en) * 2014-03-31 2017-04-06 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Link aggregation group (lag) support on a software-defined network (sdn)
CN106713178A (zh) * 2016-12-16 2017-05-24 无锡华云数据技术服务有限公司 一种云平台交换机端口聚合的配置方法
US20170163473A1 (en) * 2015-12-04 2017-06-08 Arista Networks, Inc. Link aggregation split-brain detection and recovery

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8761005B2 (en) * 2011-04-26 2014-06-24 Dell Products L.P. Multi-chassis link aggregation on network devices
US8547825B2 (en) * 2011-07-07 2013-10-01 International Business Machines Corporation Switch fabric management
US9749173B2 (en) * 2012-09-11 2017-08-29 Ciena Corporation Systems and methods for synchronizing forwarding databases across multiple interconnected layer-2 switches
US9660901B2 (en) * 2012-11-14 2017-05-23 Dell Products L.P. Systems and methods for forming and using a group of link aggregation groups to reduce traffic on interconnect links
US9369375B2 (en) * 2013-12-10 2016-06-14 Red Hat, Inc. Link-layer level link aggregation autoconfiguration
US9584397B2 (en) * 2013-12-27 2017-02-28 Dell Products L.P. Routing in spine-leaf networking systems
US20160301575A1 (en) * 2015-04-07 2016-10-13 Quanta Computer Inc. Set up and verification of cabling connections in a network
TWM522521U (zh) * 2016-01-13 2016-05-21 李廷鑫 區域電話網路系統之控制裝置

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070005968A1 (en) * 2005-06-30 2007-01-04 Infinera Corporation Multi-chassis interconnect
US20090003336A1 (en) * 2007-06-29 2009-01-01 World Wide Packets, Inc. Determining a Logical Neighbor of a Network Element
US20120033665A1 (en) * 2010-08-04 2012-02-09 Alcatel-Lucent Usa Inc. System and method for multi-chassis link aggregation
US20120033678A1 (en) * 2010-08-04 2012-02-09 Alcatel-Lucent Usa Inc. Multi-chassis inter-process communication
US8767735B2 (en) * 2010-08-04 2014-07-01 Alcatel Lucent System and method for multi-chassis link aggregation
US20130315097A1 (en) * 2012-05-22 2013-11-28 Brocade Communications Systems, Inc. Client auto-configuration in a multi-switch link aggregation
US20170099215A1 (en) * 2014-03-31 2017-04-06 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Link aggregation group (lag) support on a software-defined network (sdn)
JP2016058835A (ja) * 2014-09-08 2016-04-21 日立金属株式会社 中継システムおよびスイッチ装置
JP2016158224A (ja) * 2015-02-26 2016-09-01 日本電気株式会社 通信システム、コントローラ、通信方法、および、プログラム
US20160294632A1 (en) * 2015-04-02 2016-10-06 FixStream Networks, Inc. Using spanning tree protocol to determine a layer 2 topology of an ethernet type network
JP2017050708A (ja) * 2015-09-02 2017-03-09 日本電気株式会社 通信システム、制御装置、スイッチ、通信方法及びプログラム
US20170163473A1 (en) * 2015-12-04 2017-06-08 Arista Networks, Inc. Link aggregation split-brain detection and recovery
CN106330547A (zh) * 2016-08-26 2017-01-11 浙江宇视科技有限公司 一种冗余链路数据包转发的方法及装置
CN106713178A (zh) * 2016-12-16 2017-05-24 无锡华云数据技术服务有限公司 一种云平台交换机端口聚合的配置方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113141265A (zh) * 2020-01-16 2021-07-20 华为技术有限公司 跨设备链路聚合方法及设备
WO2021143213A1 (zh) * 2020-01-16 2021-07-22 华为技术有限公司 跨设备链路聚合方法及设备
CN113141265B (zh) * 2020-01-16 2023-12-08 华为技术有限公司 跨设备链路聚合方法及设备
US11991068B2 (en) 2020-01-16 2024-05-21 Huawei Technologies Co., Ltd. Multichassis link aggregation method and device
CN114564240A (zh) * 2022-02-25 2022-05-31 苏州浪潮智能科技有限公司 一种服务器启动方法、***、计算机设备和存储介质
CN114564240B (zh) * 2022-02-25 2024-02-27 苏州浪潮智能科技有限公司 一种服务器启动方法、***、计算机设备和存储介质

Also Published As

Publication number Publication date
JP6519092B2 (ja) 2019-05-29
US10581688B2 (en) 2020-03-03
TW201905727A (zh) 2019-02-01
TWI679542B (zh) 2019-12-11
CN109150579B (zh) 2021-06-29
EP3419227A1 (en) 2018-12-26
US20180367408A1 (en) 2018-12-20
JP2019004450A (ja) 2019-01-10
EP3419227B1 (en) 2020-02-26

Similar Documents

Publication Publication Date Title
CN109150579A (zh) 配置多机箱链路的方法与***及其储存介质
CN108228209B (zh) 自动更新服务器***的元件的固件的***、方法和介质
JP6532142B2 (ja) サーバシステムにおける最大ファンデューティの動的調整
CN107170474B (zh) 可扩展存储盒、计算机实施方法以及计算机可读存储装置
US10592232B2 (en) Preserving firmware setting during firmware update
CN108509210A (zh) 自动更新基本输入输出***的***与方法
CN110032462A (zh) 远端***恢复的方法
CN109388213A (zh) 服务器***、计算机实施方法及非暂态计算机可读介质
US10425287B2 (en) Systems and methods for network topology discovery
TW201833714A (zh) 用於動態優化伺服器系統之操作頻率之電腦實施方法以及系統
CN110147148A (zh) 冷却风扇模块控制方法、服务器***及计算机存储介质
JP6787542B2 (ja) ネットワーク属性による構成
CN109560957B (zh) 决定网络接口卡操作速度的方法及端口扇出配置***
CN108334421A (zh) 使用wol的***恢复
CN104572172B (zh) 加载无盘计算节点的操作***的方法和装置
JP2019036943A (ja) 高可用性ストレージプール構成機構

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant