Updating firmware in a high availability enabled computer system
First Claim
1. A system for updating firmware in a high availability enabled computer system, comprising:
- a first node operating a first current firmware and having an updated firmware stored thereon; and
a second node operating a second current firmware, wherein the first and second notes are redundant to each other, wherein the first node is configured to, when the first node is active and the second node is passive, send the updated firmware to the second node and update the second current firmware with the updated firmware;
upon a successful firmware update, set a second indicator flag on the second node, the second indicator flag notifying the second node to act as an active node and to update the first current firmware of the first node upon reboot;
store the updated firmware on a memory of the first node, read a block of the updated firmware from the memory;
update a block of the second current firmware corresponding to the block of the updated firmware;
determine whether the update of the block of the second current firmware is successful;
upon determining that the update of the block of the second current firmware is successful, read a subsequent block of the updated firmware from the memory and update a subsequent block of the second current firmware corresponding to the subsequent block of the updated firmware;
upon determining that the update of the block of the second current firmware is not successful, read a block of the first current firmware corresponding to the unsuccessfully updated block of the second current firmware, and update the unsuccessfully updated block of the second current firmware using the block of the first current firmware; and
reboot the second node;
wherein second node is configured to, when the first node is passive and the second node is active, send the updated firmware to the first node and update the first current firmware with the updated firmware.
3 Assignments
0 Petitions
Accused Products
Abstract
Technologies are provided herein for seamlessly updating firmware in a high availability enabled solution. A system for updating firmware in a high availability enabled solution includes a first active node that is functional on the system and which is connected to a firmware update client and a second passive node that is in an active-passive relationship with the first node. The first node receives a firmware update command and retrieves the updated firmware from the firmware update client. The first node then updates firmware of the second node using the updated firmware. Upon updating the firmware of the second node, the first node sets an indicator flag associated with the second node, which notifies the second node to become the active node upon being rebooted. The first node then reboots the second node, which then updates the firmware of the first node with the updated firmware.
63 Citations
19 Claims
-
1. A system for updating firmware in a high availability enabled computer system, comprising:
-
a first node operating a first current firmware and having an updated firmware stored thereon; and a second node operating a second current firmware, wherein the first and second notes are redundant to each other, wherein the first node is configured to, when the first node is active and the second node is passive, send the updated firmware to the second node and update the second current firmware with the updated firmware; upon a successful firmware update, set a second indicator flag on the second node, the second indicator flag notifying the second node to act as an active node and to update the first current firmware of the first node upon reboot; store the updated firmware on a memory of the first node, read a block of the updated firmware from the memory; update a block of the second current firmware corresponding to the block of the updated firmware; determine whether the update of the block of the second current firmware is successful; upon determining that the update of the block of the second current firmware is successful, read a subsequent block of the updated firmware from the memory and update a subsequent block of the second current firmware corresponding to the subsequent block of the updated firmware; upon determining that the update of the block of the second current firmware is not successful, read a block of the first current firmware corresponding to the unsuccessfully updated block of the second current firmware, and update the unsuccessfully updated block of the second current firmware using the block of the first current firmware; and reboot the second node; wherein second node is configured to, when the first node is passive and the second node is active, send the updated firmware to the first node and update the first current firmware with the updated firmware. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer-implemented method for updating firmware in a high availability enabled computer system, the high availability enabled computer system including a first node and a second node that are redundant to each other, the method comprising:
-
receiving an updated firmware at a first node operating a first current firmware; when the first node is active and the second node is passive;
sending the updated firmware from the first node to the second node and updating a second current firmware operating on a second node with the updated firmware;setting a second indicator flag on the second node, the second indicator flag notifying the second node to act as an active node and to update the first current firmware of the first node upon reboot; storing the received updated firmware in a memory of the first node; reading a block of the updated firmware from the memory;
updating a block of the second current firmware corresponding to the block of the updated firmware;determining whether the update of the block of the second current firmware is successful;
upon determining that updating the block of the second current firmware is successful, reading a subsequent block of the updated firmware from the memory and updating a subsequent block of the second current firmware corresponding to the subsequent block of the updated firmware;upon determining that updating the block of the second current firmware is not successful, reading a block of the first current firmware corresponding to the unsuccessfully updated block of the second current firmware and updating the unsuccessfully updated block of the second current firmware using the block of the first current firmware; and rebooting the second node; upon rebooting the second node, determining whether the second indicator flag is set; in response to determining that the second indicator flag is set, the second node acting as an active node; and when the first node is passive and the second node is active, sending the updated firmware from the second node to the first node and updating the first current firmware with the updated firmware. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A system for updating firmware in a high availability enabled solution, comprising:
-
a first node operating a first current firmware and having an updated firmware stored in a memory; and a second node operating a second current firmware, wherein the first and second nodes are redundant to each other, wherein the first node is configured to, when the first node is active and the second node is passive; read a block of the updated firmware from the memory; update a block of the second current firmware operating on the second node corresponding to the block of the updated firmware; determine whether the update of the block of the second current firmware is successful; upon determining that the update of the block of the second current firmware is successful, read a subsequent block of the updated firmware from the memory; upon determining that the update of the block of the second current firmware is not successful, read a block of the first current firmware corresponding to the unsuccessfully updated block of the second current firmware, and update the unsuccessfully updated block of the second current firmware using the block of the first current firmware; update a subsequent block of the second current firmware corresponding to the subsequent block of the updated firmware; upon updating the subsequent block of the second current firmware, repeat the read, update and determine operations until all of the blocks of the second current firmware have been updated; upon updating all of the blocks of the second current firmware, set an indicator flag on the second node, the indicator flag notifying the second node to act as an active node and to update the first current firmware operating on the first node upon reboot; and reboot the second node, wherein second node is configured to, when the first node is passive and the second node is active, send the updated firmware to the first node and update the first current firmware with the updated firmware. - View Dependent Claims (19)
-
Specification