微服务器、分配mac地址的方法、以及计算机可读记录介质的制作方法_3

文档序号:8447532阅读:来源:国知局
210、CPU 220、以及存储设备230。处理器模块200是可以安装在微服务器100中的模块化高密度服务器,并且可以包括服务器的核心元件,例如,一个或多个CPU、存储设备、以及操作系统。处理器模块200安装在微服务器100的基板中,并且通过微服务器100与电源、输入端和输出端、以及各种控制功能支撑在一起以用作服务器。
[0066]CPU 220是处理器模块200的中央处理装置,并且对控制命令进行译码并执行算术和逻辑运算或者数据处理。CPU 220包括总线接口单元(BIU),并且与外部元件进行通信。CPU 可以是 Intel (R) CPU、ARM(R) CPU 或 ARM CPU。
[0067]模块控制器210与公共接口总线160相连,以中继公共接口总线160与由处理器模块200的CPU 220使用的接口之间的连接。处理器模块200被设计为与安装在处理器模块200中的CPU 220相对应的接口。因此,模块控制器210可以根据与安装在处理器模块200中的CPU220相对应的接口协议来转换控制命令和数据,以与微服务器100的公共接口总线进行通信。
[0068]模块控制器210与CPU 220的BIU相连,以与BIU交换控制命令和数据。例如,当安装在处理器模块200中的CPU是Intel (R)CPU时,模块控制器210通过I2C接口总线160-1从微服务器100的主控制器130接收控制命令,并且根据与Intel (R) CPU相对应的标准的接口转换控制命令,并向CPU 210和处理器模块200的每一个元件发送经转换的控制命令。
[0069]模块控制器200可以包括要用于控制安装在处理器模块200中的CPU 220的固件,并且可以控制处理器模块200的相应元件。处理器模块200的存储设备存储在处理器模块的模块控制器210和CPU 220中可使用的数据和/或要发送到外部装置或从外部装置接收的数据。
[0070]图3是示出了图1的网络控制器300的功能的图示。
[0071]I/O虚拟化是指可以允许多个处理器模块(或主机装置)同时使用单个I/O卡的技术。使用I/o虚拟化技术的网络控制器300具有单个物理装置和相互连接以共享单个物理端口的多个虚拟装置。
[0072]网络控制器300可以包括存储器310,例如,只读存储器(ROM)或闪速ROM、与外部装置相连的物理端口 320、连接器330、物理装置340、以及用于执行虚拟功能的多个虚拟装置 350。
[0073]ROM 310存储MAC地址池360,MAC地址池360包括预分配给微服务器100的多个MAC地址。预分配的MAC地址的数目可以与可安装在微服务器100中的服务器的数目相对应。预分配的MAC地址中的每一个MAC地址是未与在其他装置中使用的任何其他地址重叠的唯一地址。ROM 310可以是与网络控制器300可分离的。
[0074]MAC地址是以太网的长度为48个比特的物理地址,并且MAC地址的前24个比特被分配给卖方(vendor),其他28个比特由卖方根据IEEE标准进行分配。
[0075]虽然在本示例性实施例中将MAC地址存储在ROM 310中,但是MAC地址可以存储在各个地方。将参照图4至图7详细解释这一点。此外,虽然在图3中ROM 310位于网络控制器300外部,但是R0M310可以位于网络控制器300内部。然而,为了使用预分配的MAC地址而不论是否用新的网络控制器替换了网络控制器300,ROM 310可以是与网络控制器300可分离的。
[0076]物理端口 320与外部网络或装置物理连接。
[0077]连接器330被配置为将网络控制器300与外部交换机140相互连接。在该情况下,网络控制器300和外部交换机140可以通过PCI/PCIe总线相互连接。
[0078]物理装置340向网络控制器300分配预分配的MAC地址。物理装置340被分配MAC地址以使用存储在网络控制器300或与网络控制器300相连的ROM 310中的MAC地址。
[0079]响应于虚拟装置350被初始化或要被初始化,由OS向相应的虚拟装置350分配MAC地址。针对虚拟装置350的分配操作可以由网络控制器300来执行或者可以由外部主机来执行。下面将参照图4至图7来解释外部主机进行的MAC地址分配。
[0080]可以用以下三种分配方法之一来向相应的虚拟装置350分配MAC地址。
[0081]顺序分配方法是用于根据虚拟装置的初始化顺序分配多个MAC地址中尚未分配给其他装置的第一 MAC地址。随机分配方法是用于在虚拟装置被初始化时响应于MAC地址请求分配多个MAC地址中尚未被分配的某个MAC地址。管理器分配方法是用于在虚拟装置被初始化之前根据管理器建立的指定每一个装置的MAC地址的映射关系来分配MAC地址。
[0082]在上述方法之一中,ROM 310存储预分配的多个MAC地址、以及与多个MAC地址中的每一个MAC地址是否是以查找表的形式被使用以便示出多个MAC地址中的每一个MAC地址是否被使用有关的信息。因此,响应于特定的MAC地址被使用,网络控制器300可以标记MAC地址是否被使用,并且响应于特定的MAC地址被撤销,网络控制器300对MAC地址是否被使用撤销标记。
[0083]图4至图7是示出了在具有基于MR-1OV的多主机环境的系统中分配MAC地址的方法的图示。
[0084]图4示出了在具有基于MR-1OV的多主机环境的系统中当第一主机装置500_1存储MAC地址池时分配MAC地址的方法。
[0085]参照图4,在基于MR-1OV的多主机环境中,多个主机装置150-1和150-2之一可以用作管理主机(或1V管理主机)。在下文中,根据MR-1OV PCIe交换机400的控制,第一主机500-1可以称作管理主机。管理主机500-1管理支持I/O虚拟化功能和PCIe物理/虚拟装置与主机之间的连接结构的装置的初始化。管理主机500-1还可以管理网络控制器300中的物理装置/虚拟装置的初始化。
[0086]第一主机500-1存储预分配给微服务器100的多个MAC地址。多个MAC地址是针对一个或多个虚拟装置(350-1、350-2、......、和350-N)的MAC地址。即,物理装置340的
MAC地址存储在上述R0M310中,并且根据MR-1OV PCle交换机400的控制由网络控制器300来自动地分配。
[0087]此外,响应于虚拟装置350被初始化,第一主机500-1可以向对应的虚拟装置分配MAC地址。分配方法可以是上述顺序分配方法、随机分配方法、以及管理器分配方法之一。
[0088]在所示的示例中,MAC地址可以由第一主机500存储。然而,MAC地址可以根据用户或设计偏好由另一装置来存储。
[0089]图5是示出了在具有基于MR-1OV的多主机环境的系统中当第二主机装置500_2存储MAC地址池时分配MAC地址的方法的图示。
[0090]参照图5,在基于MR-1OV的多主机环境中,第二主机装置150_2’存储预分配给微服务器100的多个MAC地址。
[0091]响应于虚拟装置350被初始化,第一主机500-1’可以根据MR-1OVPCIe交换机400的控制通过使用存储在第二主机500-2’中的MAC地址来向每一个虚拟装置350分配MAC地址。分配方法可以是上述顺序分配方法、随机分配方法、以及管理器分配方法之一。
[0092]图6是示出了在基于MR-1OV的多主机环境中当存储设备700存储MAC地址池时分配MAC地址的方法的图示。
[0093]参照图6,微服务器100中的存储设备700存储多个MAC地址。存储设备700与交换机400 (例如MR-1OV PCIe交换机)相连。
[0094]因此,响应于虚拟装置350被初始化,第一主机500-1 ”通过交换机400接收存储在存储设备700中的MAC地址,并且向虚拟装置350分配MAC地址。分配方法可以是上述顺序分配方法、随机分配方法、以及管理器分配方法之一。
[0095]图7是示出了在具有基于MR-1OV的多主机环境的系统中当外部装置800存储MAC地址池时分配MAC地址的方法的图示。
[0096]参照图7,位于微服务器100外部的外部装置800存储多个MAC地址。外部装置800可以是管理服务器或仅用于存储MAC地址的专用存储装置。外部装置800可以选择性地根据有线或无线通信方法连接到微服务器100。
[0097]物理装置340可以甚至在网络控制器300的虚拟装置350被初始化之前操作。因此,响应于虚拟装置350被初始化,第一主机500-1”’可以通过物理装置340取来(bring)存储在外部装置800中的MAC地址,并且可以向虚拟装置350分配MAC地址。分配方法可以是上述顺序分配方法、随机分配方法、以及管理器分配方法之一。
[0098]在上述示例性实施例中,示出了当多个处理器模块通过使用I/O虚拟化方法(也即是说,
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1