Non-disruptive Multipath Driver Upgrade via Core-Thin Module Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional multipath device driver upgrades require application downtime and/or system reboot, disrupting system operation due to the need to terminate and recreate multipath devices.
Innovation Solution
The implementation of a core and thin multipath device driver module architecture, where the thin module intercepts and redirects I/O operations during the upgrade, allowing the core module to be unloaded and replaced without disrupting service, and maintaining existing multipath device instances.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the multipath device driver is upgraded by terminating and recreating the multipath device, then the driver can be updated to a new version, but system operation is disrupted requiring application downtime or reboot
Solution Approach 1:
The multipath device driver is segmented into two independent modules: a core module that implements multipathing functionality and a thin module that creates and maintains multipath device instances. This segmentation allows the core module to be upgraded independently without affecting the thin module and its associated multipath devices, thereby enabling driver updates without system disruption.
Solution Approach 2:
The thin multipath device driver module acts as an intermediary between the core module and the multipath device instances. During upgrade operations, the thin module maintains the multipath device instances while the core module is replaced. The thin module redirects I/O operations during the transition, ensuring continuous operation without requiring application downtime or system reboot.
2Productivity
If the multipath device driver is upgraded without termination, then system operation continuity is maintained, but the driver cannot be unloaded and upgraded due to active multipath device usage
Solution Approach 1:
By dividing the driver into core and thin modules with distinct responsibilities, the patent enables independent loading and unloading of the core module. The thin module maintains device instances while the core module can be safely removed and replaced, solving the contradiction between maintaining operation continuity and enabling driver upgradeability.
Solution Approach 2:
The thin multipath device driver module ensures continuous I/O operation handling during the core module upgrade process. It maintains the multipath device instances and redirects I/O operations throughout the upgrade, ensuring that useful action (I/O processing) continues without interruption while the core module is replaced.
3Reliability
If the multipath device is terminated for driver upgrade, then the driver can be updated, but application downtime occurs impacting system operation
Solution Approach 1:
The thin multipath device driver module is prepared in advance to handle I/O operations independently of the core module. Before the core module is unloaded, the thin module is positioned to take over I/O processing, allowing seamless transition without application downtime. This preliminary preparation enables the core module to be upgraded immediately without forcing applications to stop.
Solution Approach 2:
The thin module serves as a mediator that maintains multipath device instances during the core module upgrade. It intercepts and redirects I/O operations away from the core module during upgrade, preventing the need to terminate multipath devices and avoiding application downtime while still allowing the core module to be updated.
Data Source
AI summary
Techniques are provided to enable non-disruptive upgrades of multipath device drivers. A multipath device driver includes a core module and a thin module. The core module is configured to implement all multipathing functionality of the multipath device driver, and the thin module is configured to create and maintain an instance of a multipath device, which is utilized by the core module to control I/O operations over a plurality of I/O paths from the host system to an array of data storage devices. In response to an upgrade command, the thin module replaces I/O entry points of the core module so that I/O operation requests are routed to the thin module during an upgrade operation of the core module. The thin module utilizes the instance of the multipath device during the upgrade operation to execute the I/O operation requests that are routed to the thin module.


