Zero-Downtime Firmware Update via Active-Passive Node Role Switching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
High availability computer systems face downtime during firmware updates, either due to simultaneous node downtime or requiring significant user interaction, which can be undesirable, especially when users are unavailable.
Innovation Solution
A firmware update client seamlessly updates both active and passive nodes with zero downtime by having the active node update the passive node's firmware and then rebooting to switch roles, allowing the passive node to update the active node's firmware in a high availability enabled computing system.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the active node is brought down for firmware update, then the firmware can be updated, but the computer system becomes unavailable during the upgrade
Solution Approach 1:
The firmware update process is segmented into distinct phases: the active node first updates the passive node's firmware while remaining operational, then both nodes reboot in sequence to activate the updated firmware. This segmentation allows the system to maintain availability during the update process by avoiding simultaneous downtime of both nodes.
Solution Approach 2:
The active node performs preliminary action by updating the passive node's firmware before initiating its own reboot. This preliminary update of the passive node ensures that when the active node reboots, the passive node is already prepared with the updated firmware, enabling seamless role switching and continuous system availability.
2Reliability
If zero-downtime firmware update is implemented, then system availability is maintained, but significant user interaction is required
Solution Approach 1:
The system performs self-service by automatically executing the firmware update process without requiring user intervention. The active node autonomously updates the passive node's firmware, sets the indicator flag, and manages the reboot sequence. The passive node automatically detects the indicator flag and activates after rebooting, eliminating the need for user interaction while maintaining zero downtime.
3Productivity
If both nodes are updated simultaneously, then upgrade efficiency is improved, but the system becomes unavailable during the upgrade
Solution Approach 1:
The simultaneous update process is segmented into sequential operations: the active node updates the passive node first, then both nodes reboot in a coordinated sequence. This segmentation maintains upgrade efficiency by updating both nodes while preserving system availability through the active-passive role switching mechanism.
Solution Approach 2:
The active node performs preliminary action by completing the firmware update of the passive node before initiating its own reboot. This preliminary action ensures that the passive node is ready to assume the active role with the updated firmware, enabling both nodes to be updated efficiently while maintaining continuous system availability through proper sequencing.
Data Source
AI summary
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.


