Storage system cloning
Cloning storage systems in a cloud computing environment, including: receiving a request to create a cloud-based storage system; retrieving, from cloud-based object storage, one or more objects to include in the cloud-based storage system; and creating the cloud-based storage system, including storing, in block storage of the cloud-based storage system, data contained in the one or more objects retrieved from the cloud-based object storage.
1 . A method comprising:
identifying, from a cloud-based storage resource, data elements that were written to as part of servicing modifying operations by one or more cloud-based storage systems; and
cloning the one or more cloud-based storage systems by including references to the identified one or more data elements in one or more cloud-based storage devices of a new storage system that implements a storage controller application via cloud computing resources.
2 . The method of claim 1 , further comprising:
determining that at least some portion of a dataset stored by the one or more cloud-based storage systems has not been committed to the cloud-based storage; and
delaying retrieval, from the cloud-based storage, of at least one data element to include in the cloud-based storage system.
3 . The method of claim 1 , wherein creating the cloud-based storage system includes replicating configuration related information associated with one of the one or more cloud-based storage systems.
4 . The method of claim 3 , wherein the configuration related information comprises information describing connectivity between the one of the one or more cloud-based storage systems and one or more hosts that issue I/O requests to the one of the one or more cloud-based storage systems.
5 . The method of claim 1 , wherein retrieving data elements to include in the cloud-based storage system comprises retrieving, from the cloud-based storage, data elements that contain valid data for the cloud-based storage system.
6 . The method of claim 1 , further comprising:
receiving a request to create the storage system, wherein the request to create the cloud-based storage system includes information describing a previous point-in-time, and
wherein retrieving data elements to include in the cloud-based storage system comprises retrieving, from the cloud-based storage, data elements that contain data that was valid for the one or more cloud-based storage systems at the previous point-in-time.
7 . The method of claim 1 , wherein invalid data elements associated with the one or more cloud-based storage system are retained in dependence upon a predetermined retention policy.
8 . The method of claim 1 , wherein retrieving, from the cloud-based storage, data elements to include in the cloud-based storage system includes verifying that each write to the data elements has been acknowledged.
9 . The method of claim 1 , wherein the data elements were previously written to the cloud-based storage as part of servicing modifying operations directed to the one or more cloud-based storage systems.
10 . The method of claim 1 , further comprising:
cloning the one or more cloud-based storage systems based on a request to clone one of the one or more cloud-based storage systems.
11 . An apparatus comprising:
a memory;
a processing device operably coupled to the memory, configured to:
identify, from a cloud-based storage resource, data elements that were written to as part of servicing modifying operations by one or more cloud-based storage systems; and
clone the one or more cloud-based storage systems by storing references to the identified one or more data elements in one or more cloud-based storage devices of a new storage system that implements a storage controller application via cloud computing resources.
12 . The apparatus of claim 11 , wherein the processing device is further configured to:
determine that at least some portion of a dataset stored by the one or more cloud-based storage systems has not been committed to the cloud-based storage; and
delay retrieval, from the cloud-based storage, of at least one data element to include in the cloud-based storage system.
13 . The apparatus of claim 11 , wherein creating the cloud-based storage system includes replicating configuration related information associated with one of the one or more cloud-based storage systems.
14 . The apparatus of claim 13 , wherein the configuration related information comprises information describing connectivity between the one of the one or more cloud-based storage systems and one or more hosts that issue I/O requests to the one of the one or more cloud-based storage systems.
15 . The apparatus of claim 11 , wherein retrieving data elements to include in the cloud-based storage system comprises retrieving, from the cloud-based storage, data elements that contain valid data for the cloud-based storage system.
16 . The apparatus of claim 11 , wherein the processing device is further configured to:
receive a request to create the storage system, wherein the request to create the cloud-based storage system includes information describing a previous point-in-time; and
retrieve data elements to include in the cloud-based storage system comprising retrieving, from the cloud-based storage, data elements that contain data that was valid for the one or more cloud-based storage systems at the previous point-in-time.
17 . The apparatus of claim 11 , wherein invalid data elements associated with the one or more cloud-based storage system are retained in dependence upon a predetermined retention policy.
18 . The apparatus of claim 11 , wherein retrieving, from the cloud-based storage, data elements to include in the cloud-based storage system includes verifying that each write to the data elements has been acknowledged.
19 . The apparatus of claim 11 , wherein the data elements were previously written to the cloud-based storage as part of servicing modifying operations directed to the one or more cloud-based storage systems.
20 . A non-transitory computer readable storage medium storing instructions that, when executed, cause a processing device to:
receive a request to create a cloud-based storage system;
create a cloud-based storage system based on the request, the cloud-based storage system comprising at least one cloud computing resource implementing a storage controller application and one or more cloud-based storage devices;
retrieve, from a cloud-based storage, data elements to include in the cloud-based storage system using information that associates the data elements with one or more cloud-based storage systems; and
store, in the one or more cloud-based storage devices, data contained in the data elements retrieved from the cloud-based storage.