Host Agent Module for Heterogeneous Storage Migration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods cannot perform online data migration between heterogeneous storage arrays without interrupting service, as they lack the ability to manage and transfer I/O requests between storage arrays of different vendors.
Innovation Solution
An agent module is installed on the host to process I/O requests, creating an image disk on the target storage array and establishing a virtual path for preferential access, allowing seamless migration of data between heterogeneous storage arrays by intercepting and routing I/O requests through the virtual path.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If online data migration is implemented between heterogeneous storage arrays, then service continuity is maintained without interruption, but the system complexity increases due to the need for agent modules and virtual path management
Solution Approach 1:
An agent module is introduced as an intermediary component installed on the host system. This agent module acts as a mediator between the host and heterogeneous storage arrays, enabling I/O request interception, translation, and routing without requiring changes to the storage arrays themselves. The agent module manages virtual path information and coordinates data migration while maintaining service continuity.
Solution Approach 2:
The system creates an image disk as a copy of the original disk on the target storage array. This image disk serves as a replica that can receive I/O requests during the migration process. The agent module intercepts I/O requests and redirects them to the image disk, allowing data to be copied from the source storage array to the target storage array while the original system continues to operate.
2Adaptability or versatility
If I/O requests are intercepted and redirected to target storage array, then data migration between heterogeneous storage arrays is enabled, but the ease of operation decreases due to complex path management
Solution Approach 1:
The agent module serves as an intermediary that handles the complexity of I/O request interception and redirection. It manages virtual path information and translates I/O requests between different storage array protocols, enabling compatibility between heterogeneous storage arrays while shielding users from the underlying complexity through automated path management.
Solution Approach 2:
The system dynamically changes path parameters by creating virtual paths that point to the target storage array's image disk. The agent module modifies I/O request parameters to redirect them through the virtual path, enabling seamless data migration between heterogeneous storage arrays without requiring manual configuration or complex user intervention.
3Productivity
If virtual path information is set and I/O requests are preferentially delivered through the virtual path, then online data migration is achieved, but the device complexity increases due to additional path management mechanisms
Solution Approach 1:
The agent module performs preliminary actions by pre-configuring virtual path information before data migration begins. It establishes the virtual path structure and prepares the target storage array's image disk in advance, enabling I/O requests to be immediately redirected during migration without requiring complex real-time path management decisions.
Solution Approach 2:
The system creates a virtual path copy that mirrors the original access path but redirects to the target storage array. This virtual path copying mechanism allows I/O requests to be preferentially delivered to the image disk during migration while maintaining a simple interface for users, as the virtual path appears identical to the original path from the user's perspective.
Data Source
AI summary
An agent module of a host directs I/O requests accessing a first disk of a first storage array to access a second disk of a second storage array. The agent module obtains a disk identifier of a first disk in the first storage array and a disk identifier of a second disk in the second storage array to record a mapping relationship between them. The agent module further reports virtual path information for a virtual path between the agent module and a multipath module of the host to the multipath module. The agent module sends the disk identifier of the first disk via the virtual path after receiving a disk identifier query request for querying the identifier of the second disk. Thus, the agent module can send an I/O request for accessing the first disk to the second storage array to access the second disk.


