AUTONOMOUS PRIMARY NODE ELECTION WITHIN A VIRTUAL INPUT/OUTPUT SERVER CLUSTER
First Claim
1. In a data processing system having one or more computing electronic complexes (CECs) that comprise a plurality of virtual input/output (I/O) servers (VIOSes) configured within a VIOS cluster, which has an associated VIOS database (DB) and in which each VIOS provides I/O resources to one or more logical partitions (LPARs) executing within the one or more CECs, a first VIOS of the VIOS cluster executing code on a processing resource to perform a method comprising:
- the first VIOS of the VIOS cluster detecting that a primary node is required for the VIOS cluster; and
autonomously initiating an election process to elect a next primary node from among one or more VIOSes within the VIOS cluster.
1 Assignment
0 Petitions
Accused Products
Abstract
In a data processing system having a plurality of virtual input/output servers (VIOSes) configured within a VIOS cluster, a method, data processing system and computer program product provide for autonomous election of a primary node within a virtual input/output server (VIOS) cluster. A first VIOS performs the functions of: detecting that a primary node is required for the VIOS cluster; and autonomously initiating an election process to elect a next primary node from among the VIOSes within the VIOS cluster. When the first VIOS meets the pre-established requirements for becoming a primary node, the first VIOS obtains a lock on a primary node ID field within a VIOS database (DB) and then initiates a primary node commit process to assign the first VIOS as the primary node. The first VIOS issues a notification to the VIOS cluster to notify the other VIOSes that a primary node has been elected.
23 Citations
27 Claims
-
1. In a data processing system having one or more computing electronic complexes (CECs) that comprise a plurality of virtual input/output (I/O) servers (VIOSes) configured within a VIOS cluster, which has an associated VIOS database (DB) and in which each VIOS provides I/O resources to one or more logical partitions (LPARs) executing within the one or more CECs, a first VIOS of the VIOS cluster executing code on a processing resource to perform a method comprising:
-
the first VIOS of the VIOS cluster detecting that a primary node is required for the VIOS cluster; and autonomously initiating an election process to elect a next primary node from among one or more VIOSes within the VIOS cluster. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 18, 19)
-
-
12. A computer program product comprising:
-
a computer readable medium; and program code on the computer readable medium that when executed by a processor of a first virtual input/output server within a VIOS cluster comprised of a plurality of VIOSes and a VIOS database (DB) and where the plurality of VIOSes provide I/O resources to one or more logical partitions (LPARs), causes the first VIOS to perform the functions of; detecting that a primary node is required for the VIOS cluster; and autonomously initiating an election process to elect a next primary node from among one or more VIOSes within the VIOS cluster; - View Dependent Claims (13, 14, 15, 16, 17, 20, 21, 22)
-
-
23. A data processing system comprising:
-
one or more processors providing processing resources; one or more memories coupled to the one or more processors; a cluster-aware (CA) operating system (OS) which generates a first virtual input/output server (VIOS) that is communicatively couple to other VIOSes and to a VIOS database (DB) to create a VISO cluster, wherein the CA_OS comprises a utility executing on a processing resource of the first VIOS, which utility causes the first VIOS to perform the functions of; detecting that a primary node is required for the VIOS cluster; autonomously initiating an election process to elect a next primary node from among one or more VIOSes within the VIOS cluster; determining whether a first node meets one or more pre-established requirements to become a primary node by checking one or more configuration parameters of the first node against the one or more pre-established requirements for a node to become the primary node; in response to the first node not meeting the pre-established requirements, activating a primary node discovery process which discovers and notifies a next node from within an elector list of a need for electing a primary node; wherein the first node becomes an elector node if there is a next node that meets the pre-established requirements to be a candidate for election. in response to the first node meeting the pre-established requirements, determining whether a primary node identifier (ID) field within the VIOS DB is locked by another node; in response to the primary node ID field being locked, setting a primary node election timer to track an elapsed time from when the first node made the attempt to become the primary node, wherein the timer expires after a pre-set amount of time and the expiration of the timer prior to another node being elected as the primary node triggers the first node to re-initiates an attempt to become the primary node; and in response to the primary node ID field being unlocked;
locking the Primary Node ID field within the VIOS DB; and
initiating a primary node commit process to assign the first node as the primary node. - View Dependent Claims (24, 25, 26, 27)
-
Specification