File migration in a hierarchical storage system
A method, executed by at least one processor, includes receiving a migration request for a plurality of files, assigning files of the plurality of files that are smaller than a selected size to one or more small-file secondary storage devices, assigning files of the plurality of files that are larger than the selected size to one or more large-file secondary storage devices, and initiating migration of the plurality of files from one or more primary storage devices to the secondary storage devices to which they are assigned. A corresponding computer program product and computer system are also disclosed herein.
1. A method, executed by at least one processor, the method comprising:
receiving a migration request for a plurality of files;
determining a file size threshold for the plurality of files based on an average recall time, average transfer speed for migrating a file, and an average migration overhead time to transfer the file;
assigning files of the plurality of files that are smaller than the file size threshold to one or more small-file secondary storage devices;
assigning files of the plurality of files that are larger than the file size threshold to one or more large-file secondary storage devices;
and initiating migration of the plurality of files front one or more primary storage devices to the secondary storage devices to which they are assigned.
2. The method of claim 1 , wherein the migration request is generated in response to closing a file on the primary storage device.
3. The method of claim 1 , wherein the selected size is automatically determined from at least one recall specification.
4. The method of claim 3 , wherein the recall specification is selected from the group consisting of a file transfer speed, an unmounting time, an unloading time, a loading time, a mounting time, and a seek time.
5. The method of claim 1 , wherein initiating migration comprises invoking a file system function call.
6. The method of claim 1 , wherein the secondary storage devices correspond to a storage library.
7. The method of claim 6 , wherein the secondary storage devices are managed by a linear media file system.
8. A computer program product comprising:
one or more computer readable storage media and program instructions stored on the one or more computer readable storage media, the program instructions comprising instructions to: receiving a migration request for a plurality of files;
determining a file size threshold for the plurality of files based on an average recall time, average transfer speed for migrating a file, and an average migration overhead time to transfer the file;
assigning files of the plurality of files that are smaller than the file size threshold to one or more small-file secondary storage devices;
assigning files of the plurality of files that are larger than the file size threshold to one or more large-file secondary storage devices;
and initiating migration of the plurality of files from one or more primary storage devices to the secondary storage devices to which they are assigned.
9. The computer program product of claim 8 , wherein the migration request is generated in response to closing a file on the at least one primary storage device.
10. The computer program product of claim 8 , wherein the program instructions comprise instructions to automatically determine the selected size from at least one recall specification.
11. The computer program product of claim 10 , wherein the recall specification is selected from the group consisting of a file transfer speed, an unmounting time, an unloading time, a loading time, a mounting time, and a seek time.
12. The computer program product of claim 8 , wherein the instructions to initiate migration invoke a file system function call.
13. The computer program product of claim 8 , wherein the secondary storage devices correspond to a storage library.
14. The computer program product of claim 8 , wherein the secondary storage devices are managed by a linear media file system.
15. A computer system comprising:
one or more computers; a primary storage device;
a plurality of secondary storage devices that are partitioned into one or more large-file secondary storage devices and one or more small file secondary storage devices; and one or more computer readable storage media and program instructions stored on the one or more computer readable storage media for execution by at least one of the computers, the program instructions comprising instructions to:
receiving a migration request for a plurality of files;
determining a file size threshold for the plurality of files based on an average recall time, average transfer speed for migrating a file, and an average migration overhead time to transfer the file;
assigning files of the plurality of files that are smaller than the file size threshold to one or more small-file secondary storage devices; assigning files of the plurality of files that are larger than the file size threshold to one or more large-file secondary storage devices;
and initiating migration of the plurality of files from one or more primary storage devices to the secondary storage devices to which they are assigned.
16. The computer system of claim 15 , wherein the secondary storage devices correspond to a storage library.
17. The computer system of claim 16 , wherein the secondary storage devices are managed by a file system.
18. The computer system of claim 17 , wherein the file system is a linear media file system.
19. The computer system of claim 16 , wherein the storage library further comprises a plurality of mountable media.
20. The computer system of claim 15 , wherein the plurality of mountable media comprise linear media.