IP Library Granted Patent US 10,942,831
Granted Patent B2
US 10,942,831 · App. 16/444,489 · Granted Mar 9, 2021

Automating and monitoring rolling cluster reboots

Inventors: William C. White (Round Rock, TX); Fook Choy Chan (Taman Sri Endah, MY)
Assignee: Dell Products L.P.
G06F11/3006G06F9/5077G06F11/1417G06F11/3055G06F21/575
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,942,831
App. No.
16/444,489
Granted
Mar 9, 2021
Kind
B2
Abstract

A method includes initiating a rolling cluster reboot for a cluster comprising a plurality of processing nodes and obtaining encoded state information specifying a plurality of states for transitioning a given processing node of the cluster from running as part of the cluster to rebooting and back to running as part of the cluster, and at least one timeout associated with a transition to a given one of the plurality of states. The method also includes monitoring transitioning of the given processing node between the plurality of states specified in the encoded state information, generating an alert responsive to determining that an elapsed time has exceed the at least one timeout specified in the encoded state information without the given processing node having transitioned to the given state, and providing the alert to a given client device coupled to the cluster via at least one network.

Claims (63)

1. A method comprising:

initiating a rolling cluster reboot for a cluster comprising a plurality of processing nodes;

obtaining encoded state information specifying a plurality of states for transitioning a given processing node of the cluster from running as part of the cluster to rebooting and back to running as part of the cluster, the encoded state information further specifying at least one timeout associated with a transition to a given one of the plurality of states;

monitoring transitioning of the given processing node between the plurality of states specified in the encoded state information;

generating an alert responsive to determining that an elapsed time has exceeded the at least one timeout specified in the encoded state information without the given processing node having transitioned to the given state;

providing the alert to a given client device coupled to the cluster via at least one network; and

repeating the monitoring, generating and providing steps while one or more other processing nodes in the cluster transition, in a sequence, between the plurality of states specified in the encoded state information as part of the rolling cluster reboot;

wherein the method is performed by at least one processing device comprising a processor coupled to a memory.

2. The method of claim 1 wherein the at least one timeout comprises an overall timeout for the given processing node to complete transitioning to an exit with success state in the plurality of states.

3. The method of claim 1 wherein the at least one timeout comprises at least one per-transition timeout for the given processing node to complete transitioning from a first state to a second state in the plurality of states.

4. The method of claim 1 further comprising determining an ordering for rebooting the processing nodes of the cluster by sorting the processing nodes of the cluster lexically by hostname, and wherein the sequence for rebooting the processing nodes in the rolling cluster reboot is based on the determined ordering.

5. The method of claim 1 wherein the encoded state information comprises a plurality of entries each specifying:

a starting state;

a transition script for executing a transition from the starting state to a success end state;

a transition timeout;

the success end state; and

a failure end state entered responsive to failure to transition to the success end state within the transition timeout.

6. The method of claim 1 wherein the alert comprises an identifier of a hostname for the given processing node and a last reported state of the given processing node, and wherein providing the alert to the given client device initiates remedial action to at least one of:

transition the given processing node from the last reported state to a next state of the plurality of states specified in the encoded state information;

transition the given processing node to an exit with success state of the plurality of states specified in the encoded state information; and

revert the given processing node to a state previous to the last reported state.

7. The method of claim 1 wherein the cluster comprises a database cluster and each of the plurality of processing nodes comprises a physical server hosting an instance of a database application and cluster software.

8. The method of claim 7 wherein the plurality of states specified in the encoded state information comprise:

a cluster software shutdown state wherein a given instance of the database application running on the given processing node is shut down and the cluster software running on the given processing node is shut down;

a server reboot state wherein the physical server hosting the given processing node is rebooted;

a server non-pingable state wherein the physical server hosting the given processing node is unavailable while rebooting;

a cluster software startup state wherein the physical server hosting the given processing node is rebooted and the physical server starts up the cluster software and the instance of the database application;

an exit with failure state wherein the given processing node has failed to complete one or more of the cluster software shutdown state, the server reboot state, the server non-pingable state and the cluster software startup state; and

an exit with success state wherein the given processing node has successfully completed the cluster software startup state.

9. The method of claim 1 wherein the cluster comprises a database cluster and each of the plurality of processing nodes comprises a virtual machine hosting an instance of a database application and cluster software.

10. The method of claim 9 wherein the plurality of states specified in the encoded state information comprise:

a database instance shutdown state wherein a given instance of the database application running on the given processing node is shut down;

a leave cluster state wherein the given processing node leaves the cluster;

a reclone state wherein a given virtual machine hosting the given processing node is destroyed and the given processing node is re-created with a new virtual machine having a same name as the given virtual machine;

a server non-pingable state wherein the given processing node is unavailable while the given virtual machine is destroyed and the new virtual machine is created;

a join cluster state wherein the new virtual machine hosting the given processing node joins the cluster;

a database instance startup state wherein the given instance of the database application is started on the new virtual machine hosting the given processing node;

an exit with failure state wherein the given processing node has failed to complete one or more of the database instance shutdown state, the leave cluster state, the reclone state, the server non-pingable state, the join cluster state, and the database instance startup state; and

an exit with success state wherein the given processing node has successfully completed the database instance startup state.

11. The method of claim 1 wherein the cluster comprises a storage system cluster.

12. The method of claim 11 wherein the storage system cluster comprises a network file system cluster.

13. A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device cause the at least one processing device:

to initiate a rolling cluster reboot for a cluster comprising a plurality of processing nodes;

to obtain encoded state information specifying a plurality of states for transitioning a given processing node of the cluster from running as part of the cluster to rebooting and back to running as part of the cluster, the encoded state information further specifying at least one timeout associated with a transition to a given one of the plurality of states;

to monitor transitioning of the given processing node between the plurality of states specified in the encoded state information;

to generate an alert responsive to determining that an elapsed time has exceeded the at least one timeout specified in the encoded state information without the given processing node having transitioned to the given state;

to provide the alert to a given client device coupled to the cluster via at least one network; and

to repeat the monitoring, generating and providing while one or more other processing nodes in the cluster transition, in a sequence, between the plurality of states specified in the encoded state information as part of the rolling cluster reboot.

14. The computer program product of claim 13 wherein the at least one timeout comprises an overall timeout for the given processing node to complete transitioning to an exit with success state in the plurality of states.

15. The computer program product of claim 13 wherein the at least one timeout comprises at least one per-transition timeout for the given processing node to complete transitioning from a first state to a second state in the plurality of states.

16. The computer program product of claim 13 wherein the program code when executed further causes the at least one processing device to determine an ordering for rebooting the processing nodes of the cluster by sorting the processing nodes of the cluster lexically by hostname, and wherein the sequence for rebooting the processing nodes in the rolling cluster reboot is based on the determined ordering.

17. An apparatus comprising:

at least one processing device comprising a processor coupled to a memory;

the at least one processing device being configured:

to initiate a rolling cluster reboot for a cluster comprising a plurality of processing nodes;

to obtain encoded state information specifying a plurality of states for transitioning a given processing node of the cluster from running as part of the cluster to rebooting and back to running as part of the cluster, the encoded state information further specifying at least one timeout associated with a transition to a given one of the plurality of states;

to monitor transitioning of the given processing node between the plurality of states specified in the encoded state information;

to generate an alert responsive to determining that an elapsed time has exceeded the at least one timeout specified in the encoded state information without the given processing node having transitioned to the given state;

to provide the alert to a given client device coupled to the cluster via at least one network; and

to repeat the monitoring, generating and providing while one or more other processing nodes in the cluster transition, in a sequence, between the plurality of states specified in the encoded state information as part of the rolling cluster reboot.

18. The apparatus of claim 17 wherein the at least one timeout comprises an overall timeout for the given processing node to complete transitioning to an exit with success state in the plurality of states.

19. The apparatus of claim 17 wherein the at least one timeout comprises at least one per-transition timeout for the given processing node to complete transitioning from a first state to a second state in the plurality of states.

20. The apparatus of claim 17 wherein the at least one processing device is further configured to determine an ordering for rebooting the processing nodes of the cluster by sorting the processing nodes of the cluster lexically by hostname, and wherein the sequence for rebooting the processing nodes in the rolling cluster reboot is based on the determined ordering.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0571) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0088 →
RELEASE OF SECURITY INTEREST AT REEL 050406 FRAME 421 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058213/0825 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 050724/0571 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050406/0421 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2019
From: WHITE, WILLIAM C.; CHAN, FOOK CHOY
To: DELL PRODUCTS L.P.
Reel/Frame 049505/0667 →