Optimized migration of data between file systems of a storage array
A request is received from an initiator application to migrate data from a plurality of blocks of a storage area network (SAN) volume resident on a storage array to a network attached storage (NAS) volume resident on the storage array. Metadata is generated for the NAS volume, the metadata to reference the plurality of data blocks of the SAN volume storing the data. A file is generated at the NAS volume using the metadata, wherein the file is associated with the plurality of data blocks of the SAN volume storing the data.
1 . A system comprising:
a storage array comprising a plurality of solid-state storage devices; and
a storage controller operatively coupled to the storage array, the storage controller comprising a processing device, the processing device configured to:
receive a request from an initiator application to migrate data from a plurality of data blocks of a storage area network (SAN) volume resident on the storage array to a network attached storage (NAS) volume resident on the storage array;
in response to receiving the request, generate metadata for the NAS volume, the metadata referencing the plurality of data blocks of the SAN volume; and
generate a file, that is stored in the NAS volume, using the metadata, wherein the file is associated with the plurality of data blocks of the SAN volume and the plurality of data blocks remain on the SAN volume after the file is generated.
2 . The system of claim 1 , wherein the data is migrated to the NAS volume without moving underlying data of the plurality of data blocks to the NAS volume.
3 . The system of claim 1 , wherein the data is migrated without copying underlying data of the plurality of data blocks to the NAS volume.
4 . The system of claim 1 , wherein the initiator application is resident on an initiator device coupled to the storage controller by a network.
5 . The system of claim 1 , wherein the processing device is further configured to:
renumber the plurality of data blocks associated with the file to have sequential block numbers in the NAS volume.
6 . The system of claim 1 , wherein the processing device is further configured to:
move data underlying the plurality of data blocks associated with the file to one of the plurality of solid-state storage devices.
7 . The system of claim 1 , wherein the processing device is further configured to:
generate file metadata comprising a size of blocks of the plurality of data blocks, wherein the file is further generated using the file metadata.
8 . A method comprising:
receiving, by a processing device of a storage controller of a storage array comprising a plurality of solid-state storage devices, a request from an initiator application to migrate data from a plurality of data blocks of a storage area network (SAN) volume resident on the storage array to a network attached storage (NAS) volume resident on the storage array;
in response to receiving the request, generating metadata for the NAS volume, the metadata referencing the plurality of data blocks of the SAN volume; and
generating a file, that is stored in the NAS volume, using the metadata, wherein the file is associated with the plurality of data blocks of the SAN volume and the plurality of data blocks remain on the SAN volume after the file is generated.
9 . The method of claim 8 , wherein the data is migrated to the NAS volume without moving underlying data of the plurality of data blocks to the NAS volume.
10 . The method of claim 8 , wherein the data is migrated without copying underlying data of the plurality of data blocks to the NAS volume.
11 . The method of claim 8 , wherein the initiator application is resident on an initiator device coupled to the storage controller by a network.
12 . The method of claim 8 , further comprising:
renumbering the plurality of data blocks associated with the file to have sequential block numbers in the NAS volume.
13 . The method of claim 8 , further comprising:
moving data underlying the plurality of data blocks associated with the file to one of the plurality of solid-state storage devices.
14 . The method of claim 8 , further comprising:
generating file metadata comprising a size of blocks of the plurality of data blocks, wherein the file is further generated using the file metadata.
15 . A non-transitory computer readable storage medium storing instructions, which when executed, cause a processing device of a storage controller to:
receive a request from an initiator application to migrate data from a plurality of data blocks of a storage area network (SAN) volume resident on a storage array comprising a plurality of solid-state storage devices to a network attached storage (NAS) volume resident on the storage array;
in response to receiving the request, generate metadata for the NAS volume, the metadata referencing the plurality of data blocks of the SAN volume; and
generate a file, that is stored in the NAS volume, using the metadata, wherein the file is associated with the plurality of data blocks of the SAN volume and the plurality of data blocks remain on the SAN volume after the file is generated.
16 . The non-transitory computer readable storage medium of claim 15 , wherein the data is migrated to the NAS volume without moving underlying data of the plurality of data blocks to the NAS volume.
17 . The non-transitory computer readable storage medium of claim 15 , wherein the data is migrated without copying underlying data of the plurality of data blocks to the NAS volume.
18 . The non-transitory computer readable storage medium of claim 15 , wherein the initiator application is resident on an initiator device coupled to the storage controller by a network.
19 . The non-transitory computer readable storage medium of claim 15 , wherein the processing device is further configured to:
renumber the plurality of data blocks associated with the file to have sequential block numbers in the NAS volume.
20 . The non-transitory computer readable storage medium of claim 15 , wherein the processing device is further configured to:
move data underlying the plurality of data blocks associated with the file to one of the plurality of solid-state storage devices.