Host Copy Migration with Changed Block Tracking
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Active-active clusters in data processing systems pose challenges for non-disruptive data migration as multiple hosts concurrently access the source LUN, requiring coordinated data copying and write duplication to maintain consistency during the migration process.
Innovation Solution
The method employs a host copy (HC) to perform a copy sweep and coordinate changed block tracking (CBT) with other hosts, iteratively copying and duplicating writes to ensure data consistency, allowing for non-disruptive migration without relying on specific storage systems or external components.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple hosts concurrently access the source LUN during migration, then system availability and performance are improved, but data consistency and coordination complexity deteriorate
Solution Approach 1:
The patent introduces a coordinator host that acts as an intermediary between multiple accessing hosts and the migration process. This coordinator receives write operations from all hosts, tracks changed blocks using CBT, and coordinates the copying to target LUN, thereby managing the complexity of concurrent access without requiring changes to the accessing hosts' operations
Solution Approach 2:
The system implements feedback mechanisms where the coordinator host continuously monitors write operations from multiple hosts, tracks which blocks have changed on each host using CBT, and uses this feedback information to coordinate the copy sweep operations. This feedback loop ensures data consistency while maintaining concurrent access capability
2Loss of time
If copy sweep and write duplication are performed concurrently, then migration time is reduced, but data consistency risks increase
Solution Approach 1:
The system performs preliminary actions by establishing CBT tracking on each host before the copy sweep begins. This preliminary setup allows the coordinator to identify changed blocks in real-time during concurrent write operations, enabling it to coordinate copy operations that maintain consistency even while writes are occurring simultaneously
Solution Approach 2:
The coordinator host performs periodic copy sweep operations based on feedback from CBT tracking. Instead of a single bulk copy, the system periodically identifies changed blocks and copies them, allowing concurrent writes to continue while maintaining consistency through multiple coordinated synchronization points
3Adaptability or versatility
If host copy is used instead of storage system copy, then vendor lock-in is avoided and versatility is improved, but coordination overhead increases
Solution Approach 1:
The system implements self-service by having the coordinator host perform all copy operations directly from source LUN to target LUN without involving the storage system's native copy functionality. The coordinator uses CBT tracking to identify changed blocks and performs the copying itself, thereby avoiding vendor lock-in while managing coordination through software rather than storage system features
Data Source
AI summary
Data is non-disruptively migrated from a source LUN to a target LUN in an active-active cluster with coordination of a host-based copy sweep with duplicating of ongoing writes of all hosts, using iteration and changed block tracking (CBT). During a first iteration, one host performs the copy sweep, and the locations of new application writes at other hosts are recorded in respective CBT records. In each subsequent iteration, the data blocks of the CBT-recorded writes are copied to the target LUN while the locations of new writes are recorded in new CBT records. A final iteration is done with I/O suspended to completely synchronize the target LUN with the source LUN, and the migration then proceeds to a committed state in which the target LUN is used in place of the source LUN. The one host may use write cloning or CBT recording like the other hosts.


