SUPPORTING NON-DISRUPTIVE MOVEMENT OF A LOGICAL VOLUME OF NON-VOLATILE DATA STORAGE BETWEEN STORAGE APPLIANCES
First Claim
1. A method of supporting movement of a logical volume between storage appliances in a cluster of storage appliances, comprising:
- creating the logical volume by i) creating a primary copy of the logical volume in a first storage appliance in the cluster of storage appliances, wherein creating the primary copy of the logical volume in the first storage appliance includes allocating units of non-volatile data storage from data storage devices of the first storage appliance to the primary copy of the logical volume to store host data written to the logical volume, and ii) creating a shadow copy of the logical volume in at least a second storage appliance in the cluster of storage appliances, wherein creating the shadow copy of the logical volume in the second storage appliance includes allocating no units of non-volatile data storage from data storage devices of the second storage appliance to the shadow copy of the logical volume to store host data; and
in response to creation of the logical volume;
creating an initial path state of the logical volume, at least in part by i) initially setting a path state of a data path between the host computer and the first storage appliance to active, wherein the active state of the data path between the host computer and the first storage appliance indicates to the host computer that the host computer is permitted to send I/O operations directed to the logical volume over the data path between the host computer and the first storage appliance, and ii) initially setting a path state of a data path between the host computer and the second storage appliance to unavailable, wherein the unavailable state of the data path between the host computer and the second storage appliance indicates to the host computer that the host computer is not permitted to send I/O operations directed to the logical volume over the data path between the host computer and the second storage appliance,making both the primary copy of the logical volume and the shadow copy of the logical volume visible to the host computer as the logical volume, andproviding the initial path state of the logical volume to the host computer, wherein the initial path state of the logical volume causes the host computer to send I/O operations directed to the logical volume only over the data path between the host computer and the first storage appliance.
3 Assignments
0 Petitions
Accused Products
Abstract
A primary copy and one or more shadow copies of a logical volume are created and discovered by a host rescan performed when the logical volume is initially created. Data storage resources are allocated to the primary copy, but not to the shadow copy. The initial path state of the logical volume describes the path to the primary copy as active, and the path to the shadow copy as unavailable for accessing the logical volume. Movement of the logical volume to the storage appliance providing the shadow copy can be performed without an additional host rescan, by making the shadow copy the new primary copy, making the primary copy a new shadow copy, and updating the path state of the logical volume to indicate i) that the path to the new primary copy is active, and ii) that the path to the new shadow copy is unavailable.
2 Citations
15 Claims
-
1. A method of supporting movement of a logical volume between storage appliances in a cluster of storage appliances, comprising:
-
creating the logical volume by i) creating a primary copy of the logical volume in a first storage appliance in the cluster of storage appliances, wherein creating the primary copy of the logical volume in the first storage appliance includes allocating units of non-volatile data storage from data storage devices of the first storage appliance to the primary copy of the logical volume to store host data written to the logical volume, and ii) creating a shadow copy of the logical volume in at least a second storage appliance in the cluster of storage appliances, wherein creating the shadow copy of the logical volume in the second storage appliance includes allocating no units of non-volatile data storage from data storage devices of the second storage appliance to the shadow copy of the logical volume to store host data; and in response to creation of the logical volume; creating an initial path state of the logical volume, at least in part by i) initially setting a path state of a data path between the host computer and the first storage appliance to active, wherein the active state of the data path between the host computer and the first storage appliance indicates to the host computer that the host computer is permitted to send I/O operations directed to the logical volume over the data path between the host computer and the first storage appliance, and ii) initially setting a path state of a data path between the host computer and the second storage appliance to unavailable, wherein the unavailable state of the data path between the host computer and the second storage appliance indicates to the host computer that the host computer is not permitted to send I/O operations directed to the logical volume over the data path between the host computer and the second storage appliance, making both the primary copy of the logical volume and the shadow copy of the logical volume visible to the host computer as the logical volume, and providing the initial path state of the logical volume to the host computer, wherein the initial path state of the logical volume causes the host computer to send I/O operations directed to the logical volume only over the data path between the host computer and the first storage appliance. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A non-transitory computer readable medium for supporting movement of a logical volume between storage appliances in a cluster of storage appliances, the non-transitory medium having a set of instructions stored thereon, the set of instructions, when executed on processing circuitry, cause the processing circuitry to perform the steps of:
-
creating the logical volume by i) creating a primary copy of the logical volume in a first storage appliance in the cluster of storage appliances, wherein creating the primary copy of the logical volume in the first storage appliance includes allocating units of non-volatile data storage from data storage devices of the first storage appliance to the primary copy of the logical volume to store host data written to the logical volume, and ii) creating a shadow copy of the logical volume in at least a second storage appliance in the cluster of storage appliances, wherein creating the shadow copy of the logical volume in the second storage appliance includes allocating no units of non-volatile data storage from data storage devices of the second storage appliance to the shadow copy of the logical volume to store host data; and in response to creation of the logical volume; creating an initial path state of the logical volume, at least in part by i) initially setting a path state of a data path between the host computer and the first storage appliance to active, wherein the active state of the data path between the host computer and the first storage appliance indicates to the host computer that the host computer is permitted to send I/O operations directed to the logical volume over the data path between the host computer and the first storage appliance, and ii) initially setting a path state of a data path between the host computer and the second storage appliance to unavailable, wherein the unavailable state of the data path between the host computer and the second storage appliance indicates to the host computer that the host computer is not permitted to send I/O operations directed to the logical volume over the data path between the host computer and the second storage appliance, making both the primary copy of the logical volume and the shadow copy of the logical volume visible to the host computer as the logical volume, and providing the initial path state of the logical volume to the host computer, wherein the initial path state of the logical volume causes the host computer to send I/O operations directed to the logical volume only over the data path between the host computer and the first storage appliance. - View Dependent Claims (13, 14)
-
-
15. A system for supporting movement of a logical volume between storage appliances in a cluster of storage appliances, the system comprising:
-
processing circuitry; memory having program code stored thereon that is executable on the processing circuitry, wherein the program code, when executed on the processing circuitry, causes to processing circuitry to; create the logical volume by i) creating a primary copy of the logical volume in a first storage appliance in the cluster of storage appliances, wherein creating the primary copy of the logical volume in the first storage appliance includes allocating units of non-volatile data storage from data storage devices of the first storage appliance to the primary copy of the logical volume to store host data written to the logical volume, and ii) creating a shadow copy of the logical volume in at least a second storage appliance in the cluster of storage appliances, wherein creating the shadow copy of the logical volume in the second storage appliance includes allocating no units of non-volatile data storage from data storage devices of the second storage appliance to the shadow copy of the logical volume to store host data; and in response to creation of the logical volume; create an initial path state of the logical volume, at least in part by i) initially setting a path state of a data path between the host computer and the first storage appliance to active, wherein the active state of the data path between the host computer and the first storage appliance indicates to the host computer that the host computer is permitted to send I/O operations directed to the logical volume over the data path between the host computer and the first storage appliance, and ii) initially setting a path state of a data path between the host computer and the second storage appliance to unavailable, wherein the unavailable state of the data path between the host computer and the second storage appliance indicates to the host computer that the host computer is not permitted to send I/O operations directed to the logical volume over the data path between the host computer and the second storage appliance, make both the primary copy of the logical volume and the shadow copy of the logical volume visible to the host computer as the logical volume, and provide the initial path state of the logical volume to the host computer, wherein the initial path state of the logical volume causes the host computer to send I/O operations directed to the logical volume only over the data path between the host computer and the first storage appliance.
-
Specification