CN112235122B - 用于网络设备的软件图像的自动选择 - Google Patents

用于网络设备的软件图像的自动选择 Download PDF

Info

Publication number
CN112235122B
CN112235122B CN201911320542.6A CN201911320542A CN112235122B CN 112235122 B CN112235122 B CN 112235122B CN 201911320542 A CN201911320542 A CN 201911320542A CN 112235122 B CN112235122 B CN 112235122B
Authority
CN
China
Prior art keywords
software
network device
network
software image
capability information
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.)
Active
Application number
CN201911320542.6A
Other languages
English (en)
Other versions
CN112235122A (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.)
Juniper Networks Inc
Original Assignee
Juniper Networks 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 Juniper Networks Inc filed Critical Juniper Networks Inc
Publication of CN112235122A publication Critical patent/CN112235122A/zh
Application granted granted Critical
Publication of CN112235122B publication Critical patent/CN112235122B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • 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
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • 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/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • 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/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • H04L41/0897Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities by horizontal or vertical scaling of resources, or by migrating entities, e.g. virtual resources or entities
    • 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/20Network management software packages
    • 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/24Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using dedicated network management hardware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • 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
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • 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
    • H04L41/122Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
    • 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/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
    • 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/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请涉及用于网络设备的软件图像的自动选择。数据中心网络可以包括许多交换机、路由器和服务器以向客户提供服务。数据中心中的网络设备可以通过各种发现工作流自动发现。一旦发现,网络设备的硬件配置信息可以存储在数据库中。另外,管理员可以向网络设备分配角色。硬件配置信息可以与软件图像提供的特征相匹配。服务器可以通过将软件图像所提供的特征和软件图像所支持的硬件与网络设备的硬件配置和角色相匹配来从各种候选软件图像中选择软件图像。因此,可以以标准化和自动化的方式将新的网络设备部署和供应到数据中心。此外,可以以标准化和自动化的方式升级或重新配置现有网络设备。

Description

用于网络设备的软件图像的自动选择
相关申请
本申请要求2019年7月15日提交的美国临时专利申请第62/874,387号的优先权,其全部内容通过引用并入本文。
技术领域
本公开涉及计算机网络,并且更具体地,涉及用于网络设备和服务器的供应软件。
背景技术
在典型的云数据中心环境中,互连服务器的大集合提供计算(例如计算节点)和/或存储容量以运行各种应用。例如,数据中心包括为数据中心的客户主存应用和服务的设施。数据中心例如主存所有基础设施设备,例如联网和存储系统、冗余电源和环境控制。在典型的数据中心中,存储系统和应用服务器的集群经由由一层或一层以上物理网络交换机和路由器提供的高速交换结构互连。更复杂的数据中心为遍布全世界的基础设施提供位于各种物理主机设施中的订户支持设备。
典型的数据中心可以包括数百个物理网络交换机和数千个存储和应用服务器。这些设备可以具有不同的硬件和软件配置。因此,可能需要许多不同的软件图像,以便提供适当和有效的预期功能。
发明内容
在数据中心中配置和提供新交换机和新服务器的一种方式是经由物理网络将配置和软件下载到新服务器和交换机。然而,在新的数据中心中,可能有成千上万台需要配置和供应的服务器和交换机。在一些数据中心系统中,配置和软件供应很大程度上可以是手动的过程。例如,数据中心管理员可以使用诸如电子表格的自制记录来跟踪数据中心中的不同网络设备以及加载到网络设备上的相应软件。手动配置和设置可能耗时且容易出错。因此,在具有数百台交换机和数千台需要配置的服务器的数据中心中,手动配置可能是不切实际的。
在一些示例中,数据中心可以包括具有诸如以太网虚拟专用网(EVPN)控制平面的控制平面的诸如IP Clos IP结构的网络。数据中心的租户可以使用诸如交换机、路由器和服务器的网络设备来向他们的客户和雇员递送业务关键服务。数据中心中的网络设备可以通过各种发现工作流自动发现。一旦发现,网络设备的硬件配置信息可以存储在数据库中。另外,管理员或其他方可以为网络设备分配各种角色。硬件配置信息可以与软件图像提供的特征相匹配。诸如结构管理服务器的服务器可以通过将软件图像所提供的特征和软件图像所支持的硬件与网络设备的硬件配置和角色相匹配来从各种候选软件图像中选择软件图像。因此,可以以标准化和自动化的方式将新的网络设备部署和供应到数据中心。此外,可以使用本文中描述的技术以标准化和自动化的方式升级或重新配置现有网络设备。
以下描述的示例技术是在配置数据中心中的交换机和服务器的环境中提供的。该技术还可以应用于除了数据中心之外的其他计算机网络环境中,其中存在许多需要配置的交换机和服务器。
本发明的技术可提供一个或一个以上优点。例如,该技术可以使数据中心中的物理交换机和服务器能够准确、快速地配置和供应软件图像,该软件图像是基于硬件配置和分配给交换机和服务器的角色而自动选择的。该技术可显著减少对数据中心中潜在数千个网络设备的耗时且易于出错的手动配置的需要,从而允许具有许多网络设备的大型数据中心的可缩放配置和供应。
在一个示例方面,一种方法包括:通过结构管理服务器获得用于能够通信地耦接到IP结构的网络设备的硬件能力信息;通过结构管理服务器获得多个软件图像中的每个软件图像的软件能力信息,软件能力信息指定由软件图像提供的多个特征;基于网络设备的硬件能力信息和软件能力信息,识别要安装在网络设备上的多个软件图像中的软件图像;以及提供所识别的软件图像的指示。
在另一示例方面,一种系统包括:能够通信地耦接到IP结构的网络设备;以及结构管理服务器,其被配置为:获取网络设备的硬件能力信息;获取多个软件图像中的每个软件图像的软件能力信息,软件能力信息指定由软件图像提供的多个特征,基于网络设备的硬件能力信息和软件能力信息,识别要安装在网络设备上的多个软件图像中的软件图像,以及提供所识别的软件图像的指示。
在又一示例方面,一种计算机可读介质包括用于使一个或一个以上可编程处理器执行以下操作的指令:获得网络设备的硬件能力信息;获得多个软件图像中的每个软件图像的软件能力信息,软件能力信息指定由软件图像提供的多个特征;基于网络设备的硬件能力信息和软件能力信息,识别要安装在网络设备上的多个软件图像中的软件图像;以及提供所识别的软件图像的指示。
在附图和下面的描述中阐述了一个或一个以上示例的细节。根据说明书和附图以及权利要求书,其他特征、目的和优点将是清楚的。
附图说明
图1是示出根据在本文中描述的技术的示例计算机网络系统的框图。
图2是更详细地示出图1的示例计算机网络系统中的数据中心的示例实施方案的框图。
图3A至图3E是示出根据在本文中描述的技术的网络配置数据的框图。
图4是示出根据在本文中描述的技术的用于选择用于在网络设备上供应的软件图像的方法的流程图。
图5是示出根据在本文中描述的技术的用于发现服务器的方法的示例操作的流程图。
具体实施方式
图1是示出根据在本文中描述的技术的示例计算机网络系统8的框图。可以使用以下参考图2、图3A至图3E、图4和图5描述的技术来配置示例计算机网络系统8并且提供网络设备。
图1的示例中的计算机网络系统8包括数据中心10A-10X(统称为“数据中心10”),其经由服务供应商网络7彼此互连并且与关联于客户11的客户网络互连。图1示出了计算机网络系统8和数据中心10A的示例实施方案,数据中心10A主存一个或一个以上基于云的计算网络、计算域或项目,在本文中通常称为云计算集群。基于云的计算集群可以共同位于诸如单个数据中心的公共整体计算环境中,或者分布在诸如不同数据中心的环境中。基于云的计算集群例如可以是不同的云环境,诸如OpenStack云环境、Kubernetes云环境或其他计算集群、域、网络等的各种组合。计算机网络系统8和数据中心10A的其他实施方案在其他实例下可能是适当的。这样的实施方案可以包括图1的示例中包括的部件的子集和/或可以包括图1中未示出的附加部件。数据中心10B-10X可以包括相同或相似的特征,并且被配置为执行与本文中相对于数据中心10A描述的相同或相似的功能。
在图1所示的示例中,数据中心10A为由服务供应商网络7通过网关108耦接到数据中心10A的客户11的应用和服务提供操作环境。尽管结合图1的计算机网络系统8描述的功能和操作可以被示为分布在图1中的多个设备上,但是在其他示例中,归属于图1中的一个或一个以上设备的特征和技术可以由一个或一个以上这样的设备的本地部件在内部执行。类似地,一个或一个以上这样的设备可以包括某些部件并且执行各种技术,否则这些技术可以在本文中的描述中归属于一个或一个以上其他设备。此外,某些操作、技术、特征和/或功能可以结合图1来描述,或者由特定部件、设备和/或模块来执行。在其他示例中,此类操作、技术、特征和/或功能可由其他部件、设备或模块执行。因此,归因于一个或一个以上部件、设备或模块的一些操作、技术、特征和/或功能可归因于其他部件、设备和/或模块,即使本文中未以此方式具体描述。
数据中心10A主存基础设施设备,例如联网和存储系统、冗余电源和环境控制。服务供应商网络7可以耦接到由其他供应商管理的一个或一个以上网络,并且因此可以形成大规模公共网络基础设施(例如互联网)的一部分。在一些示例中,数据中心10A可以表示许多地理上分布的网络数据中心之一。如图1的示例所示,数据中心10A是为客户11提供网络服务的设施。客户11可以是诸如企业和政府或个人的集体实体。例如,网络数据中心可以为几个企业和终端用户主存网络服务。其他示例性服务可包括数据存储、虚拟专用网、流量工程、文件服务、数据挖掘、科学或超计算等。在一些示例中,数据中心10A是单独的网络服务器、网络对等体等。
在图1的示例中,数据中心10A包括成组的存储系统和应用服务器,包括经由由一个或一个以上物理网络交换机和路由器层提供的高速交换结构20互连的服务器12A到服务器12X(统称为“服务器12”)。服务器12用作数据中心的物理计算节点。例如,每个服务器12可以提供用于执行一个或一个以上应用工作负载的操作环境。如本文所述,术语“应用工作负载”或“工作负载”可互换使用以指代应用工作负载。工作负载可以在诸如虚拟机36、容器或某种类型的虚拟化实例的虚拟化环境上执行,或者在某些情况下在直接而非间接地在虚拟化环境中执行工作负载的裸机服务器上执行。服务器12中的每一者可替代地称为主机计算设备,或更简单地称为主机。服务器12可在一个或一个以上虚拟化实例(例如虚拟机36、容器或用于运行一个或一个以上服务(例如虚拟化网络功能(VNF))的其他虚拟执行环境)上执行工作负载37中的一个或一个以上。一些或所有服务器12可以是裸机服务器(BMS)。BMS可以是专用于特定客户或租户的物理服务器。
交换结构20可以包括耦接到机架交换机18A-18M的分布层的机架顶部(TOR)交换机16A-16N,数据中心10A可以包括一个或一个以上非边缘交换机、路由器、集线器、网关、安全设备(诸如防火墙、入侵检测和/或入侵预防设备)、服务器、计算机终端、膝上型计算机、打印机、数据库、无线移动设备(例如蜂窝电话或个人数字助理)、无线接入点、网桥、电缆调制解调器、应用加速器或其他网络设备。数据中心10A包括通过由一层或一层以上物理网络交换机和路由器提供的高速交换结构20互连的服务器12A-12X,交换结构20由耦接到机架交换机18A-18M(统称为“机架交换机18”)的分布层的成组的互连机架顶部(TOR)交换机16A-16N(统称为“TOR交换机16”)提供。在一些示例中,机架交换机18可以用作主干节点,并且TOR交换机16可以用作数据中心10A中的分支节点。尽管未示出,数据中心10A还可以包括例如一个或一个以上非边缘交换机、路由器、集线器、网关、安全设备(诸如防火墙、入侵检测和/或入侵预防设备)、服务器、计算机终端、膝上型计算机、打印机、数据库、无线移动设备(诸如蜂窝电话或个人数字助理)、无线接入点、网桥、电缆调制解调器、应用加速器或其他网络设备。
在该示例中,TOR交换机16和机架交换机18向服务器12提供到网关108和服务供应商网络7的冗余(多归属)连接。机架交换机18聚合业务流并提供TOR交换机16之间的高速连接。TOR交换机16可以是提供层2(MAC)和/或层3(例如IP)路由和/或交换功能的网络设备。TOR交换机16和机架交换机18可以各自包括一个或一个以上处理器和存储器,并且能够执行一个或一个以上软件进程。机架交换机18耦接到网关108,网关108可以执行层3路由以通过服务供应商网络7在数据中心10A和客户11之间路由网络流量。
交换结构20可以执行层3路由,以通过服务供应商网络7在数据中心10A和客户11之间路由网络流量。网关108用于在交换结构20和服务供应商网络7之间转发和接收分组。数据中心10A包括将交换机结构20从物理交换机18、16扩展到软件或“虚拟”交换机的覆盖网络。例如,分别位于服务器12A-12X中的虚拟路由器30A-30X可以通过与位于交换结构20内的一个或一个以上物理交换机通信耦接来扩展交换结构20。虚拟交换机可以动态地创建和管理可用于应用实例之间的通信的一个或一个以上虚拟网络。在一个示例中,虚拟路由器30A-30X将虚拟网络执行为覆盖网络,该覆盖网络提供了将应用的虚拟地址与在其上执行应用的服务器12A-12X之一的物理地址(例如IP地址)分离的能力。每个虚拟网络可以使用其自己的寻址和安全方案,并且可以被视为与物理网络及其寻址方案正交。可以使用各种技术通过物理网络在虚拟网络内和虚拟网络上传输分组。
根据本公开的一个或一个以上示例,软件定义网络(“SDN”)控制器132提供逻辑上并且在一些情况下物理上集中的控制器,用于促进数据中心10A内的一个或一个以上虚拟网络的操作。在本公开中,术语SDN控制器和虚拟网络控制器(“VNC”)可以互换使用。在一些示例中,SDN控制器132响应于经由北向API 131从编排引擎130接收到的配置输入而操作,该配置输入又响应于从操作用户界面设备129的管理员24接收到的配置输入而操作。在一些方面,SDN控制器132可以是高可用性(HA)集群的一部分并且提供HA集群配置服务。在2013年6月5日提交的题为“PHYSICAL PATH DETERMINATION FOR VIRTUAL NETWORK PACKETFLOWS”的国际申请PCT/US2013/044378和2017年3月31日提交的题为“SESSION-BASEDTRAFFIC STATISTICS LOGGING FOR VIRTUAL ROUTERS”的美国专利申请15/476,136中可以找到关于SDN控制器132与数据中心10A的其他设备或其他软件定义网络一起操作的其他信息,其中两个申请的全部内容均通过引用结合于此,如同在此完全阐述一样。
例如,可以在数据中心10中使用SDN平台来控制和管理网络行为。在一些情况下,SDN平台包括逻辑上集中和物理上分布的SDN控制器,例如SDN控制器132,以及虚拟路由器形式的分布式转发平面,该虚拟路由器将网络从数据中心交换结构中的物理路由器和交换机扩展到主存在虚拟化服务器中的虚拟覆盖网络中。
在一些示例中,SDN控制器132管理网络和网络服务,诸如负载平衡、安全性,以及经由南向API 133将资源从服务器12分配给各种应用。即,南向API 133表示由SDN控制器132用来使网络的实际状态等于由编排引擎130指定的期望状态的成组的通信协议。一种这样的通信协议可以包括消息通信协议,例如可扩展消息和存在协议(XMPP)。例如,SDN控制器132通过配置物理交换机(例如TOR交换机16、机架交换机18和交换结构20)、物理路由器、物理服务节点(例如防火墙和负载平衡器)以及虚拟服务(例如虚拟化环境中的虚拟防火墙)来实现来自编排引擎130的高级请求。SDN控制器132维护状态数据库中的路由、联网和配置信息。SDN控制器132将路由信息和配置信息的适当子集从状态数据库传送到服务器12A-12X中的每一个上的虚拟路由器(VR)30A-30X或代理35A-35X(图1中的“代理”)。
如本文中所描述的,每个服务器12包括相应的转发部件39A-39X(以下称为“转发部件39”),其执行用于在每个服务器12上执行的工作负载的数据转发和流量统计收集功能。在图1的示例中,每个转发部件被描述为包括虚拟路由器(图1中的“VR30A-VR30X”)以执行分组路由和覆盖功能,以及VR代理(图1中的“VA35A-35X”)以与SDN控制器132通信,并且作为响应,配置虚拟路由器30。
在该示例中,每个虚拟路由器30A-30X实现用于数据中心10内的相应虚拟网络的至少一个路由实例,并将分组路由到适当的虚拟机、容器或在由服务器提供的操作环境内执行的其他元件。例如,由服务器12A的虚拟路由器从底层物理网络结构接收的分组可以包括外部报头,以允许物理网络结构将有效载荷或“内部分组”隧道传送到用于执行虚拟路由器的服务器12A的网络接口的物理网络地址。外部报头不仅可以包括服务器的网络接口的物理网络地址,还可以包括标识虚拟网络之一以及由虚拟路由器执行的相应路由实例的虚拟网络标识符,诸如VxLAN标签或多协议标签交换(MPLS)标签。内部分组包括具有目的地网络地址的内部报头,该目的地网络地址符合由虚拟网络标识符标识的虚拟网络的虚拟网络寻址空间。
在图1的示例中,SDN控制器132学习路由和其他信息(诸如配置)并将其分配到数据中心10中的所有计算节点。在计算节点内运行的转发部件39的VR代理35在从SDN控制器132接收到路由信息时,通常用转发信息对数据转发元件(虚拟路由器30)进行编程。SDN控制器132使用诸如XMPP协议语义的消息通信协议将路由和配置信息发送到VR代理35,而不是使用诸如像边界网关协议(BGP)的路由协议的重量级的协议。在XMPP中,SDN控制器132和代理在同一信道上传送路由和配置。当从VR代理35接收路由时,SDN控制器132充当消息传递通信协议客户端,并且在这种情况下,VR代理35充当消息传递通信协议服务器。相反,当SDN控制器发送路由到VR代理35时,SDN控制器132充当作为消息通信协议客户端的VR代理35的消息通信协议服务器。SDN控制器132可向VR代理35发送安全策略以供虚拟路由器30应用。
用户界面设备129可以被实现为任何合适的计算系统,诸如由用户和/或管理员24操作的移动或非移动计算设备。用户界面设备129可(例如)表示工作站、膝上型或笔记本计算机、台式计算机、平板计算机或可由用户操作和/或呈现根据本发明的一个或一个以上方面的用户界面的任何其他计算设备。
在一些示例中,编排引擎130管理数据中心10A的功能,诸如计算、存储、联网和应用资源。例如,编排引擎130可以为数据中心10A内或跨数据中心的租户创建虚拟网络。编排引擎130可以将工作负载(WL)附加到租户的虚拟网络。编排引擎130可以将租户的虚拟网络连接到外部网络,例如互联网或VPN。编排引擎130可以跨成组的工作负载或租户网络的边界实现安全策略。编排引擎130可以在租户的虚拟网络中部署网络服务(例如,负载平衡器)。
在一些示例中,SDN控制器132管理网络和网络服务,诸如负载平衡、安全性、以及经由南向API 133将资源从服务器12分配给各种应用。即,南向API 133表示由SDN控制器132用来使网络的实际状态等于由编排引擎130指定的期望状态的成组的通信协议。例如,SDN控制器132通过配置物理交换机(例如TOR交换机16、机架交换机18和交换结构20)、物理路由器、物理服务节点(例如防火墙和负载平衡器)以及虚拟服务(例如VM中的虚拟防火墙)来实现来自编排引擎130的高级请求。SDN控制器132维护状态数据库中的维护路由、联网和配置信息。
通常,任何两个网络设备之间的业务,例如交换结构20内的网络设备(未示出)之间的业务,或者服务器12和客户11之间的业务,或者服务器12之间的业务,例如可以使用许多不同的路径穿过物理网络。例如,在两个网络设备之间可能存在若干等价的不同路径。在一些情况下,属于从一个网络设备到另一个网络设备的网络流量的分组可以使用在每个网络交换节点处的被称为多路径路由的路由策略被分布在各种可能的路径中。例如,互联网工程任务组(IETF)RFC 2992,“Analysis of an Equal-Cost Multi-Path Algorithm”描述了一种用于沿着等价的多个路径路由分组的路由技术。RFC 2992的技术通过对在单个确定性路径上发送来自特定业务流的所有分组的分组报头字段进行散列,来分析涉及将流分配给区段的一个特定多路径路由策略。
虚拟路由器(虚拟路由器30A到虚拟路由器30X,统称为图1中的“虚拟路由器30”)执行数据中心10A内的相应虚拟网络的多个路由实例,并将分组路由到由服务器12提供的操作环境内执行的适当工作负载。每个服务器12可以包括虚拟路由器。例如,由服务器12A的虚拟路由器30A从底层物理网络结构接收的分组可以包括外部报头,以允许物理网络结构将有效载荷或“内部分组”隧道传送到服务器12A的网络接口的物理网络地址。外部报头不仅可以包括服务器的网络接口的物理网络地址,还可以包括标识虚拟网络之一以及由虚拟路由器执行的相应路由实例的虚拟网络标识符,诸如VxLAN标签或多协议标签交换(MPLS)标签。内部分组包括具有目的地网络地址的内部报头,该目的地网络地址符合由虚拟网络标识符标识的虚拟网络的虚拟网络寻址空间。
数据中心10A可以具有数千个机架交换机18和TOR交换机16,以及数百个服务器12。图1所示的示例表示完全配置的数据中心10A。当数据中心10A首次建立时,这些网络设备需要配置和软件供应。此外,可能希望在数据中心10A的初始设置期间和正在进行的操作期间确保设备正在使用操作系统的已知和/或标准版本。在一些方面中,结构管理服务器140可发现网络设备(例如交换机、路由器、服务器等)并基于分配给网络设备的硬件配置和角色来确定要在网络设备上提供的适当软件图像。下面进一步详细描述的技术的实际应用是,用于数据中心10A中的网络设备的软件可以用管理员方面所需的最少手动配置来提供。减少手动配置工作量的优点在于,一些示例可以提供优于先前的供应方法,并且可以避免错误并提高网络可扩展性。
根据本发明的技术,可使用自动化过程来为数据中心10A的设备选择软件图像,并在供应或更新操作期间用软件图像升级设备。更具体地,本发明的技术包括用于基于设备的能力将设备升级到特定操作系统(OS)版本的过程。不同的软件图像可以支持不同组的功能(例如,EVPN、采样流(sFlow)等)。此外,基于机架配置,不同的硬件平台甚至相同的硬件平台可以支持不同组的功能。在大型数据中心中,可以有许多这样的具有相同/不同硬件平台配置的设备。
如本文所述,软件图像可被自动映射到表示硬件平台和软件图像所支持的特征的矩阵。当数据中心10A的新设备板载(例如,添加到系统中)时,可以探测其硬件细节,例如硬件平台和机架配置。基于该信息,可以将硬件配置文件分配给设备。硬件配置文件可以包括指示设备的能力和特征集的数据。通过将基于硬件配置文件的设备能力和特征集与硬件平台和设备图像的特征矩阵相关联,可以识别要为给定OS版本安装的特定软件图像并将其用于供应设备。类似的过程可以应用于升级设备。数据中心10A中的多个设备可以通过使用本公开中描述的技术选择图像来升级到特定OS版本。
在一些方面,结构管理服务器140可发现网络设备并从网络设备获得硬件配置信息146。硬件配置信息146可以保存在配置数据库142中。硬件配置信息可包括硬件制造商信息(例如产品制造和型号、版本标识符、序列号等)、网络接口信息(例如制造、型号、网络类型、所支持的协议、通信速度等)、可用存储、处理器类型和关于诸如交换机、路由器或服务器的网络设备上的硬件的其他信息。硬件配置信息146可以根据下面参考图3A至图3E描述的数据模型来组织。
UI设备129可用于(例如由管理员24)将角色144分配给数据中心10A中的交换机、路由器和服务器。可以在配置数据库142中维护所分配的角色144。例如,UI设备129中可用的用户界面可以为在数据中心10A中发现的网络设备和硬件提供标识符。此外,用户界面可以为可以应用于所发现的网络设备的角色提供标签。
配置数据库142还可以为数据中心10A中的网络设备维护软件图像150。软件图像150可以被配置成在网络设备中可以找到的特定类型的一个或一个以上处理器上执行。此外,软件图像150可以配置有设备驱动程序和用于可以是网络设备的硬件配置的一部分的设备的其他支持软件。此外,软件图像150可被配置成支持彼此不同的协议。例如,一个软件图像可以被配置为支持特定硬件配置上的MPLS,而不同的软件图像可以被配置为支持相同硬件配置上的EVPN。类似地,软件图像150可被配置为支持不同硬件配置上的相同功能。例如,一个软件图像可以被配置成支持来自一个制造商的服务器上的虚拟路由器,而另一个软件图像可以被配置成支持来自不同制造商的服务器上的虚拟路由器。
配置数据库142可以维护软件图像150的软件图像配置信息148。软件图像配置信息148可包括软件图像所支持的硬件类型、软件图像所提供的功能(例如协议、应用、设备驱动程序等)、版本信息以及与特定软件图像相关联的其他方面。用于特定软件图像的软件图像配置信息148可以通过检查在软件图像或包含在软件图像中的可执行程序中找到的标签、标签、符号等来获得。
分配给网络设备的角色144、用于网络设备的硬件配置146以及用于软件图像150的软件图像配置信息148可以如下文进一步描述的那样用于自动选择软件图像以提供给数据中心10中的各种网络设备。
在图1所示的示例中,配置数据库142维护角色144、硬件配置146、软件图像配置148和软件图像150。在其他示例中,角色144、硬件配置146、软件图像配置148和软件图像150中的一些或全部可在单独的数据库中维护。
图2是更详细地示出图1的示例计算机网络系统中的数据中心的示例实施方案的框图。在图2的示例中,数据中心10A包括可通信地耦接到管理交换机202的结构管理服务器140和供应服务器210。服务器12、机架交换机18和TOR交换机16也可通信地耦接到管理交换机202。管理交换机和服务器连接以及到管理交换机的交换机连接形成带外管理网络。
每个服务器12可以包括管理网络接口204、IP结构交换接口206和智能平台管理接口(IPMI)212。管理网络接口204提供用于在服务器12A-12X与管理交换机202之间传送数据的硬件和/或软件接口。IP结构交换机接口206提供用于在服务器12A-12X与TOR交换机16A-16N之间传送数据的硬件和/或软件接口。
IPMI 212提供到计算系统(例如,服务器12中的任一个)的接口,该接口可用于监视和管理独立于计算系统的主处理器和操作系统的计算系统的操作。例如,IPMI 212可以使系统管理员能够管理断电的、尚未完全配置的或缺乏按预期运行或通信的能力的计算系统。
结构管理服务器140可以控制各种发现和配置相关工作流的执行。如上所述,可以在配置数据库142中维护由结构管理服务器140收集、产生和使用的数据。
供应服务器210可以访问配置数据库142中的软件图像150,例如系统图像、应用图像、容器、安装包等,该软件图像150可以被提供给网络设备,例如服务器12、TOR交换机16和机架交换机18。在一些方面中,供应服务器210可通过使网络设备的硬件配置146中的属性与软件图像的软件图像配置148的属性匹配来选择将在网络设备上供应的软件图像。供应服务器210可以基于网络设备的硬件配置,从软件图像150中选择具有指示软件图像中包含的软件可以在网络设备上成功执行的属性的软件图像。此外,除了基于硬件配置信息146选择软件图像之外,或者代替基于硬件配置信息146选择软件图像,可以基于分配给网络设备的一个或一个以上角色从软件图像1500中选择软件图像。
在一些方面,供应服务器210可以经由管理交换机202向网络设备提供软件图像。例如,供应服务器210可响应于发现服务器(例如,在发现过程或工作流程期间)并确定服务器12A的硬件配置信息来访问包括可下载到服务器12A的操作系统和/或应用的软件图像。在图2所示的示例中,开放栈平台(OSP)222已经安装在供应服务器210上,并且可以用于供应网络设备。
图3A至图3E是示出根据在本文中描述的技术的示例网络配置数据模型的框图。示例网络配置数据模型可用于指定存储在诸如配置数据库142的数据存储中的数据的数据结构。图3A至图3E中呈现的示例网络配置数据模型可以对应于作为结构管理服务器140发现网络设备以及分配给网络设备的角色144的结果而添加的硬件配置数据146。
图3A是示出可作为由结构管理服务器140执行IP结构发现工作流的结果而添加的示例网络配置数据结构的框图。标签306A和306B可以包括描述网络类型的数据。在图3A所示的示例中,标签用于描述“供应”网络类型和“租赁”网络类型。网络的其他类型或标签也是可能的。在已经执行IP结构发现工作流之后,结构管理服务器140获知关于交换机的配置数据。在图3A所示的示例中,作为发现过程的一部分而创建的物理路由器数据结构302包括关于被标识为“QFX_TOR_1”的特定交换机的数据。例如,QFX_TOR_1可以是分配给TOR交换机12A(图2)的识别标签。此外,在图3A所示的示例中,结构管理服务器140已经发现交换机QFX_TOR_1上的三个端口,并且作为响应,创建物理接口数据结构304A、304B和304C以表示交换机QFX_TOR_1上的物理端口GE_001、GE_002和GE_003。可以与物理接口数据结构相关联的逻辑接口(未示出)的数据结构也可以由结构管理服务器140创建。
图3B是示出可作为结构管理服务器140执行服务器发现工作流的结果而添加的示例网络配置数据结构的框图。将参考单个发现的服务器(例如,服务器12A)来描述图3B的示例数据结构。可以为其他服务器12添加类似的数据结构。在图3B所示的示例中,结构管理服务器140已发现服务器12A并创建用于描述服务器12A的终端系统数据结构310。在该示例中,服务器12A已经被赋予“INFRA_BMS_1”的标识符。结构管理服务器140已经发现服务器12A具有三个端口,并且作为响应,可以创建三个端口数据结构308A、308B和308C来保存描述端口的数据。此外,结构管理服务器140已经发现三个端口物理链接到三个相应的交换机端口,并且创建从描述三个服务器12A端口的每个端口数据结构308A-308C到描述交换机物理接口的相应物理接口数据结构304A-304C的引用。
图3C和图3D是示出可由结构管理服务器140执行的服务器发现工作流创建的示例网络配置数据结构的框图。图3C示出了示例节点配置文件数据结构312-316和示例基础设施网络数据结构318-320。节点配置文件数据结构可以描述与服务器相关联的特定硬件。在图3C所示的示例中,节点配置文件数据结构312包括标识服务器制造商(例如,“供应商1”)和服务器可支持的角色的数据。硬件数据结构314可以描述特定类型的服务器(例如,“服务器类型”)。例如,服务器类型可以标识品牌名称或标识服务器类型的其他标签。卡数据结构316可以包括描述所识别的服务器上可用的网络接口的数据。例如,卡数据结构可包括卡的名称、卡上接口的名称、卡上接口的标签、接口所属的端口组(如果有的话)以及可用于描述接口卡的其他数据。
虚拟_网络数据结构318A和318B可以包括描述为数据中心10A配置的虚拟网络的数据。在图3C和图3D所示的示例中,虚拟_网络数据结构318A标识标记为“供应_网络”的虚拟网络,虚拟_网络数据结构318B标识标记为“租户_网络”的虚拟网络。此外,可以为虚拟网络存储IP地址管理(IPAM)数据。在图3C和图3D所示的示例中,网络_IPAM数据结构320A存储与供应虚拟网络相关联的IPAM数据,网络_IPAM数据结构320B存储与租户虚拟网络相关联的IPAM数据。IPAM数据可以包括网关的IP地址和网络的动态主机配置协议(DHCP)中继,并且可以包括VLAN配置数据。
图3D示出了在结构管理服务器140链接数据结构以反映网络数据中心10A中的设备的物理和虚拟网络配置之后的上述配置数据结构。除了链接数据结构之外,结构管理服务器140可以从存储在数据结构中的数据中识别端口组。在图3D所示的示例中,结构管理服务器140已经经由节点配置文件数据发现端口ETH2和ETH3是标记为“BOND_0”的端口组的一部分,并且作为响应,已经创建端口组数据结构322以指示端口组。
图3E是示出包括将软件图像的角色和特征与硬件配置的角色和特征相关联的数据结构的示例数据模型的框图。在图3E所示的示例中,数据模型包括物理路由器数据结构302,其标识数据中心10A中的特定交换机(经由“名称”字段)。物理路由器数据结构302可与标识与物理路由器相关联的配置文件的节点配置文件数据结构312相关联。可以用唯一标识节点配置文件的名称来标记节点配置文件。节点配置文件可以与硬件平台数据结构326链接。硬件平台数据结构326可包括标识节点配置文件的所支持平台的字段。例如,平台数据结构326可包括标识物理路由器的构造/模型、物理路由器的处理器类型等的字段。节点配置文件312可以与线卡数据结构336链接。线卡数据结构336可以包括标识物理路由器所使用的线卡的字段。对于配置有由物理路由器数据结构302表示的物理路由器的每个线卡,可以存在线卡数据结构336。节点配置文件数据结构312可以与角色定义数据结构324链接。
角色定义数据结构324可以标识分配给节点配置文件的特定角色。对于分配给节点配置文件的每个角色,可以有一个角色定义数据结构324。在某些方面,可以指定以下节点配置文件角色:
·Juniper-qfx5k
·Juniper-qfx5k-lean
·Juniper-qfx10k
·Juniper-mx
·Juniper-srx
上述配置文件指定了可以执行或支持类似功能集的不同制造商硬件模型。
在一些方面中,角色可进一步与覆盖角色相关联。可在可与角色定义数据结构324链接的覆盖角色数据结构332中定义覆盖角色。在一些方面,可以指定以下覆盖角色:
·CRB-Access-指示物理路由器连接到裸机服务器。此角色配置接口和网桥域/VLAN。
·CRB-Gateway-指示该物理路由器是在虚拟网络内和跨虚拟网络提供L3连通性/功能性的网关设备。
·ERB-UCAST-Gateway-指示物理路由器是用于虚拟网络上的单播流量的L3网关。通常,可以将该角色分配给分支物理路由器。
·CRB-MCAST-Gateway-指示该物理路由器是用于虚拟网络上的多播流量的L3网关。
·DC-Gateway-指示该物理路由器提供到互联网的连通性。
·DCI-Gateway-指示该物理路由器提供与另一结构的连通性。
·Route-Reflector-指示该物理路由器是IP Clos iBGP会话中的路由反射器。
·Assisted-Replicator-Client-指示物理路由器是协助重复符分支(AssistedReplicator Leaf)。
·Assisted-Replicator-指示该物理路由器是协助重复符(AssistedReplicator)。
·PNF-ServiceChain-指示该物理路由器是物理网络功能(PNF)路由器并且提供服务链接能力。
在一些方面中,物理路由器和/或角色可进一步与物理角色相关联。物理角色可以在可以与物理路由器数据结构302和/或角色定义数据结构324链接的物理角色数据结构334中定义。
·leaf-将该物理路由器标识为Clos网络拓扑中的分支交换机。
·spine-将该物理路由器标识为Clos网络拓扑中的主干交换机。
·pnf-将该物理路由器标识为能够配置有防火墙规则或用于管理网络业务流的其他规则。
在一些方面中,角色可与一个或一个以上特征相关联。可以在可以链接到角色定义数据结构324的特征数据结构330中描述每个特征。在一些方面,可以指定以下特征:
·underlay_ip_clos-配置该下层IP Clos网络并且建立该下层BGP会话。
·underlay_infra_bms_access-携带于在下层IP Clos网络上连接到物理路由器的裸机服务器(BMS)。
·overlay_bgp-配置覆盖BGP会话。
·overlay_evpn-配置基本覆盖EVPN VXLAN配置。
·overlay_evpn_access-为L2连通性配置覆盖端口。
·overlay_evpn_erb_access-使用中继端口配置为L2连通性配置覆盖端口。
·overlay_evpn_gateway-将下层L3网关配置为处理单播和多播流量。
·overlay_evpn_ucast_gateway-将下层L3网关配置为处理单播流量。
·overlay_evpn_mcast_gateway-将下层L3网关配置为处理多播流量。
·overlay_evpn_type5-将下层类型5VPN配置为连接虚拟网络。
·overlay_security_group-配置防火墙和过滤器。
·overlay_lag-配置链路聚合(LAG)端口。
·overlay_multi_homing-配置链路聚合控制协议(LACP)多归属端口。
·overlay_fip_snat-配置浮动IP和源网络地址转换(SNAT)。
·overlay_pim-配置协议无关多播(PIM)。
·overlay_service_chain-配置用于服务链接的路由实例。
·overlay_assisted_replicator-配置协助重复符(assisted replicator)。
·overlay_assisted_replicator_client-配置协助重复符客户端/分支。
图3E所示的示例数据模型还可以包括描述软件图像的各方面的软件图像数据结构328。软件图像数据结构328可包括指定唯一标识软件图像的名称、提供软件图像的厂商、可执行软件图像中的软件的设备族以及软件图像的版本标识符的字段。此外,软件图像可被配置成支持一个或一个以上特征。软件图像数据结构328所表示的软件图像所支持的每个特征可在可链接到软件图像数据结构328的特征数据结构330(如上所述)中描述。
图4是示出根据在本文中描述的技术用于配置数据中心中的网络设备的方法的操作的流程图400。在一些方面中,可执行所述操作以提供用于新数据中心中的网络设备的软件,提供用于经重新配置数据中心的网络设备的软件,或提供添加到现有数据中心的新网络设备。可以执行初步网络配置操作以建立网络配置的初始状态(402)。在一些方面中,配置向导可呈现界面以从用户接收网络配置参数。网络配置参数可以是以其他方式不能通过发现过程获得的参数。例如,用户可以提供关于要在数据中心网络中配置的VLAN、子网、回送、自治系统号(ASN)等的信息。配置向导可以将该信息存储为网络的配置数据库142的一部分。
配置向导220可以启动结构管理服务器140上的一个或一个以上工作流,该工作流可以使结构管理服务器140发现IP结构上的交换设备(即数据中心交换机)(404)。在一些方面,发现工作流利用将数据中心交换机(例如,机架交换机16和TOR交换机18)链接到管理交换机的管理网络。在一些方面,结构管理服务器140可以通过监听由数据中心交换机发出的DHCP请求来发现数据中心交换机。例如,当交换机通电时,交换机可以发出DHCP请求。当从数据中心交换机接收到DHCP请求时,结构管理服务器140可以利用请求中的信息和DHCP数据库中的信息来将关于发现的交换机的交换机配置信息添加到配置数据库142。例如,结构管理服务器140可以将诸如图3A所示的示例数据结构的数据结构添加到配置数据库142。
配置向导220可以启动一个或一个以上服务器发现工作流以使结构管理服务器140发现服务器和其他网络拓扑信息(406)。在一些方面,发现过程使用管理交换机来发送和/或接收发现消息。服务器发现工作流可使结构管理服务器140从连接到带外管理网络的服务器接收配置信息。结构管理服务器140可以将服务器配置信息添加到配置数据库142。
图5是示出根据在本文中描述的技术用于发现和配置服务器的方法的示例性操作的流程图500。在一些方面中,可由执行服务器发现工作流的结构管理服务器140(图1和图2)来执行所述操作。在一些方面中,发现服务器可开始于结构管理服务器140接收来自服务器的DHCP请求(502)。例如,当IPMI 212(图2)或包含IPMI 212的服务器通电时,服务器(例如图2的服务器12A)上的IPMI 212可以发出DHCP请求。响应于DHCP请求,结构管理服务器140可以从IPMI DHCP地址范围内提供可用的IP地址分配(504)。
结构管理服务器140可以扫描IPMI地址范围(506)。例如,结构管理服务器140可以向IPMI地址范围内的IP地址发出ping消息。如果结构管理服务器140接收到对ping消息的响应,则结构管理服务器140可以确定响应设备是否是还没有被发现的服务器(即,“未发现的”服务器)。结构管理服务器140可以使每个未发现的服务器重新启动或进行电力循环(508)。例如,结构管理服务器140可以向未发现服务器上的IPMI 212发送消息,以使服务器进行电力循环。
在电力循环(或重新启动)之后,服务器可以从预启动执行环境(PXE)接口启动。在一些方面,PXE接口经由管理交换机202可通信地耦接到管理网络。PXE接口可从供应服务器210获得执行服务器的内省的内省符(510)。内省可以包括获得服务器上网络接口的列表,以及基于作为内省的结果而产生的链路层发现协议(LLDP)数据将服务器网络接口映射到交换机端口。在内省符执行内省之后,内省符可以将所得到的服务器配置数据发送到结构管理服务器140(512)。作为示例,结合上述服务器发现过程,结构管理服务器140可以将诸如图3B所示的示例数据结构308和310的数据结构添加到配置数据库142。
结构管理服务器140可以使用配置数据来创建服务器的节点配置文件(514)。节点配置文件可以包括诸如制造服务器的厂商名称或制造商名称、服务器类型的型号名称或其他标识符等信息。在一些方面中,结构管理服务器140可基于所发现的关于服务器的信息来导入节点配置文件,并将适当的节点配置文件添加到配置数据库142。例如,结构管理服务器140可以创建数据结构312、314和316(图3C和图3D)。
回到图4,结构管理服务器140可以接收数据中心10A中网络设备的角色分配(408)。如上所述,UI设备129上的用户界面可用于向配置数据库142添加角色。可以为发现的服务器和交换机分配一个或一个以上角色,这些角色可以描述服务器和交换机提供的功能。服务器或交换机在任何给定时间可具有多于一个的角色。
对于每个发现的网络设备(例如交换机、路由器、服务器等),结构管理服务器140可以基于设备的角色、设备的硬件配置以及软件图像所支持的硬件和特征来选择要加载到设备上的软件图像。例如,在一些方面,结构管理服务器140可以根据网络设备的发现的硬件配置和分配的角色来创建硬件能力矩阵,并且可以根据配置数据库142中的每个软件图像的软件图像配置来创建软件能力矩阵。结构管理服务器140可以将设备的硬件能力矩阵与每个软件能力矩阵进行比较,以确定适合于所发现的网络设备的软件图像。在一些方面中,可根据将硬件能力矩阵与软件能力矩阵中的每一者进行比较的最佳拟合算法来选择软件图像。因此,结构管理服务器140可以确定其配置与网络设备的硬件配置和角色最匹配的软件图像。
在可选的方面中,可基于网络设备的硬件配置来创建硬件能力图,且可根据软件图像配置中的每一者来创建软件能力图。然后,结构管理服务器140可以执行图搜索,以确定其配置与网络设备的硬件配置和角色最匹配的软件图像。
结构管理服务器140然后可以使得所选择的软件图像被提供在所发现的网络设备上(412)。例如,结构管理服务可以向供应服务器210发送消息,以使得供应服务器210将所选择的软件图像加载到网络设备上。在一些方面中,结构管理服务器140可使得执行使OSP222(图2)在网络设备上提供选定软件图像的可见脚本。
从上面可以理解,结构管理服务器140可以执行各种工作流程以自动发现数据中心中的网络设备,例如数据中心网络中的交换机和服务器,并且可以利用从各种工作流程中发现的信息来自动配置和提供所发现的网络设备。这里描述的自动配置和供应技术是实际应用,其可以提供传统系统的优点,例如提供更可扩展的数据中心配置过程,并且可以减少数据中心配置过程中的错误。
用于上述方面的硬件、软件和固件可在同一设备内或在单独设备内实施以支持本发明中所描述的各种操作和功能。另外,所述单元、模块或部件中的任一者可一起或单独实施为离散但可互操作的逻辑设备。将不同特征描绘为模块或单元旨在突出显示不同的功能方面,并且不一定暗示这些模块或单元必须由单独的硬件或软件部件来实现。相反,与一个或一个以上模块或单元相关联的功能可以由单独的硬件或软件部件来执行,或者集成在公共或单独的硬件或软件部件内。
本发明中所描述的技术还可实施于或编码于含有指令的计算机可读介质(例如计算机可读存储介质)中。嵌入或编码于计算机可读介质中的指令可使得可编程处理器或其他处理器例如当执行所述指令时执行所述方法。计算机可读介质可以包括非瞬态计算机可读存储介质和瞬态通信介质。有形且非瞬态的计算机可读存储介质可包含随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、快闪存储器,硬盘、CD-ROM、软盘、盒式磁带、磁性介质、光学介质,或其他计算机可读存储介质。术语“计算机可读存储介质”是指物理存储介质,而不是信号、载波或其他瞬态介质。

Claims (15)

1.一种用于网络设备的软件图像的自动选择的方法,包括:
通过结构管理服务器获得用于通信地耦接到互联网协议IP结构的所述网络设备的硬件能力信息;
通过所述结构管理服务器获得多个软件图像中的每个软件图像的软件能力信息,所述软件能力信息指定由所述软件图像提供的多个功能特征;
基于所述网络设备的所述硬件能力信息和所述软件能力信息,识别要安装在所述网络设备上的所述多个软件图像中的软件图像,
其中,所述硬件能力信息包括硬件能力矩阵,并且所述软件能力信息包括软件能力矩阵,以及
其中,识别所述软件图像包括:将所述硬件能力矩阵与所述多个软件图像中的每个相应软件能力矩阵进行比较,并且基于所述比较选择所识别的软件图像;以及
使存储所识别的软件图像的服务器将所识别的软件图像安装在所述网络设备上。
2.根据权利要求1所述的方法,
其中,所述识别包括确定支持所述网络设备的所有网络设备硬件能力的软件图像。
3.根据权利要求1所述的方法,
其中,所述多个软件图像用于单个操作系统版本。
4.根据权利要求1所述的方法,其中,所述网络设备包括物理服务器,并且其中,通过所述结构管理服务器获得所述物理服务器的硬件能力信息包括:
发现所述物理服务器;以及
通过所述结构管理服务器从所述物理服务器接收所述硬件能力信息的至少一部分。
5.根据权利要求1所述的方法,其中,基于所述比较来选择所识别的软件图像包括基于最佳拟合比较来选择所识别的软件图像。
6.根据权利要求1所述的方法,进一步包括:
接收所述网络设备的一个或一个以上角色分配;
其中,识别所述软件图像包括至少部分地基于与所述网络设备相关联的所述一个或一个以上角色分配来识别所述软件图像。
7.一种用于网络设备的软件图像的自动选择的系统,包括:
通信地耦接到IP结构的所述网络设备;以及
一个或一个以上第一处理器和第一存储器,被配置为实现结构管理服务器,所述结构管理服务器被配置为:
获取所述网络设备的硬件能力信息;
获取多个软件图像中的每个软件图像的软件能力信息,所述软件能力信息指定由所述软件图像提供的多个功能特征;
基于所述网络设备的所述硬件能力信息和所述软件能力信息,识别要安装在所述网络设备上的所述多个软件图像中的软件图像,
其中,所述硬件能力信息包括硬件能力矩阵,并且所述软件能力信息包括软件能力矩阵,以及
其中,所述结构管理服务器被配置为:将所述硬件能力矩阵与所述多个软件图像中的每个相应软件能力矩阵进行比较,并且基于所述比较选择所识别的软件图像,以及
一个或一个以上第二处理器和第二存储器,被配置为实现供应服务器,所述供应服务器存储所识别的软件图像,其中,所述结构管理服务器还被配置为使得所述供应服务器在所述网络设备上安装所识别的软件图像。
8.根据权利要求7所述的系统,
其中,所述结构管理服务器被配置为识别支持所述网络设备的所有网络设备硬件能力的所述软件图像。
9.根据权利要求7所述的系统,
其中,所述多个软件图像用于单个操作系统版本。
10.根据权利要求7所述的系统,
其中,所述一个或一个以上第一处理器是与所述一个或一个以上第二处理器相同的处理器。
11.根据权利要求7所述的系统,其中,所述网络设备包括物理服务器,并且其中,所述结构管理服务器被配置为:
发现所述物理服务器;以及
从所述物理服务器接收所述硬件能力信息的至少一部分。
12.根据权利要求7所述的系统,其中,所述结构管理服务器还被配置为:
接收所述网络设备的一个或一个以上角色分配;以及
至少部分地基于与所述网络设备相关联的所述一个或一个以上角色分配来识别所述软件图像。
13.根据权利要求7所述的系统,其中,所述网络设备包括IP结构交换机。
14.一种非暂时性计算机可读介质,包括使一个或一个以上可编程处理器执行以下步骤的指令:
获得用于网络设备的硬件能力信息;
获得多个软件图像中的每个软件图像的软件能力信息,所述软件能力信息指定由所述软件图像提供的多个功能特征;
基于所述网络设备的所述硬件能力信息和所述软件能力信息,识别要安装在所述网络设备上的所述多个软件图像中的软件图像,
其中,所述硬件能力信息包括硬件能力矩阵,并且所述软件能力信息包括软件能力矩阵;并且
其中,识别所述软件图像的所述指令包括将所述硬件能力矩阵与所述多个软件图像中的每个相应软件能力矩阵进行比较,并且基于所述比较选择所识别的软件图像的指令;以及
使存储所识别的软件图像的服务器将所识别的软件图像安装在所述网络设备上。
15.根据权利要求14所述的非暂时性计算机可读介质,其中,所述指令还包括使所述一个或一个以上可编程处理器执行以下步骤的指令:
接收所述网络设备的一个或一个以上角色分配;以及
至少部分地基于与所述网络设备相关联的所述一个或一个以上角色分配来识别所述软件图像。
CN201911320542.6A 2019-07-15 2019-12-19 用于网络设备的软件图像的自动选择 Active CN112235122B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962874387P 2019-07-15 2019-07-15
US62/874,387 2019-07-15
US16/588,554 2019-09-30
US16/588,554 US10996938B2 (en) 2019-07-15 2019-09-30 Automated selection of software images for network devices

Publications (2)

Publication Number Publication Date
CN112235122A CN112235122A (zh) 2021-01-15
CN112235122B true CN112235122B (zh) 2023-02-21

Family

ID=69005512

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911320542.6A Active CN112235122B (zh) 2019-07-15 2019-12-19 用于网络设备的软件图像的自动选择

Country Status (3)

Country Link
US (1) US10996938B2 (zh)
EP (1) EP3767883A1 (zh)
CN (1) CN112235122B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11258661B2 (en) * 2019-04-26 2022-02-22 Juniper Networks, Inc. Initializing server configurations in a data center
US11095504B2 (en) 2019-04-26 2021-08-17 Juniper Networks, Inc. Initializing network device and server configurations in a data center
US11477092B2 (en) * 2020-06-02 2022-10-18 Cisco Technology, Inc. Configuring secure connectivity between devices in separate sites of a multi-site domain
US11431567B1 (en) 2021-03-11 2022-08-30 Juniper Networks, Inc. Deploying a network management controller in an existing data center fabric
US11388047B1 (en) * 2021-03-17 2022-07-12 Microsoft Technology Licensing, Llc Stateless control planes
US12008415B2 (en) * 2021-04-23 2024-06-11 Dell Products L.P. Method and system for a semi-democratic determination of stackable system roles in an information handling system environment
EP4092963B1 (en) * 2021-05-20 2024-05-08 Ovh Method and system for datacenter network device maintenance
US11900126B2 (en) * 2021-09-29 2024-02-13 Dell Products L.P. Method and system for self determining a stackable system role for an information handling system
US11907727B2 (en) * 2021-09-29 2024-02-20 Dell Products L.P. Method and system for determining stackable system roles for information handling systems based on collective need
US12066974B2 (en) * 2022-01-12 2024-08-20 Dell Products L.P. Systems and methods for end-to-end workload modeling for servers
US20230327989A1 (en) * 2022-04-12 2023-10-12 Juniper Networks, Inc. Systems and methods for low convergence time for media access control move events
US11973642B1 (en) * 2023-06-16 2024-04-30 Hewlett Packard Enterprise Development Lp Automatic network device configuration

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6292485B1 (en) * 1999-06-03 2001-09-18 Fujitsu Network Communications, Inc. In-band management control unit software image download
US7231322B2 (en) 2003-06-26 2007-06-12 Microsoft Corporation Hardware/software capability rating system
US20100100778A1 (en) 2007-05-11 2010-04-22 Spiceworks, Inc. System and method for hardware and software monitoring with integrated troubleshooting
US9641394B2 (en) 2012-01-30 2017-05-02 Microsoft Technology Licensing, Llc Automated build-out of a cloud-computing stamp
US9710762B2 (en) 2012-06-06 2017-07-18 Juniper Networks, Inc. Dynamic logging
US9639344B2 (en) * 2014-12-11 2017-05-02 Ford Global Technologies, Llc Telematics update software compatibility
US20170171021A1 (en) 2015-12-09 2017-06-15 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Automatic deployment of a new server in a peer-to-peer network of servers
US10467002B2 (en) * 2016-06-24 2019-11-05 Vmware, Inc. Validating interoperability of installed components of a computer system
US10291497B2 (en) 2017-03-31 2019-05-14 Juniper Networks, Inc. Session-based traffic statistics logging for virtual routers
US10341841B2 (en) 2017-10-02 2019-07-02 Servicenow, Inc. Operation of device and application discovery for a managed network
JP7035635B2 (ja) * 2018-03-07 2022-03-15 トヨタ自動車株式会社 車両制御システム及び車両制御システムにおけるソフトウェアの整合性確認方法
US10855588B2 (en) * 2018-12-21 2020-12-01 Juniper Networks, Inc. Facilitating flow symmetry for service chains in a computer network

Also Published As

Publication number Publication date
US10996938B2 (en) 2021-05-04
US20210019131A1 (en) 2021-01-21
CN112235122A (zh) 2021-01-15
EP3767883A1 (en) 2021-01-20

Similar Documents

Publication Publication Date Title
CN112235122B (zh) 用于网络设备的软件图像的自动选择
US12047232B2 (en) Initializing network device and server configurations in a data center
EP3920484B1 (en) Liveness detection and route convergence in software-defined networking distributed system
CN111756612B (zh) 用于虚拟化计算基础设施的方法和系统
EP3920483A1 (en) Local repair for underlay failure using prefix independent convergence
CN112398676B (zh) 多租户环境中服务接入端点的基于供应商无关简档的建模
US10083026B1 (en) In-service software upgrade of software-defined networking controller
CN114697252B (zh) 计算机网络方法、软件定义网络控制器及存储介质
US10938660B1 (en) Automation of maintenance mode operations for network devices
EP3146676B1 (en) Touchless orchestration for layer 3 data center interconnect in communications networks
US11258661B2 (en) Initializing server configurations in a data center
US9311133B1 (en) Touchless multi-domain VLAN based orchestration in a network environment
US11997011B2 (en) Virtual port group

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