User-Memory LVM Extent Map Hot Swapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Kernel-based Logical Volume Managers (LVMs) often require downtime for upgrades or fault recovery, leading to substantial unwanted downtime due to complex relationships between logical and physical storage, especially in shared storage environments and large-scale applications.

Innovation Solution

Implementing a user-memory-based LVM with an extent map that allows for hot-swapping and partial updates of the extent map, enabling the application to remain operational with minimal downtime by quiescing the application, saving version numbers, and updating only modified segments, thus avoiding the need for a full extent map replacement.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a kernel-based LVM is used to manage logical volumes, then the LVM can intercept and manage I/O operations between applications and physical disks, but the LVM requires complete shutdown and full extent map replacement for upgrades or fault recovery, causing substantial downtime

Engineering Contradiction:
Improvefault toleranceVSAvoiddowntime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The extent map is divided into multiple segments that can be independently identified and replaced. When an LVM instance needs to be updated or recovered, only the specific extent map segment containing the fault or requiring update is replaced, rather than replacing the entire extent map. This segmentation enables partial updates that minimize downtime while maintaining fault tolerance through selective replacement of problematic segments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of performing a complete extent map replacement during LVM upgrades or fault recovery, the system performs partial replacement of only the necessary extent map segments. This partial action approach reduces the scope of operations required during maintenance windows, thereby reducing downtime while still achieving the necessary fault recovery or upgrade objectives.

Inventive Principle:
Principle #16Partial or excessive action

2Adaptability or versatility

If the entire extent map is replaced during LVM hot swapping, then the new LVM instance can access updated storage mappings, but the application must be fully quiesced and the replacement process is time-consuming

Engineering Contradiction:
Improvehot swapping capabilityVSAvoiddowntime
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The extent map replacement process is segmented into individual segment operations. During hot swapping, the system identifies and replaces only the specific extent map segments that need updating, allowing the application to remain operational with minimal quiescing. This segmented approach enables true hot swapping capability by avoiding the need to replace the entire extent map atomically.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs partial extent map replacement rather than complete replacement during hot swapping operations. By replacing only the necessary segments and leaving the rest of the extent map intact and accessible, the application experiences minimal disruption and can continue operating with reduced downtime,从而实现真正的热交换功能。

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8701110B2Efficient volume manager hot swapping
Publication Date: 2014.04.15 ORACLE INT CORP
  • US8701110B2 patent drawing
  • US8701110B2 patent drawing
  • US8701110B2 patent drawing

AI summary

A method of updating an extent map is described. The method includes providing in a memory an instance of a first version of the extent map, wherein the instance is referenced by an application. The extent map include entries. The method further includes storing, at each extent map entry, an offset from the beginning of a physical drive which is identified within said each extent map entry, providing a second version of the extent map, comparing the first version of the extent map with the second version of the extent map, in response to the comparing, determining that is at least on segment in the second version of the extent map that is different from a corresponding at least one segment in the first version of the extent map.