Online Resize of a Volume of a Distributed Storage System
US-2023080046-A1 · Mar 16, 2023 · US
US11989460B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11989460-B2 |
| Application number | US-202217965262-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 13, 2022 |
| Priority date | Oct 13, 2022 |
| Publication date | May 21, 2024 |
| Grant date | May 21, 2024 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A virtual storage appliance receives a request to increase its total storage capacity, and processes the request by performing a resize operation on all backend virtual volumes that are attached to the virtual storage appliance while efficiently considering constraints of the cloud computing platform and its own system constraints. The resize operation increases a size of each one of the backend virtual volumes, e.g., by the same amount. In response to detecting that the resize operation has been completed on all the backend virtual volumes, the virtual storage appliance indicates that a new, increased total storage capacity of the virtual storage appliance is available for use. The resize operation is performed without moving any previously stored contents of the backend virtual volumes, and without changing the total number of backend virtual volumes that are attached to the virtual storage appliance.
Opening claim text (preview).
What is claimed is: 1. A method comprising: during initialization of a virtual storage appliance executing on a cloud computing platform, determining a total number of backend virtual volumes attached to the virtual storage appliance, based on a plurality of constraints; and in response to a request to increase a total storage capacity of the virtual storage appliance, processing the request in the virtual storage appliance by: performing a resize operation on all of the backend virtual volumes that are attached to the virtual storage appliance, wherein the resize operation increases a size of each one of the backend virtual volumes; in response to detecting that the resize operation has been completed on all of the backend virtual volumes, indicating that a new, increased total storage capacity of the virtual storage appliance is available for use; and maintaining the same total number of backend virtual volumes that are attached to the virtual storage appliance as was determined during initialization of the virtual storage appliance throughout the processing of the request to increase the total storage capacity of the virtual storage appliance. 2. The method of claim 1 , wherein performing the resize operation on the backend virtual volumes is completed while retaining all previously stored contents of the backend virtual volumes in place, without moving any of the previously stored contents of the backend virtual volumes. 3. The method of claim 1 , wherein performing the resize operation on all of the backend virtual volumes increases the size of each one of the backend virtual volumes by the same amount. 4. The method of claim 1 , further comprising: during initialization of the virtual storage appliance, determining an initial backend virtual volume size that is the same for each of the backend virtual volumes, based on the plurality of constraints. 5. The method of claim 4 , wherein the total number of backend virtual volumes attached to the virtual storage appliance determined during initialization of the virtual storage appliance comprises a maximum number of backend virtual volumes allowed by the plurality of constraints. 6. The method of claim 5 , wherein the virtual storage appliance executes on an instance of a cloud instance type defined by the cloud computing platform, and wherein the plurality of constraints comprises at least one constraint on the cloud instance type. 7. The method of claim 6 , wherein the backend virtual volumes comprise cloud storage volumes of a cloud storage volume type defined by the cloud computing platform, and wherein the plurality of constraints further comprises at least one constraint on the cloud storage volume type. 8. The method of claim 7 , wherein the constraints further comprise at least one constraint defined by program code of the virtual appliance. 9. The method of claim 1 , further comprising: processing, by the virtual storage appliance, host I/O (Input/Output) requests received by the virtual storage appliance from one or more hosts; and wherein the processing of the host I/O requests includes using the backend virtual volumes to create user accessible storage objects that are accessed by the host I/O requests. 10. The method of claim 9 , wherein indicating that the new, increased total storage capacity of the virtual storage appliance is available for use comprises indicating to an administrator user that the new, increased total storage capacity of the virtual storage appliance is available for use. 11. The method of claim 1 , wherein the request to increase the total storage capacity of the virtual storage appliance includes a requested new total storage capacity, and further comprising: validating the request to increase the total storage capacity of the virtual storage appliance at least in part by determining whether a result of dividing the requested new total storage capacity by a total number of the backend virtual volumes is evenly divisible by a minimum, per-backend virtual volume increment of increase. 12. A system comprising: a virtual storage appliance executing on a cloud computing platform, wherein the virtual storage appliance includes program code for expanding a total storage capacity of the virtual storage appliance; wherein the program code, when executed by computing resources of the cloud computing platform including at least one central processing unit, causes the computing resources to: during initialization of the virtual storage appliance, determine a total number of backend virtual volumes attached to the virtual storage appliance, based on a plurality of constraints; and in response to a request to increase a total storage capacity of the virtual storage appliance, process the request in the virtual storage appliance by: performing a resize operation on all of the backend virtual volumes that are attached to the virtual storage appliance, wherein the resize operation increases a size of each one of the backend virtual volumes; in response to detecting that the resize operation has been completed on all of the backend virtual volumes, indicating that a new, increased total storage capacity of the virtual storage appliance is available for use; and maintaining the same total number of backend virtual volumes that are attached to the virtual storage appliance as was determined during initialization of the virtual storage appliance throughout the processing of the request to increase the total storage capacity of the virtual storage appliance. 13. The system of claim 12 , wherein the program code, when executed by the computing resources of the cloud computing platform, further causes the computing resources to complete performance of the resize operation on the backend virtual volumes while retaining all previously stored contents of the backend virtual volumes in place, without moving any of the previously stored contents of the backend virtual volumes. 14. The system of claim 12 , wherein the program code, when executed by the computing resources of the cloud computing platform, further causes the computing resources to perform the resize operation on all of the backend virtual volumes by increasing the size of each one of the backend virtual volumes by the same amount. 15. The system of claim 12 , wherein the program code, when executed by the computing resources of the cloud computing platform, further causes the computing resources to: during initialization of the virtual storage appliance, determine an initial backend virtual volume size that is the same for each of the backend virtual volumes, based on the plurality of constraints. 16. The system of claim 15 , wherein the total number of backend virtual volumes attached to the virtual storage appliance determined during initialization of the virtual storage appliance comprises a maximum number of backend virtual volumes allowed by the plurality of constraints. 17. The system of claim 16 , further comprising: wherein the virtual storage appliance executes on an instance of a cloud instance type defined by the cloud computing platform, and wherein the plurality of constraints comprises at least one constraint on the cloud instance type; wherein the backend virtual volumes comprise cloud storage volumes of a cloud storage volume type defined by the cloud computing platform, and wherein the plurality of constraints further comprises at least one constraint on the cloud storage volume type; and wherein the constraints further comprise at least one constraint defined by program code of the virtual appliance.
at device level, e.g. emulation of a storage device or system · CPC title
by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device · CPC title
Single storage device · CPC title
at area level, e.g. provisioning of virtual or logical volumes · CPC title
Plurality of storage devices · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.