CN1783017A - 在逻辑分区之间转移网络业务的方法及系统 - Google Patents
在逻辑分区之间转移网络业务的方法及系统 Download PDFInfo
- Publication number
- CN1783017A CN1783017A CNA2005101246654A CN200510124665A CN1783017A CN 1783017 A CN1783017 A CN 1783017A CN A2005101246654 A CNA2005101246654 A CN A2005101246654A CN 200510124665 A CN200510124665 A CN 200510124665A CN 1783017 A CN1783017 A CN 1783017A
- Authority
- CN
- China
- Prior art keywords
- subregion
- logical partition
- packet
- instruction
- virtual
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
Abstract
公开了用于在一个或多个数据处理系统里的逻辑分区之间转移网络业务的方法、系统和计算机程序产品。所述方法包括:关于一个或多个数据处理系统的一个或多个处理单元来定义多个逻辑分区,以及在所述多个逻辑分区之中从第二分区向第一分区动态地重新分配资源。等待处理的数据包从所述第二分区被传输到所述第一分区,以及在所述第一分区上被处理。
Description
相关申请的交叉引用
本申请涉及下面未决的美国专利申请,并且在此全部引入作为参考:
申请号11/002,538,申请日2004年12月2日,标题是“METHODAND SYSTEM FOR SHARED INPUT/OUTPUT ADAPTER INLOGICALLY PARTITIONED DATA PROCESSING SYSTEM”;
申请号10/413,618,申请日2003年4月14日,标题是“MULTIPLEVIRTUAL LOCAL AREA NETWORK SUPPORT FOR SHAREDNETWORK ADAPTERS”;
美国专利申请公布号US 2003/0236852 A1,于2003年12月25日公布,标题是“SHARING NETWORK ADAPTER AMONGMULTIPLE LOGICAL PARTITIONS IN A DATA PROCESSINGSYSTEM”;
美国专利申请公布号US 2003/0145122 A1,于2003年7月31日公布,标题是“APPARATUS AND METHOD OF ALLOWINGMULTIPLE PARTITIONS OF A PARTITIONED CUMPUTERSYSTEM TO USE A SINGLE NETWORK ADAPTER”;以及
美国专利6,631,422 B1,授权日2003年10月7日,标题是“NETWORK ADAPTER UTILIZING A HASHING FUNCTIONFOR DISTRIBUTING PACHKETS TO MULTIPLE PROCESSORSFOR PARALLEL PROCESSING”。
技术领域
本发明一般涉及在数据处理系统中共享资源,并且具体来说,涉及在数据处理系统的逻辑分区之间重新分配资源。更具体来说,本发明涉及用于在一个或多个数据处理系统里的逻辑分区之间转移网络业务的系统、方法和计算机程序产品。
背景技术
数据处理系统的逻辑分区(logical partitioning)(LPAR)在单个处理器上允许有一个或多个操作系统的几个当前实例,由此给用户提供将单个物理数据处理系统分成能够在多个、独立的环境里同时运行应用的几个独立的逻辑数据处理系统的能力。例如,逻辑分区使得用户能在分离的分区上使用不同的数据组来运行单个应用,就好像应用在不同的物理系统上独立地运行一样。
进行分区已经从基于硬件边界的主要物理方案发展到具有负载平衡的考虑允许虚拟和共享资源的方案。驱动进行分区的因素从首先被分区的大型机到当今的现代服务器一直都存在。逻辑分区是通过分配单个系统的资源以便在所述物理系统中产生多个、独立的逻辑系统来实现的。所得到的逻辑结构包括主分区和一个或多个辅助分区。
所分区的数据处理系统产生以及关闭或撤销单个处理器上的一个或多个操作系统的同时存在的实例的能力产生了与资源和进程从一个分区向另一个进行迁移有关许多技术挑战。在这些挑战中,作为通过共享以太网适配器及其它通信技术而出现在网络上的逻辑分区的日益增加的使用的结果,非常需要与共享分区上的进程或资源进行通信的实体,以使得即使在服务(hosting)进程或资源的分区被关闭并且服务所述分区的数据处理系统已经将进程或资源移到新的分区之后,也可以继续对所述进程或资源进行寻址或与其通信。
所需的是用于在一个或多个数据处理系统中的逻辑分区之间转移网络业务的系统、方法和计算机程序产品。
发明内容
公开了用于在一个或多个数据处理系统里的逻辑分区之间转移网络业务的方法、系统和计算机程序产品。所述方法包括:关于一个或多个数据处理系统的一个或多个处理单元来定义多个逻辑分区,以及在所述多个逻辑分区之中从第二分区向第一分区动态地重新分配资源。等待处理的数据包(packet)从所述第二分区被传输到所述第一分区,以及在所述第一分区上被处理。
附图说明
本发明的特点所确认的新颖性特征在所附权利要求中被提出。然而,结合附图,参考下面说明性实施例的详细描述,本发明本身以及其优选使用模式、其它目的和优点将会更好地被理解,其中:
图1说明了数据处理系统的框图,其中,用于在逻辑分区的数据处理系统中共享输入/输出适配器的系统、方法和计算机程序产品的优选实施例被实现;
图2说明了根据本发明的优选实施例的在逻辑分区的处理单元中的虚拟网络部件;
图3描述了根据本发明的优选实施例的由处理单元的多个逻辑分区所共享的以太网适配器;
图4描述了根据本发明的优选实施例的在处理单元的逻辑分区之间的处理资源的转移;
图5是根据本发明的优选实施例的用于对处理从被迁移的分区所输出的数据包的服务器所接收的数据包进行处理的高级流程图;
图6是根据本发明的优选实施例的用于对新的I/O服务器上所接收的数据包进行处理的高级流程图;
图7是根据本发明的优选实施例的用于在支持正从其迁移进程或资源的分区的服务器上于切换时进行队列监控的高级流程图;以及
图8是根据本发明的优选实施例的用于在服务正向其迁移进程或资源的LPAR的I/O服务器上处理数据包迁移的高级流程图。
具体实施方式
现在参考附图,特别是参考图1,图中描述了数据处理系统100,其可以被用于实现本发明的方法、系统和计算机程序产品。为了讨论的目的,数据处理系统被描述为具有与服务器计算机相同的特征。然而,如这里所使用的那样,“数据处理系统”意味着包括能够接收、存储和运行软件产品的任意类型的计算设备或机器,不仅包括计算机系统,而且包括诸如通信设备(例如,路由器、交换机、寻呼机、电话、电子书籍、电子杂志及报纸等)以及个人和家庭用户设备(例如,手持计算机、允许网页的电视、家庭自动系统、多媒体收看系统等)的设备。
图1及随后的讨论是为了提供适合于实现本发明的示例性数据处理系统的简洁的、一般的描述。尽管本发明的各部分可以就位于服务器计算机中的硬件上的指令的一般上下文来进行描述,但是,本领域的技术人员应当认识到,本发明还可以结合操作系统中运行的程序模块而被实现。通常,程序模块包括:例程、程序、部件和数据指令,其执行特定的任务或者实现特定的抽象数据类型。本发明还可以在分布式计算环境中被实施,其中,任务是通过远程处理设备来执行的,所述远程处理设备通过通信网络而被链接。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。
数据处理系统100包括:一个或多个处理单元102a-102d,被耦合到存储器控制器105的系统存储器104,以及将存储器控制器105耦合到(若干)处理单元102和数据处理系统100的其它部件的系统互连结构106。系统互连结构106上的命令在总线仲裁器(arbiter)108的控制下被传送给各个系统部件。
数据处理系统100还包括固定的存储媒介,例如第一硬盘驱动器110和第二硬盘驱动器112。第一硬盘驱动器110和第二硬盘驱动器112通过输入-输出(I/O)接口114而可通信地被耦合到系统互连结构106。第一硬盘驱动器110和第二硬盘驱动器112为数据处理系统100提供非易失性的存储。尽管上面计算机可读媒介的描述指的是硬盘,但是,本领域的技术人员应当理解,在示例性的计算机操作环境中也可以使用可由计算机读取的其它类型的媒介,例如,可拆卸磁盘、CD-ROM盘、磁带、闪存卡、数字视频盘、伯努利磁盒(Bernoullicartridge)、以及其它后来开发的硬件。
数据处理系统100可以使用到一个或多个例如远程计算机116的远程计算机的逻辑连接而在网络环境中进行操作。远程计算机116可以是服务器、路由器、点对点设备或其它普通的网络节点,以及典型地包括关于数据处理系统100所描述的单元中的许多或全部。在网络环境中,由数据处理系统100所采用的程序模块或其部分可以被存储在远程存储器存储设备中,例如,在远程计算机116中。图1A所描述的逻辑连接包括通过局域网(LAN)118的连接,但是,在其它的实施例中,可以包括广域网(WAN)。
当在LAN网络环境中被使用时,数据处理系统100通过诸如网络适配器120的输入/输出接口被连接到LAN 118。应当理解,所示的网络连接是示例性的,以及在计算机之间建立通信链路的其它装置可以被使用。
现在到图2,图中描述了根据本发明优选实施例的逻辑分区的处理单元中的虚拟网络部件被描述。处理单元102a运行三个逻辑分区200a-200c以及用于在逻辑分区200a-200c之间管理交互和分配资源的管理模块202。管理模块202内被实现的第一虚拟LAN 204在第一逻辑分区200a、第二逻辑分区200b和第三逻辑分区200c之间提供通信交互。也在管理模块202内被实现的第二虚拟LAN 206在第一逻辑分区200a和第三逻辑分区200c之间提供通信交互。
逻辑分区200a-200c(LPAR)中的每个都是一种由第一硬盘驱动器110及第二硬盘驱动器112上的系统存储器104和存储资源的分配所支持的处理器102a的资源的划分。逻辑分区200a-200c的产生以及处理器102a和数据处理系统100上的资源到逻辑分区200a-200c的分配都是由管理模块202来控制的。逻辑分区200a-200c中的每个及其相关的资源组可以作为通过其自己的操作系统实例和应用的独立计算进程而独立地被操作。可以被产生的逻辑分区的数量取决于数据处理系统100的处理器模型及可用的资源。典型地,分区被用于不同的目的,例如数据库操作或客户机/服务器操作,或者用于分离测试和生产环境。每个分区可以通过第一虚拟LAN 204和第二虚拟LAN 206与其它分区进行通信(就好像每个其它分区是在分离的机器上)。
第一虚拟LAN 204和第二虚拟LAN 206是虚拟以太网技术的例子,所述技术允许在相同系统的逻辑分区之间进行基于IP的通信。虚拟LAN(VLAN)技术由IEEE 802.1Q标准所描述,其在此引入作为参考。VLAN技术在逻辑上对物理网络进行分段,以使得第2层连接被限制到属于所述VLAN的成员中。如下面将进一步解释的那样,这种分离是通过用VLAN成员信息来标记以太网数据包并且然后对到给定VLAN的成员的分发进行限制而实现的。
VLAN标记中所包括的VLAN成员信息被称为VLAN ID(VID)。设备被配置为由用于所述设备的VID所指定的VLAN的成员。在本说明书中所使用的例如ent(0)的设备定义了表示操作系统的运行中的适配器或伪适配器的实例。设备的默认VID被称为设备VID(PVID)。虚拟以太网适配器208通过PVID 1 210和VID 10 212而在设备ent0为第一虚拟LAN 202的其他成员所识别。第一LPAR 200a还具有在设备ent1处的VLAN设备214(VID 10),所述VLAN设备214是在用于和第二虚拟LAN 206进行通信的ent0处的基础虚拟以太网适配器210上被产生的。第一LPAR 200a还可以使用设备ent0处的第一虚拟LAN 204与第一虚拟LAN 204上的其它主机进行通信,因为,管理模块202会在分发ent0上的数据包之前除去PVID标记,以及将PVID标记加到还未具有标记的任何数据包上。另外,第一LPAR 200a具有用于设备ent0处的虚拟以太网适配器208的VLAN IP地址216以及用于设备ent1处的VLAN设备214的VLAN IP地址218。
第二LPAR 200b也具有在设备ent0的单个虚拟以太网适配器220,所述单个虚拟以太网适配器220被产生具有PVID 1 222而没有额外的VID。因此,第二LPAR 200b不需要任何VLAN设备的配置。第二LPAR 200b通过设备ent0上的虚拟以太网适配器220在第一VLAN 204网络上进行通信。第三LPAR 200c具有分别通过PVID 1234和PVID 10 236所产生的具有VLAN IP地址230的在设备ent0上的第一虚拟以太网适配器226和具有VLAN IP地址232的在ent1上的第二虚拟以太网适配器228。第二LPAR 200b和第三LPAR 200c都不具有所定义的任何额外的VID。其配置的结果是,第三LPAR 200c可以分别使用具有VLAN IP地址230的在设备ent0上的第一虚拟以太网适配器226和具有VLAN IP地址232的在ent1上的第二虚拟以太网适配器228,在第一虚拟LAN204和第二虚拟LAN 206上进行通信。
现在参考图3,图中说明了根据本发明优选实施例的处理单元的多个逻辑分区所共享的以太网适配器。包括逻辑上被分成逻辑分区200a-200c(LPAR)的处理单元102a的数据处理系统100还运行虚拟I/O服务器300,所述虚拟I/O服务器300包括共享以太网适配器302,用于和网络接口120进行交互,以允许第一LPAR 200a、第二LPAR200b和第三LPAR 200c通过以太网交换机314,通过第一虚拟LAN204、第二虚拟LAN 206、第一远程LAN 310和第二远程LAN 312的结合,在它们之间以及与第一独立数据处理系统304、第二独立输出处理系统306和第三独立数据处理系统308进行通信。第一LPAR 200a提供与虚拟I/O服务器300之间的连接,并且被称为宿主(hosting)分区。
尽管虚拟以太网技术能够在相同的数据处理系统100上提供LPAR 200a-200c之间的通信,但是,数据处理系统100之外的网络接入需要物理适配器,例如网络适配器120,以便与远程LAN 310和第二远程LAN 312进行交互。在现有技术中,与远程LAN 310和第二远程LAN 312的交互是通过将物理网络适配器120分配给需要接入到例如LAN 118的外部网络的每个LPAR来实现的。在本发明中,单个物理网络适配器120在多个LPAR 200a-200c之间共享。
在本发明中,被称为虚拟I/O服务器300的第一分区200a内的特定模块提供封装的设备分区,所述封装的设备分区提供例如网络、盘、带以及到LPAR 200a-200c的其它接入的服务,而不需要每个分区拥有一个单独的设备,例如网络适配器120。虚拟I/O服务器300的网络接入部件被称为共享以太网适配器(SEA)302。尽管本发明是参考与网络适配器120一起使用的SEA 302来进行解释的,但是,本发明同样可应用于任何外围适配器或其它设备,例如I/O接口114。
SEA 302用作物理网络适配器120或物理适配器的集合与虚拟I/O服务器300上的第一虚拟LAN 204和第二虚拟LAN 206中的一个或多个之间的桥。另外,SEA 302包括物理传输队列301,用于在发送前存储必需被保存的数据包。SEA 302使得在第一虚拟LAN 204和第二虚拟LAN 206上的LPAR 200a-200c能够通过网络适配器120共享到物理以太网交换机314的接入,以及与第一独立数据处理系统304、第二独立数据处理系统306和第三独立数据处理系统308(或者在第一独立数据处理系统304、第二独立数据处理系统306和第三独立数据处理系统308上运行的LPAR)进行通信。
SEA 302借助于通过管理模块202将第一虚拟LAN 204和第二虚拟LAN 206与远程LAN 310和第二远程LAN 312相连来提供这种接入,以允许被连接到这些LAN上的机器和分区作为相同VLAN的成员而无缝地进行操作。共享以太网适配器302使得数据处理系统100的处理单元102a上的LPAR 200a-200c能够与第一独立数据处理系统304、第二独立数据处理系统306和第三独立数据处理系统308以及处理单元102b-d上的LPAR共享IP子网,从而允许有更灵活的网络。
SEA 302处理第2层的数据包。由于SEA 302处理第2层的数据包,因此,数据包的原始MAC地址和VLAN标记在以太网交换机314上对于第一独立数据处理系统304、第二独立数据处理系统306和第三独立数据处理系统308仍然是可见的。
现在到图4,图中描述了根据本发明优选实施例的在处理单元上的逻辑分区之间的处理资源的转移。处理单元102a运行三个逻辑分区200a-200c以及用于在逻辑分区200a-200c之间管理交互和分配资源的管理模块202。管理模块202内被实现的第一虚拟LAN 204在第一逻辑分区200a与第二逻辑分区200b及第三逻辑分区200c之间提供通信交互,所述第一逻辑分区200a用作宿主分区并且包括共享以太网适配器302。类似地,处理单元102b运行三个逻辑分区400a-400c以及用于在逻辑分区400a-400c之间管理交互和分配资源的管理模块404。经过以太网交换机314被共享并在管理模块404内被实现的第一虚拟LAN 204提供在第一逻辑分区400a与第二逻辑分区200b及第三逻辑分区200c之间的通信交互,所述第一逻辑分区400a用作宿主分区并包括共享以太网适配器402。
处理单元102a和处理单元102b之间的通信可通过以太网交换机314获得,或者在希望有较高速的链路的情况下,通过系统互连结构106来获得。SEA 302位于处理单元102a的(宿主)逻辑分区200a上的虚拟I/O服务器300内,而SEA 402位于处理单元102b的(宿主)逻辑分区400a上的虚拟I/O服务器406内。尽管为了简单起见,图4的示例性优选实施例关于在数据处理系统100内的分离的处理器上的分区来进行说明,但是,本领域的技术人员应当很快认识到,本发明可以关于在分离的数据处理系统上并在分离的物理位置中的处理器,例如数据处理系统100和远程计算机116中的处理器,而被执行并且常常会是这样执行的。
在图4中,处理单元102a和处理单元102b将此后被称为镜像的资源或处理从处理单元102a上的第二逻辑分区200b迁移到处理单元102b上第二逻辑分区400b。为了方便起见,在图4中,处理单元102a上的进行发送的第二逻辑分区200b和第一(宿主)逻辑分区200a被标记为“旧的”,而在处理单元102b上的进行接收的第二逻辑分区400b和第一(宿主)逻辑分区400a被标记为“新的”。为了实现所述迁移(migration),处理单元102a上的第一(宿主)分区200a通过例如系统互连结构(fabric)106(或以太网交换机314)的高速链路,将与第二逻辑分区200b上的进行迁移的资源或处理有关的存储页拷贝到处理单元102b上的第一(宿主)分区400a上,用于与处理单元102b上的第二逻辑分区400b相关联。由于处理单元102a上的第二逻辑分区200b的第一虚拟LAN 204内的MAC地址被传输给处理单元102b上的第二逻辑分区400b,因此,大多数操作系统部件不知道所述迁移。
随着图4所示的迁移的进行,传送中的以太网数据包通过处理单元102a的第一(宿主)逻辑分区200a的SEA 302被发送到以太网交换机314里。基于传送中的数据包,例如以太网交换机314的网络交换结构知道图4中正在进行的转移,并且将输入数据包转发给处理单元102b上的第二逻辑分区400b,所述输入数据包曾是用于处理单元102a上的第二逻辑分区200b上的处理和资源的。在从进行发送的分区到进行接收的分区的切换时进行传送的数据包的处理在下面参考图5-8更加详细地被讨论。
在(从处理单元102a上的第二逻辑分区200b到处理单元102b上的第二逻辑分区400b的)切换点之后,处理单元102a的第一逻辑分区200a上的虚拟I/O服务器300会将任何数据包转发到处理单元102b上的第一逻辑分区400a,所述数据包由第二逻辑分区200b通过处理单元102a上的第一逻辑分区200a所发送。处理单元102b上的第一逻辑分区400a在虚拟I/O服务器406内的专用队列中对处理单元102b上的所转发的数据包进行排队,直到从处理单元102a上的第一逻辑分区200a接收到所有旧的数据包都被发送的通知为止。在处理单元102a的第一逻辑分区200a所接收的输入数据包类似地被转发到处理单元102b上的第一逻辑分区400a,正如关于图6所讨论的那样。如关于图7所详细说明的那样,当处理单元102a上第一逻辑分区200a所发送的数据包的数量超过物理传输队列301中所排队的数据包的数量时,处理单元102a上的第一逻辑分区200a确定所有旧的数据包都已经被发送。
现在参考图5,图中示出了根据本发明优选实施例的用于对处理从被迁移的分区所输出的数据包的服务器所接收的数据包进行处理的高级流程图。进程在步骤500开始。然后,进程运行到步骤502,步骤502说明,处理单元102a的第一(宿主)分区200a的虚拟I/O服务器300内的SEA 302接受来自于第二分区200b的数据包,从第二分区200b,进程或资源被迁移。接着,进程进行到步骤504,步骤504说明,虚拟I/O服务器300确定从处理单元102a上的第二分区200b到处理单元102b上的第二分区400b的进程或资源的迁移是否已经被完成。如果从处理单元102a上的第二分区200b到处理单元102b上的第二分区400b的进程或资源的迁移已经被完成,则进程接着运行到步骤506。在步骤506,第一分区200a上的虚拟I/O服务器300封装所接收的数据包,以及SEA 302将所接收的数据包转发到处理单元102b的第一分区400a上虚拟I/O服务器406的SEA 402。进程然后在步骤508结束。
如果在步骤504,虚拟I/O服务器300确定从处理单元102a上的第二分区200b到处理单元102b上的第二分区400b的进程或资源的迁移没有被完成,则进程接着进行到步骤510。在步骤510,处理单元102a的第一分区200a上虚拟I/O服务器300的SEA 302在物理以太网或其它LAN 118上通过以太网交换机314来转发所接收的数据包。进程接着运行到上面所描述的步骤502。
现在到图6,图中描述了用于根据本发明优选实施例来处理由服务进程或资源被迁移到的LPAR的I/O服务器所接收的数据包的高级流程图。进程在步骤600开始。进程然后运行到步骤602,步骤602说明,处理单元102b的第一分区400a上的虚拟I/O服务器406的SEA402接受并解封装从处理单元102a上的第一分区200a的虚拟I/O服务器300上的SEA 302所接收的数据包。所接受的数据包在其被SEA402接受时由虚拟I/O服务器406所解封装。进程接着进行到步骤604,步骤604描述了,处理单元102b的第一分区400a上虚拟I/O服务器406确定被迁移到处理单元102b的第二分区400b的进程或资源是否准备好接收在步骤602所解封装的数据包。如果在步骤604,虚拟I/O服务器406确定从处理单元102a的第二逻辑分区200b到处理单元102b的第二分区400b所迁移的进程或资源准备好接收在步骤602所解封装的数据包,则进程接着进行到步骤606。在步骤606,处理单元102b的第一分区400a内的虚拟I/O服务器406通过虚拟以太网204将步骤602所接收和解封装的数据包分发给第二分区400b。进程然后在步骤608结束。
如果在步骤604,处理单元102b的第一分区400a内的虚拟I/O服务器406确定从处理单元102a的第二逻辑分区200b到处理单元102b的第二分区400b所迁移的进程或资源没有准备接收所解封装的数据包,则进程接着进行到步骤605。
步骤605描述了,处理单元102b的第一分区400a上的虚拟I/O服务器406的SEA 402对步骤602中所接收的数据包进行排队用于存储,直到从处理单元102a的第二逻辑分区200b到处理单元102b的第二分区400b所迁移的进程或资源准备接收所解封装的数据包。进程然后返回上面所描述的步骤604。
现在参考图7,图中说明了根据本发明优选实施例的用于在支持正从其迁移进程或资源的分区的服务器上进行切换时进行队列监控的高级流程图。进程在步骤700开始。进程然后运行到步骤702,步骤702说明了,处理单元102a的第一逻辑分区200a上的虚拟I/O服务器300检查虚拟I/O服务器300内的物理传输队列301。进程接着进行到步骤704,步骤704描述了,虚拟I/O服务器300确定在步骤702所检查的物理传输队列301是否是空的,或者物理传输队列中所存储的数据包的量是否小于切换后所发送的数据包的数量。如果在步骤704确定队列是空的或者队列的大小小于切换后所发送的数据包,则进程然后进行到步骤706,步骤706说明了,通知处理单元102b的第一分区400a上的新的I/O服务器,虚拟I/O服务器406,开始发送数据包。进程然后在步骤708结束。
在步骤704,如果确定物理传输队列301是空的或者物理传输队列301中所存储的数据包的量大于切换后所发送的数据包的数量,则进程然后运行到步骤710,步骤710描述了,虚拟I/O服务器406执行延迟。进程然后进行到上面所描述的步骤704。
现在到图8,图中描述了根据本发明优选实施例的用于在服务向其迁移进程或资源的LPAR的I/O服务器上处理数据包迁移的高级流程图。进程在步骤800开始。进程然后运行到步骤802,步骤802说明了,处理单元102b的第一分区400a上的虚拟I/O服务器406的SEA402确定是否已经从处理单元102a上的第一分区200a的虚拟I/O服务器300上的SEA 302接收到数据包。如果处理单元102b的第一分区400a上的虚拟I/O服务器406的SEA 402确定没有从处理单元102a上的第一分区200a的虚拟I/O服务器300上的SEA 302接收到任何数据包,则进程进行到步骤804。步骤804描述了,处理单元102b的宿主分区400a上虚拟I/O服务器406确定是否从处理单元102a的第一分区200a内的虚拟I/O服务器300接收到对所排队的数据包进行发送的通知。如果在步骤804,处理单元102b的第一分区400a内的虚拟I/O服务器106确定已经接收到进行发送的通知,则进程进行到步骤806,步骤806描述了,处理单元102b的第一分区400a上的虚拟I/O服务器406在物理以太网或LAN 118上通过SEA 402将指示所迁移分区的新地址的无偿(gratuitous)地址解析消息发送到以太网交换机314。进程然后在步骤808结束。
返回步骤804,如果在步骤804,处理单元102b的第一分区400a内的虚拟I/O服务器106确定没有接收到进行发送的通知,则进程然后进行到步骤805,步骤805描述了,处理单元102b的第一分区400a上的虚拟I/O服务器406延迟动作。进程接着返回上面所描述的步骤802。如果在步骤802,处理单元102b的第一分区400a上的虚拟I/O服务器406的SEA 402确定已经从处理单元102a上的第一分区200a的虚拟I/O服务器300上的SEA 302接收到数据包,则进程进行到步骤810,步骤810描述了,处理单元102b的第一分区400a上的虚拟I/O服务器406的SEA 402接受从处理单元102a上的第一分区200a的虚拟I/O服务器300上的SEA 302所接收的数据包。
进程接着运行到步骤812,所述步骤812描述了,处理单元102b的宿主分区400a上的虚拟I/O服务器406确定是否已经从处理单元102a的第一分区200a内的虚拟I/O服务器300接收到对所排队的数据包进行发送的通知。如果在步骤812,处理单元102b的第一分区400a内的虚拟I/O服务器106确定已经接收到进行发送的通知,则进程然后进行到步骤814,步骤814描述了,处理单元102b的第一分区400a上的虚拟I/O服务器406发送所排队的数据包。进程接着在上面所讨论的步骤808结束。
如果在步骤812,处理单元102b的第一分区400a内的虚拟I/O服务器106确定还未接收到进行发送的通知,则进程接着进行到步骤816,步骤816说明了,处理单元102b的第一分区400a上的虚拟I/O服务器406对数据包进行排队用于存储,直到接收到进行发送的通知为止。进程然后返回到上面所讨论的步骤812。
本发明提供了资源或进程从处理单元102a上的第二逻辑分区200b到处理单元102b上的第二逻辑分区400b的平滑迁移。如上面所讨论的那样,本发明保证了,一旦所迁移的镜像开始在处理单元102b上的第二逻辑分区400b上进行操作,就不再从处理单元102a上的第二逻辑分区200b发送任何数据包。另外,本发明通过提供进行转发的方法,而在资源或进程从处理单元102a上的第二逻辑分区200b向处理单元102b上的第二逻辑分区400b进行迁移期间使丢包的数量最小化。所述优选的实施例保证了,网络交换结构不会从处理单元102a上的第二逻辑分区200b和处理单元102b上的第二逻辑分区400b接收具有相同以太网MAC地址的交错的数据包。
尽管本发明是具体参考优选实施例而被描述的,但是,本领域的技术人员应当理解,其中可以进行形式和细节上的改变,而不脱离本发明的精神和范围。重要的是要注意,尽管本发明是在完全功能的计算机系统的上下文中被描述的,但是,本领域的技术人员应当知道,本发明的机制能够作为各种形式的程序产品而被分发,以及本发明可以被同样地应用,而不管用于实际执行所述分发的信号承载媒介的特定类型。信号承载媒介的例子非限制性地包括可记录类型的媒介,例如软盘或CD ROM,以及包括传输类型的媒介,例如模拟或数字通信链路。
Claims (20)
1.一种用于在一个或多个数据处理系统里的逻辑分区之间转移网络业务的方法,所述方法包括:
关于一个或多个数据处理系统的一个或多个处理单元来定义多个逻辑分区;
在所述多个逻辑分区之中从第二分区向第一分区动态地重新分配资源;
将等待处理的数据包从所述第二分区传输到所述第一分区;以及
在所述第一分区上处理所述数据包。
2.根据权利要求1的方法,其中,所述传输步骤还包括:
将输出的数据包从所述第二逻辑分区传送到所述第一逻辑分区;
保持所述输出数据包和在所述第一逻辑分区上所产生的输出数据包,直到所述传送步骤被完成;以及
发送所述输出数据包。
3.根据权利要求1的方法,其中所述传输步骤还包括:将输入数据包从所述第二逻辑分区传送到所述第一逻辑分区。
4.根据权利要求1的方法,其中,所述重新分配步骤还包括:所述第二分区发现与所述第一分区相关的网络信息。
5.根据权利要求1的方法,其中,所述重新分配步骤还包括:所述第一分区的虚拟以太网适配器采用所述第二分区的虚拟以太网适配器的MAC地址。
6.根据权利要求1的方法,还包括:响应传输所述数据包,通过重新分配所述第二分区的所有资源来暂停所述第二分区的活动。
7.根据权利要求1的方法,还包括:指定所述第一分区作为被指定给所述第一分区和所述第二分区的所有数据包的接受者。
8.一种用于在一个或多个数据处理系统里的逻辑分区之间转移网络业务的系统,所述系统包括:
关于一个或多个数据处理系统的一个或多个处理单元来定义多个逻辑分区的装置;
用于在所述多个逻辑分区之中从第二分区向第一分区动态地重新分配资源的装置;
用于将等待处理的数据包从所述第二分区传输到所述第一分区的装置;以及
用于在所述第一分区上处理所述数据包的装置。
9.根据权利要求8的系统,其中,所述传输装置还包括:
用于将输出的数据包从所述第二逻辑分区传送到所述第一逻辑分区的装置;
用于保持所述输出数据包和在所述第一逻辑分区上所产生的输出数据包直到所述传送步骤被完成的装置;以及
用于发送所述输出数据包的装置。
10.根据权利要求8的系统,其中所述传输装置还包括:用于将输入数据包从所述第二逻辑分区传送到所述第一逻辑分区的装置。
11.根据权利要求8的系统,其中,所述重新分配装置还包括:用于所述第二分区发现与所述第一分区有关的网络信息的装置。
12.根据权利要求8的系统,其中,所述重新分配装置还包括:用于所述第一分区的虚拟以太网适配器采用所述第二分区的虚拟以太网适配器的MAC地址的装置。
13.根据权利要求8的系统,还包括:用于响应传输所述数据包而通过重新分配所述第二分区的所有资源来暂停所述第二分区的活动的装置。
14.根据权利要求8的系统,还包括:用于指定所述第一分区作为被指定给所述第一分区和所述第二分区的所有数据包的接受者的装置。
15.一种用于在一个或多个数据处理系统里的逻辑分区之间转移网络业务的计算机可读媒介中的计算机程序产品,所述计算机程序产品包括:
计算机可读媒介;
关于一个或多个数据处理系统的一个或多个处理单元来定义多个逻辑分区的计算机可读媒介上的指令;
用于在所述多个逻辑分区之中从第二分区向第一分区动态地重新分配资源的计算机可读媒介上的指令;
用于将等待处理的数据包从所述第二分区传输到所述第一分区的计算机可读媒介上的指令;以及
用于在所述第一分区上处理所述数据包的计算机可读媒介上的指令。
16.根据权利要求15的计算机程序产品,其中,所述传输指令还包括:
用于将输出的数据包从所述第二逻辑分区传送到所述第一逻辑分区的计算机可读媒介上的指令;
用于保持所述输出数据包和在所述第一逻辑分区上所产生的输出数据包直到所述传送步骤被完成的计算机可读媒介上的指令;以及
用于发送所述输出数据包的计算机可读媒介上的指令。
17.根据权利要求15的计算机程序产品,其中所述传输指令还包括:用于将输入数据包从所述第二逻辑分区传送到所述第一逻辑分区的计算机可读媒介上的指令。
18.根据权利要求15的计算机程序产品,其中,所述重新分配指令还包括:用于所述第二分区发现与所述第一分区有关的网络信息的计算机可读媒介上的指令。
19.根据权利要求15的计算机程序产品,其中,所述重新分配指令还包括:用于所述第一分区的虚拟以太网适配器采用所述第二分区的虚拟以太网适配器的MAC地址的计算机可读媒介上的指令。
20.根据权利要求15的计算机程序产品,还包括:响应传输所述数据包而通过重新分配所述第二分区的所有资源来暂停所述第二分区的活动的指令。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/002,538 | 2004-12-02 | ||
US11/002,538 US20060123111A1 (en) | 2004-12-02 | 2004-12-02 | Method, system and computer program product for transitioning network traffic between logical partitions in one or more data processing systems |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1783017A true CN1783017A (zh) | 2006-06-07 |
CN100385403C CN100385403C (zh) | 2008-04-30 |
Family
ID=36575671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005101246654A Expired - Fee Related CN100385403C (zh) | 2004-12-02 | 2005-11-14 | 在逻辑分区之间转移网络业务的方法及系统 |
Country Status (2)
Country | Link |
---|---|
US (2) | US20060123111A1 (zh) |
CN (1) | CN100385403C (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102326147A (zh) * | 2009-03-02 | 2012-01-18 | 国际商业机器公司 | 虚拟网络环境中的复制避免 |
CN103279387A (zh) * | 2012-01-06 | 2013-09-04 | 国际商业机器公司 | 对相关资源分区重定位 |
CN104412228A (zh) * | 2012-04-04 | 2015-03-11 | 赛门铁克公司 | 动态迁移协议和群集服务器故障转移协议 |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7492704B2 (en) * | 2005-09-15 | 2009-02-17 | International Business Machines Corporation | Protocol definition for software bridge failover |
US8726299B1 (en) * | 2006-09-29 | 2014-05-13 | Symantec Operating Corporation | Image-oriented, plugin-based API to storage server appliances |
US8141092B2 (en) * | 2007-11-15 | 2012-03-20 | International Business Machines Corporation | Management of an IOV adapter through a virtual intermediary in a hypervisor with functional management in an IOV management partition |
US8141093B2 (en) * | 2007-11-15 | 2012-03-20 | International Business Machines Corporation | Management of an IOV adapter through a virtual intermediary in an IOV management partition |
US8141094B2 (en) * | 2007-12-03 | 2012-03-20 | International Business Machines Corporation | Distribution of resources for I/O virtualized (IOV) adapters and management of the adapters through an IOV management partition via user selection of compatible virtual functions |
DE102008004658B4 (de) * | 2008-01-16 | 2010-03-25 | Siemens Aktiengesellschaft | Verfahren zur zentralen Steuerung von Prozessen in erweiterbaren medizinischen Plattformen |
US8359415B2 (en) * | 2008-05-05 | 2013-01-22 | International Business Machines Corporation | Multi-root I/O virtualization using separate management facilities of multiple logical partitions |
US8144582B2 (en) * | 2008-12-30 | 2012-03-27 | International Business Machines Corporation | Differentiating blade destination and traffic types in a multi-root PCIe environment |
US8868622B2 (en) * | 2009-02-11 | 2014-10-21 | Hewlett-Packard Development Company, L.P. | Method and apparatus for allocating resources in a computer system |
EP2249217B1 (de) * | 2009-05-08 | 2013-04-24 | Siemens Aktiengesellschaft | Automatisierungsgerät und Automatisierungssystem |
US8813048B2 (en) | 2009-05-11 | 2014-08-19 | Accenture Global Services Limited | Single code set applications executing in a multiple platform system |
US8832699B2 (en) | 2009-05-11 | 2014-09-09 | Accenture Global Services Limited | Migrating processes operating on one platform to another platform in a multi-platform system |
US8180877B2 (en) * | 2009-06-04 | 2012-05-15 | International Business Machines Corporation | Logically partitioned system having subpartitions with flexible network connectivity configuration |
US8234377B2 (en) * | 2009-07-22 | 2012-07-31 | Amazon Technologies, Inc. | Dynamically migrating computer networks |
US8677024B2 (en) | 2011-03-31 | 2014-03-18 | International Business Machines Corporation | Aggregating shared Ethernet adapters in a virtualized environment |
CN103828332B (zh) * | 2013-12-04 | 2015-12-30 | 华为技术有限公司 | 数据处理方法、装置、存储控制器和机柜 |
US10965752B1 (en) * | 2019-09-13 | 2021-03-30 | Google Llc | Live migration of clusters in containerized environments |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69113181T2 (de) * | 1990-08-31 | 1996-05-02 | Ibm | Verfahren und Gerät zur Querteilungssteuerung in einer verteilten Verarbeitungsumgebung. |
US6226734B1 (en) * | 1998-06-10 | 2001-05-01 | Compaq Computer Corporation | Method and apparatus for processor migration from different processor states in a multi-processor computer system |
US6260068B1 (en) * | 1998-06-10 | 2001-07-10 | Compaq Computer Corporation | Method and apparatus for migrating resources in a multi-processor computer system |
US6665304B2 (en) * | 1998-12-31 | 2003-12-16 | Hewlett-Packard Development Company, L.P. | Method and apparatus for providing an integrated cluster alias address |
US6449267B1 (en) * | 1999-02-24 | 2002-09-10 | Hughes Electronics Corporation | Method and apparatus for medium access control from integrated services packet-switched satellite networks |
JP2002140202A (ja) * | 2000-11-01 | 2002-05-17 | Hitachi Ltd | 情報配信システムおよびその負荷分散方法 |
JP2002202959A (ja) * | 2000-12-28 | 2002-07-19 | Hitachi Ltd | 動的な資源分配をする仮想計算機システム |
JP4214682B2 (ja) * | 2001-01-24 | 2009-01-28 | 株式会社日立製作所 | 計算機およびその入出力手段 |
US7231430B2 (en) * | 2001-04-20 | 2007-06-12 | Egenera, Inc. | Reconfigurable, virtual processing system, cluster, network and method |
JP3879471B2 (ja) * | 2001-10-10 | 2007-02-14 | 株式会社日立製作所 | 計算機資源割当方法 |
US20030145122A1 (en) * | 2002-01-30 | 2003-07-31 | International Business Machines Corporation | Apparatus and method of allowing multiple partitions of a partitioned computer system to use a single network adapter |
US7454456B2 (en) * | 2002-02-14 | 2008-11-18 | International Business Machines Corporation | Apparatus and method of improving network performance using virtual interfaces |
US7089457B2 (en) * | 2002-04-16 | 2006-08-08 | International Business Machines Corporation | Efficient I/O retry over QDIO |
US20030204593A1 (en) * | 2002-04-25 | 2003-10-30 | International Business Machines Corporation | System and method for dynamically altering connections in a data processing network |
US6988150B2 (en) * | 2002-05-06 | 2006-01-17 | Todd Matters | System and method for eventless detection of newly delivered variable length messages from a system area network |
US7404012B2 (en) * | 2002-05-06 | 2008-07-22 | Qlogic, Corporation | System and method for dynamic link aggregation in a shared I/O subsystem |
US20030236852A1 (en) * | 2002-06-20 | 2003-12-25 | International Business Machines Corporation | Sharing network adapter among multiple logical partitions in a data processing system |
JP4119239B2 (ja) * | 2002-12-20 | 2008-07-16 | 株式会社日立製作所 | 計算機資源割当方法、それを実行するための資源管理サーバおよび計算機システム |
US20040158834A1 (en) * | 2003-02-06 | 2004-08-12 | International Business Machines Corporation | Apparatus and method for dynamically allocating resources of a dead logical partition |
US7085862B2 (en) * | 2003-03-13 | 2006-08-01 | International Business Machines Corporation | Apparatus and method for controlling resource transfers in a logically partitioned computer system by placing a resource in a power on reset state when transferring the resource to a logical partition |
US20040202185A1 (en) * | 2003-04-14 | 2004-10-14 | International Business Machines Corporation | Multiple virtual local area network support for shared network adapters |
US7478393B2 (en) * | 2003-04-30 | 2009-01-13 | International Business Machines Corporation | Method for marketing to instant messaging service users |
US7203944B1 (en) * | 2003-07-09 | 2007-04-10 | Veritas Operating Corporation | Migrating virtual machines among computer systems to balance load caused by virtual machines |
US7664823B1 (en) * | 2003-09-24 | 2010-02-16 | Cisco Technology, Inc. | Partitioned packet processing in a multiprocessor environment |
US7660322B2 (en) * | 2003-12-11 | 2010-02-09 | International Business Machines Corporation | Shared adapter |
US7403474B2 (en) * | 2004-01-27 | 2008-07-22 | Hewlett-Packard Development Company, L.P. | Redundant router set up |
US7617438B2 (en) * | 2004-04-15 | 2009-11-10 | International Business Machines Corporation | Method and apparatus for supporting checksum offload in partitioned data processing systems |
US7530071B2 (en) * | 2004-04-22 | 2009-05-05 | International Business Machines Corporation | Facilitating access to input/output resources via an I/O partition shared by multiple consumer partitions |
US20060090136A1 (en) * | 2004-10-01 | 2006-04-27 | Microsoft Corporation | Methods and apparatus for implementing a virtualized computer system |
US7512769B1 (en) * | 2004-10-06 | 2009-03-31 | Hewlett-Packard Development Company, L.P. | Process migration |
-
2004
- 2004-12-02 US US11/002,538 patent/US20060123111A1/en not_active Abandoned
-
2005
- 2005-11-14 CN CNB2005101246654A patent/CN100385403C/zh not_active Expired - Fee Related
-
2008
- 2008-03-28 US US12/057,553 patent/US8010673B2/en not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102326147A (zh) * | 2009-03-02 | 2012-01-18 | 国际商业机器公司 | 虚拟网络环境中的复制避免 |
CN103279387A (zh) * | 2012-01-06 | 2013-09-04 | 国际商业机器公司 | 对相关资源分区重定位 |
CN103279387B (zh) * | 2012-01-06 | 2017-03-01 | 国际商业机器公司 | 对相关资源分区重定位的方法、装置和系统 |
CN104412228A (zh) * | 2012-04-04 | 2015-03-11 | 赛门铁克公司 | 动态迁移协议和群集服务器故障转移协议 |
CN104412228B (zh) * | 2012-04-04 | 2017-10-31 | 赛门铁克公司 | 用于逻辑分区迁移的方法、计算机系统和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20080189417A1 (en) | 2008-08-07 |
US8010673B2 (en) | 2011-08-30 |
CN100385403C (zh) | 2008-04-30 |
US20060123111A1 (en) | 2006-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1783017A (zh) | 在逻辑分区之间转移网络业务的方法及系统 | |
CN102158386B (zh) | 系统管理程序级的分布式负载平衡 | |
US11121972B2 (en) | Multicast message filtering in virtual environments | |
CN104094229B (zh) | 用于基于扩展的主机信道适配器(hca)模型支持虚拟机的动态迁移的系统和方法 | |
CN1297893C (zh) | 在非专用中断硬件环境中管理输入/输出中断 | |
US9722948B2 (en) | Providing quality of service for containers in a virtualized computing environment | |
CN1212574C (zh) | 使用本地标识符的端节点分区 | |
US8279878B2 (en) | Method for configuring virtual network and network system | |
US9692706B2 (en) | Virtual enhanced transmission selection (VETS) for lossless ethernet | |
KR101159448B1 (ko) | 논리적 파티션들 사이의 네트워크 어댑트 리소스 할당 | |
US7826359B2 (en) | Method and system for load balancing using queued packet information | |
US20080189432A1 (en) | Method and system for vm migration in an infiniband network | |
CN1716877A (zh) | 用于自行配置网络中的路由设备的方法和装置 | |
CN1667601A (zh) | 在逻辑分区之间共享网络i/o适配器的装置与方法 | |
US9910687B2 (en) | Data flow affinity for heterogenous virtual machines | |
CN101075198A (zh) | 提供两级服务器虚拟化的方法和系统 | |
CN101102305A (zh) | 管理网络信息处理的系统和方法 | |
CN1798102A (zh) | 在交换结构网络中仲裁虚拟信道传输队列 | |
CN102857494A (zh) | 通用网络接口控制器 | |
CN1841331A (zh) | 为被先占的虚拟处理器分配应得处理器周期的方法和系统 | |
JP5662949B2 (ja) | 仮想ネットワーク環境におけるコピーの迂回 | |
CN1627728A (zh) | 在计算机服务器中共享以太网适配器的方法和装置 | |
WO2007146343A2 (en) | Sharing data between partitions in a partitionable system | |
CN112600903B (zh) | 一种弹性虚拟网卡迁移方法 | |
US20090222640A1 (en) | Memory Migration in a Logically Partitioned Computer System |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |