# US 12,112,053 B1 · Automated migration of virtual volumes between storage virtualization appliances

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,112,053 B1
- Document ID: US12112053B1
- Status: Granted
- Kind: B1
- Application number: 18/327,985
- Filed: 2023-06-02
- Granted: 2024-10-08
- Earliest claimed: 2023-06-02
- Assignees: Dell Products L.P.
- Applicants: Dell Products L.P.
- Inventors: Usha B Narasappa; Koundinya Koorapati; Sadasivam Shanmugam; Atifa Kheel; Ratan Lal; Nadimpalli Sunil Kumar Raju; Nalluri Sri Varsha; Yamuna Hanumanthu
- Web page: https://patentgrep.com/patent/US12112053B1

## CPC

- G06F 3/0647: {Migration mechanisms}
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/0665: {at area level, e.g. provisioning of virtual or logical volumes}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 3/0689: {Disk arrays, e.g. RAID, JBOD}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

An apparatus comprises a processing device configured to select, from a first storage virtualization appliance, virtual volumes to migrate to a second storage virtualization appliance. The processing device is also configured to determine a configuration of first storage elements of the first storage virtualization appliance utilized to implement the selected virtual volumes, and to provision second storage elements for implementing the selected virtual volumes on the second storage virtualization appliance, the second storage elements being provisioned in an inactive state. The processing device is further configured to pause input-output operations directed to the selected virtual volumes on the first storage elements, to modify the first storage elements from an active state to the inactive state and the second storage elements from the inactive state to the active state, and to resume input-output operations directed to the selected virtual volumes on the second storage elements of the second storage virtualization appliance.

## Claims

### Claim 1

An apparatus comprising:
at least one processing device comprising a processor coupled to a memory;
the at least one processing device being configured:
to select, from a first storage virtualization appliance, one or more virtual volumes to migrate to a second storage virtualization appliance;
to determine a configuration of a first set of storage elements of the first storage virtualization appliance utilized to implement the selected one or more virtual volumes;
to provision a second set of storage elements for implementing the selected one or more virtual volumes on the second storage virtualization appliance, the second set of storage elements being provisioned in an inactive state;
to pause input-output operations directed to the selected one or more virtual volumes on the first set of storage elements of the first storage virtualization appliance;
to modify (i) the first set of storage elements of the first storage virtualization appliance from an active state to the inactive state and (ii) the second set of storage elements of the second storage virtualization appliance from the inactive state to the active state; and
to resume input-output operations directed to the selected one or more virtual volumes on the second set of storage elements of the second storage virtualization appliance.

### Claim 2 (depends on 1)

The apparatus of claim 1 wherein the first storage virtualization appliance utilizes a first version of storage virtualization software, and wherein the second storage virtualization appliance utilizes a second version of storage virtualization software different than the first version of storage virtualization software.

### Claim 3 (depends on 1)

The apparatus of claim 1 wherein the selected one or more virtual volumes comprise all virtual volumes implemented on the first set of storage elements of the first storage virtualization appliance.

### Claim 4 (depends on 1)

The apparatus of claim 1 wherein the at least one processing device is further configured to perform health checks of the first storage virtualization appliance and the second storage virtualization appliance responsive to selecting the one or more virtual volumes to migrate to the second storage virtualization appliance.

### Claim 5 (depends on 1)

The apparatus of claim 1 wherein provisioning the second set of storage elements for implementing the selected one or more virtual volumes on the second storage virtualization appliance comprises zoning the second storage virtualization appliance to a set of host devices configured to access the selected one or more virtual volumes and one or more backend storage arrays providing underlying storage for the selected one or more virtual volumes.

### Claim 6 (depends on 1)

The apparatus of claim 1 wherein provisioning the second set of storage elements for implementing the selected one or more virtual volumes on the second storage virtualization appliance comprises establishing one or more input-output paths between a set of host devices configured to access the selected one or more virtual volumes and the second storage virtualization appliance.

### Claim 7 (depends on 1)

The apparatus of claim 1 wherein provisioning the second set of storage elements for implementing the selected one or more virtual volumes comprises creating one or more virtual volumes on the second set of storage elements having a same virtual product identifier as the selected one or more virtual volumes provisioned on the first set of storage elements of the first storage virtualization appliance.

### Claim 8 (depends on 1)

The apparatus of claim 1 wherein provisioning the second set of storage elements for implementing the selected one or more virtual volumes comprises determining compatibility of the configuration of the first set of storage elements on the first storage virtualization appliance with the second storage virtualization appliance.

### Claim 9 (depends on 8)

The apparatus of claim 8 wherein determining the compatibility of the configuration of the first set of storage elements on the first storage virtualization appliance comprises determining one or more Redundant Array of Independent Disks (RAID) types utilized by the selected one or more virtual volumes implemented on the first set of storage elements of the first storage virtualization appliance.

### Claim 10 (depends on 9)

The apparatus of claim 9 wherein, responsive to determining that the selected one or more virtual volumes implemented on the first set of storage elements of the first storage virtualization appliance utilize RAID-0, converting the selected one or more virtual volumes from utilizing RAID-0 to utilizing RAID-1.

### Claim 11 (depends on 8)

The apparatus of claim 8 wherein determining the compatibility of the configuration of the first set of storage elements on the first storage virtualization appliance comprises verifying a one-to-one extent to storage volume mapping for the selected one or more virtual volumes and underlying storage on one or more backend storage arrays.

### Claim 12 (depends on 1)

The apparatus of claim 1 wherein modifying (i) the first set of storage elements of the first storage virtualization appliance from the active state to the inactive state and (ii) the second set of storage elements of the second storage virtualization appliance from the inactive state to the active state comprises:
determining one or more Small Computer Systems Interface (SCSI) reservations for the selected one or more virtual volumes on the first storage virtualization appliance; and
applying the determined one or more SCSI reservations for the selected one or more virtual volumes on the second storage virtualization appliance.

### Claim 13 (depends on 1)

The apparatus of claim 1 wherein the active state comprises a ready for input-output state and the inactive state comprises a not ready for input-output state.

### Claim 14 (depends on 1)

The apparatus of claim 1 wherein the at least one processing device is further configured to remove the selected one or more virtual volumes from the first set of storage elements on the first storage virtualization appliance responsive to resuming input-output operations directed to the selected one or more virtual volumes on the second set of storage elements of the second storage virtualization appliance.

### Claim 15

A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device causes the at least one processing device:
to select, from a first storage virtualization appliance, one or more virtual volumes to migrate to a second storage virtualization appliance;
to determine a configuration of a first set of storage elements of the first storage virtualization appliance utilized to implement the selected one or more virtual volumes;
to provision a second set of storage elements for implementing the selected one or more virtual volumes on the second storage virtualization appliance, the second set of storage elements being provisioned in an inactive state;
to pause input-output operations directed to the selected one or more virtual volumes on the first set of storage elements of the first storage virtualization appliance;
to modify (i) the first set of storage elements of the first storage virtualization appliance from an active state to the inactive state and (ii) the second set of storage elements of the second storage virtualization appliance from the inactive state to the active state; and
to resume input-output operations directed to the selected one or more virtual volumes on the second set of storage elements of the second storage virtualization appliance.

### Claim 16 (depends on 15)

The computer program product of claim 15 wherein the first storage virtualization appliance comprises a first version of storage virtualization software, and wherein the second storage virtualization appliance utilizes a second version of storage virtualization software different than the first version of storage virtualization software.

### Claim 17 (depends on 15)

The computer program product of claim 15 wherein the selected one or more virtual volumes comprise all virtual volumes implemented on the first set of storage elements of the first storage virtualization appliance.

### Claim 18

A method comprising:
selecting, from a first storage virtualization appliance, one or more virtual volumes to migrate to a second storage virtualization appliance;
determining a configuration of a first set of storage elements of the first storage virtualization appliance utilized to implement the selected one or more virtual volumes;
provisioning a second set of storage elements for implementing the selected one or more virtual volumes on the second storage virtualization appliance, the second set of storage elements being provisioned in an inactive state;
pausing input-output operations directed to the selected one or more virtual volumes on the first set of storage elements of the first storage virtualization appliance;
modifying (i) the first set of storage elements of the first storage virtualization appliance from an active state to the inactive state and (ii) the second set of storage elements of the second storage virtualization appliance from the inactive state to the active state; and
resuming input-output operations directed to the selected one or more virtual volumes on the second set of storage elements of the second storage virtualization appliance;
wherein the method is performed by at least one processing device comprising a processor coupled to a memory.

### Claim 19 (depends on 18)

The method of claim 18 wherein the first storage virtualization appliance comprises a first version of storage virtualization software, and wherein the second storage virtualization appliance utilizes a second version of storage virtualization software different than the first version of storage virtualization software.

### Claim 20 (depends on 18)

The method of claim 18 wherein the selected one or more virtual volumes comprise all virtual volumes implemented on the first set of storage elements of the first storage virtualization appliance.
