Persistent Memory Page Reservation During Aggregate Failover
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Data corruption and loss occur during transitions of aggregates between nodes in high availability node pairings due to potential mismatches in data versions when one node takes over and gives back control to another.
Innovation Solution
Implement a soft partitioning of persistent memory during aggregate transitions, reserving free pages in both nodes' remote partitions with updated metadata to ensure consistent allocation and avoid data corruption by maintaining identical free page reservations across nodes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If one node takes over an aggregate from another node during failover, then high availability is maintained, but data corruption and loss may occur due to mismatches in data versions between nodes
Solution Approach 1:
The system performs preliminary actions by allocating free pages from the remote partition before the aggregate transition occurs. This ensures that the receiving node has pre-prepared storage space with correct metadata, preventing data corruption during the failover process. The free page allocation happens in advance so that when the aggregate is transferred, no data version mismatches occur.
2Reliability
If free pages are allocated from remote partition during aggregate transition, then data consistency is maintained, but inter-node communication overhead increases
Solution Approach 1:
Free page allocation is performed as a preliminary action before the aggregate transition, allowing bulk allocation operations to be completed in advance. This reduces the communication overhead during the actual failover event, as the metadata updates are already in place rather than needing to be synchronized in real-time during the transition.
3Manufacturing precision
If metadata is updated to track free pages during transition, then allocation accuracy is improved, but device complexity increases
Solution Approach 1:
The metadata structure in the remote partition serves multiple functions: it tracks free pages for allocation, maintains data consistency information, and provides allocation accuracy verification. By making the metadata multi-functional, the system achieves high allocation accuracy without proportionally increasing complexity, as the same metadata structure supports multiple operational requirements.
Data Source
AI summary
Techniques are provided for block allocation for persistent memory during aggregate transition. In a high availability pair including first and second nodes, the first node makes a determination that control of a first aggregate is to transition from the first node to the second node. A portion of available free storage space is allocated from a first persistent memory of the first node as allocated pages within the first persistent memory. Metadata information for the allocated pages is updated with an identifier of the first aggregate to create updated metadata information reserving the allocated pages for the first aggregate. The updated metadata information is mirrored to the second node, so that the second node also reserves those pages. Control of the first aggregate is transitioned to the second node. As a result, the nodes do not attempt allocating the same free pages to different aggregates during a transition.


