US20130297969A1 - File management method and apparatus for hybrid storage system - Google Patents
File management method and apparatus for hybrid storage system Download PDFInfo
- Publication number
- US20130297969A1 US20130297969A1 US13/864,685 US201313864685A US2013297969A1 US 20130297969 A1 US20130297969 A1 US 20130297969A1 US 201313864685 A US201313864685 A US 201313864685A US 2013297969 A1 US2013297969 A1 US 2013297969A1
- Authority
- US
- United States
- Prior art keywords
- server
- file
- data server
- information
- cache
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G06F17/30215—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/184—Distributed file systems implemented as replicated file system
- G06F16/1844—Management specifically adapted to replicated file systems
-
- G06F11/1412—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2097—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3485—Performance evaluation by tracing or monitoring for I/O devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/81—Threshold
Definitions
- the present invention relates generally to a method of improving file write performance and providing availability in a hybrid storage system and, more particularly, to a method and apparatus that can improve file write performance by using a high-speed storage device as a cache server for file storage and that can provide availability for file management by storing a plurality of duplicates of a file in different data servers using real-time duplication and delayed duplication of the file, in a hybrid storage system composed of a high-performance storage device, such as a Solid State Drive (SSD), and a normal Hard Disk Drive (HDD).
- SSD Solid State Drive
- HDD normal Hard Disk Drive
- SSD Solid State Drive
- HDD Hard Disk Drive
- such an SSD is disadvantageous in that it is difficult to use the SSD as a main storage device because of the fact that when a portion in which storage is to be performed belongs to a region that was not deleted, deletion must be performed first, the fact that a storage space for a given price is smaller than that of an HDD, so that when a large-capacity storage system is constructed, cost is increased, and the fact that the lifespan of the SSD is shorter than that of an HDD and then the stability of the SSD is so low that the SSD cannot be used for an enterprise-level storage server.
- U.S. Patent Application Publication No. 2011-0153931 A1 discloses “Hybrid storage subsystem with mixed placement of file contents.”
- This technology discloses research into a method of using an SSD as a read cache in a storage sub-system in which the SSD and an HDD are configured together. That is, if a file block is not present in the SSD when a file is accessed, the corresponding file block is accessed via the HDD. However, the file block that was accessed once is transferred from the HDD to the SSD and is stored in the SSD, so that the SSD is used as a read cache so as to improve the speed at which the same file block is subsequently accessed.
- File update is performed by both the SSD and the HDD in which the file is stored, but the initial generation of the file is always performed by the HDD.
- this technology is disadvantageous in that when random access to the file occurs frequently, and when contents of the accessed file are located in different blocks, a cache miss frequently occurs even if the same file is accessed, thus deteriorating cache efficiency, and in that when a large-capacity file, such as a video file, is continuously accessed once, the advantage of cache usage is decreased.
- Korean Patent Application Publication No. 10-2008-0090959 discloses “Storage device, method, and computer-readable recording medium for improving random write performance on SSD.”
- This technology is characterized in that in order to improve the random write performance of the SSD which is relatively low compared to the sequential read/write performance, the throughput of random read/write instructions, and random read performance, a hard disk drive is used as the cache of the SSD for random writing, so that the advantage of the SSD is provided in a read operation, and the advantage of the HDD is maintained for write operations.
- this technology is problematic in that there is no alternative solution to deal with the loss of data that may occur because stability is deteriorated due to the short lifespan of the SSD.
- an object of the present invention is to improve the write performance of a file by utilizing a server, implemented as a high-speed storage device, as a cache server for file storage, and to provide availability by maintaining three file duplicates by means of real-time duplication from a cache server to a normal data server and by means of delayed duplication from a data server to another data server.
- a file management method using a metadata server of a hybrid storage management system including when a request for information about a target server in which a file is to be written is received from a client, selecting any one cache server in consideration of storage spaces of respective cache servers based on previously stored cache server information, transmitting information about the selected cache server to the client so that the client stores the file in the selected cache server, when a signal requesting information about a target server in which a duplicate of the stored file is to be written is received from the selected cache server, selecting any one first data server in consideration of storage spaces of respective data servers based on previously stored data server information, transmitting information about the selected first data server to the cache server so that the cache server stores a duplicate of the file in the selected first data server, and receiving information about storage of the file and the duplicate from the selected cache server and the selected first data server, and then storing file metadata.
- a metadata server for a hybrid storage management system including a cache server control unit for, when a request for information about a target server in which a file is to be written is received from a client, selecting any one cache server in consideration of storage spaces of respective cache servers based on previously stored cache server information, a network interface unit for transmitting information about the selected cache server to the client, thus allowing the client to store the file in the selected cache server, a data server control unit for, when a request for information about a target server in which a duplicate of the stored file is to be written is received from the selected cache server, selecting any one first data server in consideration of remaining storage spaces of respective data servers based on previously stored data server information, and transmitting information about the selected first data server to the cache server so that the cache server stores a duplicate of the file in the selected first data server, and a metadata control unit for receiving information about storage of the file and the duplicate from the selected cache server and the selected first data server, and then
- FIG. 1 is a diagram showing the configuration of a hybrid storage system according to an embodiment of the present invention
- FIG. 2 is a diagram showing the configuration of a metadata server according to an embodiment of the present invention.
- FIG. 3 is a diagram showing the configuration of a cache server according to an embodiment of the present invention.
- FIG. 4 is a flowchart showing the flow of a file management method using the metadata server according to an embodiment of the present invention
- FIG. 5 is a flowchart showing in detail the file management method of FIG. 4 ;
- FIG. 6 is a flowchart showing the flow of a file management method using the cache server according to an embodiment of the present invention.
- FIG. 7 is a flowchart showing in detail the file management method of FIG. 6 ;
- FIG. 8 is a flowchart showing the flow of a file search method using the metadata server according to an embodiment of the present invention.
- FIG. 9 is a flowchart showing in detail the file search method of FIG. 8 .
- FIG. 10 is a flowchart showing the flow of a file duplication method using the metadata server according to an embodiment of the present invention.
- a hybrid storage system to accomplish the object of the present invention includes clients, a metadata server, cache servers, and data servers, which may be connected to one another over a network.
- Each cache server is a server equipped with a high-speed storage device such as a Solid State Drive (SSD), and each data server is a server equipped with a normal Hard Disk Drive (HDD).
- SSD Solid State Drive
- HDD Hard Disk Drive
- the present invention provides a method that improves write performance by using a cache server equipped with a high-speed storage device as a file writing cache server, and a method that provides availability by maintaining three file duplicates by means of real-time duplication from a cache server to a data server and delayed duplication from the data server to another data server when storing the file.
- FIG. 1 is a diagram showing the configuration of a hybrid storage system according to an embodiment of the present invention.
- the hybrid storage system may include clients 102 , a metadata server 101 , cache servers 103 , and data servers 104 .
- Each client 102 may process applications related to files. Therefore, in order to perform a task on a file, the client 102 transmits a request signal to the metadata server 101 and then obtains address information about a server which will perform the corresponding task.
- the metadata server 101 selects any one of registered cache servers 103 , transfers address information about the cache server to the client 102 , and the client writes the file in the corresponding cache server 103 .
- the cache server 103 performs real-time duplication to the data server 104 , together with the writing of the file, and transfers information about the duplicated file to the client once file writing and duplication have been completed. Further, after the file writing and duplication have been completed, secondary duplication is performed by duplicating the duplicate of the data server 104 to another data server 104 .
- the write response speed is higher than that when using the data server 104 , so that file writing is performed by the cache server 103 , thus improving write performance.
- three duplicates are maintained by means of real-time duplication from the cache server 103 to the data server 104 and delayed duplication from the data server 104 to another data server 104 , thus enabling the availability of the file to be provided.
- FIG. 2 is a diagram showing the configuration of the metadata server according to an embodiment of the present invention.
- the metadata server 101 may include a control unit 201 and a network interface unit 205
- the control unit 201 may include a metadata control unit 202 , a cache server control unit 203 , and a data server control unit 204 .
- the metadata control unit 202 manages metadata information about files.
- the metadata information about files includes information about the name, size, generation date, recent update date, and authority of each file, and information about a cache server and a data server that actually store each file.
- the metadata information about each file is generated when the file is initially generated, and can be updated when the change of the file occurs, or when a data server storing the file is changed according to the transfer of the duplicate of the file.
- the cache server control unit 203 manages information about cache servers registered in the hybrid storage system.
- the cache server information includes information about the identifier, address, storage capacity, remaining space, etc. of each cache server.
- the cache server information is generated when a new cache server is registered, and is updated when the capacity information or address of a relevant cache server is changed.
- the cache server control unit 203 can select any one cache server in consideration of the remaining storage spaces of the respective cache servers based on the previously stored cache server information.
- the network interface unit 205 can transmit information about the selected cache server to the client, thus allowing the client to store the file in the selected cache server.
- the network interface unit 205 can detect the failure of each cache server and each data server via periodic communication.
- the network interface unit 205 is configured to, if it is determined that the file corresponding to the file location information request signal is stored in any one cache server, transmit information about that cache server to the client that transmitted the request signal, and is configured to, if it is determined that the file corresponding to the file location information request signal is stored only in any one data server, transmit information about that data server to the client that transmitted the request signal.
- the data server control unit 204 manages information about data servers, and the data server information includes information about the identifier, address, storage capacity, and remaining space of each data server.
- the data server information is generated when each data server is registered, and is updated when the capacity information or address of a relevant data server is changed.
- the data server control unit 204 selects any one first data server in consideration of the remaining storage spaces of the respective data servers based on the previously stored data server information, and transmits information about the selected first data server to the cache server so that the cache server can store a duplicate of the file in the selected first data server.
- the data server control unit 204 can select a second data server in which an additional duplicate of the stored file is to be written, and transmit a storage request signal for the additional duplicate to the selected second data server.
- the data server control unit 204 can generate a list of duplicates of files stored in the server in which the failure has been detected on the basis of the metadata about the stored files, obtain file information from the generated duplicate list, identify a third data server in which a valid duplicate is stored, among the data servers, select a fourth data server to which files included in the duplicate list are to be duplicated in consideration of the remaining storage spaces of the respective data servers included in the previously stored data server information, and transmit a request signal, requesting the duplication of files included in the duplicate list to the fourth data server, to the third data server.
- the data server control unit 204 is configured to, if a file that has not yet been duplicated to the fourth data server is present among the files included in the duplicate list, select a fifth data server to which the file that has not yet been duplicated is to be transmitted, in consideration of the remaining storage spaces of the respective data servers based on the previously stored data server information, and transmit a request signal, causing the file that has not yet been duplicated to be duplicated to the fifth data server, to the third data server via the network interface unit.
- the data server control unit 204 may perform control so that, if a file transfer target server information request signal required to transfer files due to the insufficiency of a remaining space is received from any one of the cache servers via the network interface unit, any one fifth data server is selected in consideration of the remaining storage spaces of the respective data servers based on the previously stored data server information, and so that information about the fifth data server is transmitted to the cache server having the insufficient remaining space via the network interface unit, thus allowing the cache server having the insufficient remaining space to transfer files to the fifth data server.
- the cache server control unit 203 and the data server control unit 204 may be operated as a single module when cache server information and data server information are managed in an integrated manner depending on an implementation method.
- FIG. 3 is a diagram showing the configuration of the cache server according to an embodiment of the present invention.
- the cache server 103 includes a file storage unit 303 , a file information list 304 , and a storage device 302 .
- a flash-based storage device 302 such as an SSD mounted on the cache server 103 is efficiently operated in a sequential writing manner such as a log writing manner, due to operations such as wear leveling or garbage collection.
- the cache server 103 maintains the file information list 304 based on the date information of files that have been written so as to indirectly use such effects.
- the file storage unit 303 When a file write request is received, the file storage unit 303 adds corresponding file information 305 to the file information list 304 , and stores the actual (source) file in the high-speed storage device 302 .
- the file information list 304 can be implemented as a list or a queue, and the most recently written file information 305 is located at the last location.
- the file storage unit 303 continuously monitors the space of the high-speed storage device 302 , and the capacity of the remaining storage space is equal to or less than a threshold, the file storage unit 303 selects the oldest files that had been previously stored according to the storage date from the file information list 304 , and transfers the selected files to the data server, thus always maintaining the capacity of the remaining storage space at a level greater than the threshold.
- FIG. 4 is a flowchart showing the flow of a file management method using the metadata server according to an embodiment of the present invention.
- the metadata server selects any one cache server in consideration of the remaining storage spaces of the respective cache servers based on the previously stored cache server information, and transmits information about the selected cache server to the client, thus allowing the client to store the file in the selected cache server at step S 402 .
- the metadata server selects any one first data server in consideration of the remaining storage spaces of the respective data servers based on the previously stored data server information, and transmits information about the selected first data server to the cache server, thus allowing the cache server to store the duplicate of the file in the selected first data server at step S 404 .
- the metadata server receives information about the storage of the file and the duplicate of the file from the selected cache server and the selected first data server, respectively, and then stores the file metadata at step S 405 .
- the metadata server can select a second data server in which an additional duplicate of the stored file is to be written, and transmits a request signal for the storage of the additional duplicate to the selected second data server at step S 406 .
- the metadata server updates the stored file metadata at step S 408 .
- FIG. 5 is a flowchart showing in detail the file management method of FIG. 4 .
- the hybrid storage system can store a file and can generate a duplicate of the file so as to provide availability via the process of FIG. 5 .
- the client 102 requests information about a server in which a file is to be written from the metadata server 101 so as to write the file at step S 501 .
- the metadata server 101 selects any one of registered cache servers 103 on the basis of selection criteria such as the sizes of the remaining storage spaces by searching for cache server information, and transmits information about the selected cache server to the client at step S 502 .
- the client 102 requests the received cache server to write the file at step S 503 .
- the cache server 103 that received the file writing request requests the metadata server 101 to obtain information about a data server in which the duplicate is to be stored in real time upon storing the file, in order to obtain the data server information, at step S 504 .
- the metadata server 101 selects any one of the registered data servers 104 based on the criteria used to select the data server similarly to the selection of the cache server, and transmits information about the selected data server to the cache server 103 at step S 505 .
- the cache server 103 stores an actual (source) file at step S 506 , and also requests the first data server 104 to store a duplicate of the file by transmitting contents of the stored file in real time to the first data server 104 .
- the cache server 103 completes the storage of the file by adding information about the stored file to a file information list at step S 507 .
- the cache server 103 notifies the metadata server 101 that the storage of the source file and the duplicate of the file has been completed at step S 510 .
- the metadata server 101 stores metadata about the stored file at step S 511 , and next notifies the cache server 103 that the storage of the metadata has been successfully completed at step S 512 .
- the cache server 103 verifies that the storage of the metadata has been completed, and notifies the client 102 of the completion of the storage of the file at step S 513 .
- the metadata server 101 selects another data server in which an additional duplicate of the newly stored file is to be stored so as to maintain three duplicates required to provide availability at step S 515 , and requests the first data server 104 in which the duplicate was already stored to store the additional duplicate at step S 515 .
- the first data server 104 After receiving the additional duplicate storage request, the first data server 104 transmits the corresponding duplicate to another second data server 104 so that the duplicate is stored in the second data server 104 at step S 516 .
- the second data server 104 stores the received duplicate at step S 517 , and transfers the completion of the storage of the duplicate to the first data server 104 at step S 518 .
- the first data server 104 transfers the completion of the storage of the duplicate to the metadata server 101 , thus terminating the storage of the duplicate at step S 519 .
- the metadata server 101 After receiving a duplicate storage completion message from the first data server 104 , the metadata server 101 updates the metadata by adding information about the new duplicate to the metadata information about the corresponding file at step S 520 .
- FIG. 6 is a flowchart showing the flow of a file management method using the cache server according to an embodiment of the present invention.
- FIG. 6 is a flowchart showing the transfer of a file from a cache server to a data server in the hybrid storage system. Since the cache server is used as a file write cache for the hybrid storage system, it must maintain a remaining space required to process a new file writing request received from a client.
- the cache server maintains two thresholds.
- a first threshold is the size of a minimum remaining space that must be maintained by the cache server. When the size of the remaining space is equal to or less than the first threshold, the transfer of the file is performed in the background.
- a second threshold is a value used when a stored file is transferred to a data server so as to ensure the remaining space in the cache server. Until the remaining space greater than the second threshold is ensured, the transfer of a file is performed in the background.
- the cache server periodically monitors the size of a remaining space and then determines whether the size of the remaining space is equal to or less than the first threshold at step S 601 . If the size of the remaining space is greater than the first threshold, the cache server waits for a preset period of time at step S 602 , and thereafter compares again the size of the remaining space with the first threshold.
- the file transfer procedure is performed.
- information about the oldest file, stored for the longest time is obtained from a file information list managed by the cache server at step S 603 .
- the cache server requests information about a target data server, to which the file is to be transferred, from the metadata server so as to transfer the corresponding file to the data server at step S 604 .
- the cache server obtains information about the transfer target data server, which has been selected by and received from the metadata server based on criteria for the selection of a data server to which the file is to be transferred, at step S 605 , and performs the transfer of the file by transmitting the file to the data server at step S 606 .
- the cache server transmits information about the transferred file to the metadata server at step S 607 , and the metadata server updates metadata information about the transferred file.
- the cache server completes the transfer of the file and compares the size of the remaining space with the second threshold at step S 608 . If the size of the remaining space is equal to or less than the second threshold, the procedure starting from the file information obtainment step S 603 to additionally transfer files is repeated so that the remaining space can be ensured; otherwise, the file transfer procedure is terminated, and the monitoring of the remaining space is performed again.
- FIG. 7 is a flowchart showing in detail the file management method of FIG. 6 .
- FIG. 7 is a diagram showing the file management method for ensuring the remaining space of the file cache server shown in FIG. 6 from the standpoint of the hybrid storage system.
- the cache server 103 periodically monitors the size of the remaining space and determines whether the size of the remaining space is equal to or less than the first threshold at step S 701 .
- the cache server 103 sleeps for a given period of time, and thereafter compares again the size of the remaining space with the first threshold at step S 702 . If the size of the remaining space is equal to or less than the first threshold, a file transfer procedure is performed.
- information about the oldest file that has been stored for the longest time is obtained from a file information list managed by the cache server 103 at step S 703 .
- the cache server 103 requests information about a target data server to which the file is to be transferred from the metadata server 101 so as to transfer the corresponding file to the data server at step S 704 .
- the metadata server 101 selects a fifth data server 104 as the target data server based on the criteria used to select the target data server at step S 705 , and transfers information about the corresponding server to the cache server at step S 706 .
- the cache server 103 transfers the file to the fifth data server 104 based on the received data server information at step S 707 .
- the fifth data server 104 stores the received file at step S 708 , and notifies the cache server 103 of the completion of the storage after the file has been stored at step S 709 .
- the cache server 103 transmits information about the transferred file to the metadata server 101 at step S 710 , and the metadata server 101 updates metadata information about the transferred file at step S 711 .
- the cache server 103 completes file transfer and then compares the size of the remaining space with the second threshold at step S 712 . If the size of the remaining space is equal to or less than the second threshold, the above procedure is repeated to additionally transfer files so that the remaining space can be ensured; otherwise, the file transfer procedure is terminated, and the monitoring of the remaining space is performed again.
- FIG. 8 is a flowchart showing the flow of a file search method using the metadata server according to an embodiment of the present invention.
- the metadata server determines whether a duplicate of the file corresponding to the request signal is present in the cache server at step S 802 .
- the read speed of the file written in the cache server is higher than the read speed of the file written in the data server, so that information about the cache server in which the file is present is transmitted to the client at step S 803 .
- step S 802 determines whether a duplicate is present in the cache server and is present only in the data server. If it is determined at step S 802 that a duplicate is not present in the cache server and is present only in the data server, information about the data server in which the file is present is transmitted to the client at step S 804 .
- FIG. 9 is a flowchart showing in detail the file search method of FIG. 8 .
- the client 102 transmits information about a file desired to be read to the metadata server 101 , and requests information about a server in which the corresponding file is stored from the metadata server 101 at step S 901 .
- the metadata server 101 determines whether the file is present in the cache server by searching for metadata information about the file. If the file is present in the cache server, the metadata server 101 transmits information about the cache server to the client 102 at step S 903 ; otherwise the metadata server 101 selects one from among the data servers 104 storing the duplicate of the file, and transmits information about the selected data server to the client 102 at step S 904 .
- the client 102 sends a file transmission request to the cache server or the data server, the information of which has been received, at step S 905 .
- the cache server or the data server transmits the file to the client at step S 906 , and the client 102 performs a file task and sends a file closing request to the corresponding server so as to terminate the file task at step S 907 .
- FIG. 10 is a flowchart showing the flow of a file duplication method using the metadata server according to an embodiment of the present invention.
- the hybrid storage system can maintain three duplicates so as to provide availability so that a file service is possible by means of different duplicates even if a server storing a file has failed. For this, the hybrid storage system performs a duplicate generation procedure required to maintain the number of duplicates of the file stored in a corresponding server when a failure occurs in a cache server or a data server.
- the metadata server 101 is notified of information about the status of the corresponding server via periodic communication with each cache server and each data server. If the metadata server 101 does not receive notification of status information from the corresponding server for a preset period of time, the metadata server 101 determines that the corresponding server has failed at step S 1001 .
- the metadata server 101 searches for file information so as to maintain the three duplicates required to provide availability, and then searches for files stored in the failed server, and creates a duplicate list for the files to be duplicated at step S 1002 .
- the metadata server 101 may create a duplicate list for the files stored in the server in which the failure has been detected, on the basis of file metadata stored in the metadata server.
- the metadata server 101 obtains information about files to be duplicated from the duplicate list at step S 1003 , and searches for information about a data server 101 in which a valid duplicate of a corresponding file is stored at step S 1004 .
- the metadata server selects another fourth data server 104 in which the duplicate is to be stored at step S 1005 , and sends a duplication request to the third data server 104 in which the duplicate is stored at step S 1006 .
- the third data server requests the duplication of the requested file by transmitting the duplicate of the file to the fourth data server at step S 1007 .
- the fourth data server stores the duplicate at step S 1008 , and thereafter notifies the third data server of the completion of the duplication at step S 1009 .
- the third data server notifies the metadata server 101 that the duplicate is stored in the fourth data server at step S 1010 , and the metadata server 101 updates the metadata about the file at step S 1011 .
- the metadata server 101 determines whether the duplication task has been completed by inspecting the duplicate list at step S 1012 , and repeats the above process if any file to be duplicated remains.
- the metadata server can select a fifth data server to which the file that has not yet been duplicated is to be transmitted in consideration of the remaining storage spaces of the respective data servers, based on the previously stored data server information, and can transmit to the third data server a request signal causing the file that has not yet been duplicated to be duplicated to the fifth data server.
- the write performance of a file can be improved by utilizing a data server, implemented as a high-speed storage device such as an SSD, as a data cache server, and availability can be provided by maintaining three file duplicates by means of real-time duplication and delayed duplication, in a hybrid storage system in which a plurality of data servers including storage devices having different characteristics are connected to one another over a network.
- a data server implemented as a high-speed storage device such as an SSD, as a data cache server
- availability can be provided by maintaining three file duplicates by means of real-time duplication and delayed duplication, in a hybrid storage system in which a plurality of data servers including storage devices having different characteristics are connected to one another over a network.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
The present invention relates to a method of improving file write performance and providing availability in a hybrid storage system. When a file writing target server information request signal is received from a client, any one cache server is selected in consideration of storage spaces of cache servers, information about the selected cache server to the client is transmitted so that the client stores the file in the selected cache server. When a duplicate writing target server information request is received from the selected cache server, any one first data server is selected in consideration of storage spaces of respective data servers, information about the selected first data server is transmitted to the cache server so that the cache server stores a duplicate of the file in the first data server. Information about storage of the file and the duplicate is received, and then file metadata is stored.
Description
- This application claims the benefit of Korean Patent Application No. 10-2012-0047400, filed on May 4, 2012, which is hereby incorporated by reference in its entirety into this application.
- 1. Technical Field
- The present invention relates generally to a method of improving file write performance and providing availability in a hybrid storage system and, more particularly, to a method and apparatus that can improve file write performance by using a high-speed storage device as a cache server for file storage and that can provide availability for file management by storing a plurality of duplicates of a file in different data servers using real-time duplication and delayed duplication of the file, in a hybrid storage system composed of a high-performance storage device, such as a Solid State Drive (SSD), and a normal Hard Disk Drive (HDD).
- 2. Description of the Related Art
- A Solid State Drive (SSD) is a semiconductor-based storage device. An SSD is advantageous in that sequential read/write performance and the throughput of random read/write instructions are better than those of a Hard Disk Drive (HDD) and the power consumption is lower than that of an HDD. However, such an SSD is disadvantageous in that it is difficult to use the SSD as a main storage device because of the fact that when a portion in which storage is to be performed belongs to a region that was not deleted, deletion must be performed first, the fact that a storage space for a given price is smaller than that of an HDD, so that when a large-capacity storage system is constructed, cost is increased, and the fact that the lifespan of the SSD is shorter than that of an HDD and then the stability of the SSD is so low that the SSD cannot be used for an enterprise-level storage server.
- Therefore, in order to make up for the disadvantages of the two storage devices and utilize the advantages thereof, the development of a technology related to a hybrid storage system that can utilize together the two storage devices and can use the SSD as a cache for the HDD, rather than as a main storage device, has been required.
- Based on these efforts, U.S. Patent Application Publication No. 2011-0153931 A1 discloses “Hybrid storage subsystem with mixed placement of file contents.” This technology discloses research into a method of using an SSD as a read cache in a storage sub-system in which the SSD and an HDD are configured together. That is, if a file block is not present in the SSD when a file is accessed, the corresponding file block is accessed via the HDD. However, the file block that was accessed once is transferred from the HDD to the SSD and is stored in the SSD, so that the SSD is used as a read cache so as to improve the speed at which the same file block is subsequently accessed. File update is performed by both the SSD and the HDD in which the file is stored, but the initial generation of the file is always performed by the HDD. However, this technology is disadvantageous in that when random access to the file occurs frequently, and when contents of the accessed file are located in different blocks, a cache miss frequently occurs even if the same file is accessed, thus deteriorating cache efficiency, and in that when a large-capacity file, such as a video file, is continuously accessed once, the advantage of cache usage is decreased.
- Further, this technology is problematic in that when blocks that have been transferred from the HDD and cached in the SSD are lost, there is no alternative solution to deal with such a loss.
- Meanwhile, Korean Patent Application Publication No. 10-2008-0090959 discloses “Storage device, method, and computer-readable recording medium for improving random write performance on SSD.” This technology is characterized in that in order to improve the random write performance of the SSD which is relatively low compared to the sequential read/write performance, the throughput of random read/write instructions, and random read performance, a hard disk drive is used as the cache of the SSD for random writing, so that the advantage of the SSD is provided in a read operation, and the advantage of the HDD is maintained for write operations. However, this technology is problematic in that there is no alternative solution to deal with the loss of data that may occur because stability is deteriorated due to the short lifespan of the SSD.
- Accordingly, the present invention has been made keeping in mind the above problems occurring in the prior art, and an object of the present invention is to improve the write performance of a file by utilizing a server, implemented as a high-speed storage device, as a cache server for file storage, and to provide availability by maintaining three file duplicates by means of real-time duplication from a cache server to a normal data server and by means of delayed duplication from a data server to another data server.
- In accordance with an aspect of the present invention to accomplish the above object, there is a provided a file management method using a metadata server of a hybrid storage management system, including when a request for information about a target server in which a file is to be written is received from a client, selecting any one cache server in consideration of storage spaces of respective cache servers based on previously stored cache server information, transmitting information about the selected cache server to the client so that the client stores the file in the selected cache server, when a signal requesting information about a target server in which a duplicate of the stored file is to be written is received from the selected cache server, selecting any one first data server in consideration of storage spaces of respective data servers based on previously stored data server information, transmitting information about the selected first data server to the cache server so that the cache server stores a duplicate of the file in the selected first data server, and receiving information about storage of the file and the duplicate from the selected cache server and the selected first data server, and then storing file metadata.
- In accordance with another aspect of the present invention to accomplish the above object, there is a provided a metadata server for a hybrid storage management system, including a cache server control unit for, when a request for information about a target server in which a file is to be written is received from a client, selecting any one cache server in consideration of storage spaces of respective cache servers based on previously stored cache server information, a network interface unit for transmitting information about the selected cache server to the client, thus allowing the client to store the file in the selected cache server, a data server control unit for, when a request for information about a target server in which a duplicate of the stored file is to be written is received from the selected cache server, selecting any one first data server in consideration of remaining storage spaces of respective data servers based on previously stored data server information, and transmitting information about the selected first data server to the cache server so that the cache server stores a duplicate of the file in the selected first data server, and a metadata control unit for receiving information about storage of the file and the duplicate from the selected cache server and the selected first data server, and then storing file metadata.
- The above and other objects, features and advantages of the present invention will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings, in which:
-
FIG. 1 is a diagram showing the configuration of a hybrid storage system according to an embodiment of the present invention; -
FIG. 2 is a diagram showing the configuration of a metadata server according to an embodiment of the present invention; -
FIG. 3 is a diagram showing the configuration of a cache server according to an embodiment of the present invention; -
FIG. 4 is a flowchart showing the flow of a file management method using the metadata server according to an embodiment of the present invention; -
FIG. 5 is a flowchart showing in detail the file management method ofFIG. 4 ; -
FIG. 6 is a flowchart showing the flow of a file management method using the cache server according to an embodiment of the present invention; -
FIG. 7 is a flowchart showing in detail the file management method ofFIG. 6 ; -
FIG. 8 is a flowchart showing the flow of a file search method using the metadata server according to an embodiment of the present invention; -
FIG. 9 is a flowchart showing in detail the file search method ofFIG. 8 ; and -
FIG. 10 is a flowchart showing the flow of a file duplication method using the metadata server according to an embodiment of the present invention. - Hereinafter, various embodiments of the present invention will be described in detail with reference to the attached drawings. Further, the terms “unit”, “module”, and “device” related to components used in the following description are merely assigned for the sake of the simplicity of description of the present specification and may be used together and designed using hardware or software.
- Furthermore, embodiments of the present invention will be described in detail with reference to the attached drawings and contents described in the drawings. However, the present invention is not restricted or limited by those embodiments.
- A hybrid storage system to accomplish the object of the present invention includes clients, a metadata server, cache servers, and data servers, which may be connected to one another over a network. Each cache server is a server equipped with a high-speed storage device such as a Solid State Drive (SSD), and each data server is a server equipped with a normal Hard Disk Drive (HDD). The present invention provides a method that improves write performance by using a cache server equipped with a high-speed storage device as a file writing cache server, and a method that provides availability by maintaining three file duplicates by means of real-time duplication from a cache server to a data server and delayed duplication from the data server to another data server when storing the file.
- Hereinafter, embodiments of the present invention that can be easily implemented by those skilled in the art will be described in detail with reference to the attached drawings.
-
FIG. 1 is a diagram showing the configuration of a hybrid storage system according to an embodiment of the present invention. - In accordance with the embodiment, the hybrid storage system may include
clients 102, ametadata server 101,cache servers 103, anddata servers 104. - Each
client 102 may process applications related to files. Therefore, in order to perform a task on a file, theclient 102 transmits a request signal to themetadata server 101 and then obtains address information about a server which will perform the corresponding task. When the file is written, themetadata server 101 selects any one of registeredcache servers 103, transfers address information about the cache server to theclient 102, and the client writes the file in thecorresponding cache server 103. Thecache server 103 performs real-time duplication to thedata server 104, together with the writing of the file, and transfers information about the duplicated file to the client once file writing and duplication have been completed. Further, after the file writing and duplication have been completed, secondary duplication is performed by duplicating the duplicate of thedata server 104 to anotherdata server 104. - Therefore, when the high-speed storage device such as an SSD is used as the
cache server 103 in the hybrid storage system to which the present invention is applied, the write response speed is higher than that when using thedata server 104, so that file writing is performed by thecache server 103, thus improving write performance. Further, three duplicates are maintained by means of real-time duplication from thecache server 103 to thedata server 104 and delayed duplication from thedata server 104 to anotherdata server 104, thus enabling the availability of the file to be provided. -
FIG. 2 is a diagram showing the configuration of the metadata server according to an embodiment of the present invention. - In accordance with the embodiment, the
metadata server 101 may include acontrol unit 201 and anetwork interface unit 205, and thecontrol unit 201 may include ametadata control unit 202, a cacheserver control unit 203, and a dataserver control unit 204. - The
metadata control unit 202 manages metadata information about files. The metadata information about files includes information about the name, size, generation date, recent update date, and authority of each file, and information about a cache server and a data server that actually store each file. - Further, the metadata information about each file is generated when the file is initially generated, and can be updated when the change of the file occurs, or when a data server storing the file is changed according to the transfer of the duplicate of the file.
- The cache
server control unit 203 manages information about cache servers registered in the hybrid storage system. The cache server information includes information about the identifier, address, storage capacity, remaining space, etc. of each cache server. The cache server information is generated when a new cache server is registered, and is updated when the capacity information or address of a relevant cache server is changed. - In accordance with the embodiment, when a signal for requesting information about a target server in which the file is to be written is received from a client, the cache
server control unit 203 can select any one cache server in consideration of the remaining storage spaces of the respective cache servers based on the previously stored cache server information. - The
network interface unit 205 can transmit information about the selected cache server to the client, thus allowing the client to store the file in the selected cache server. - Further, the
network interface unit 205 can detect the failure of each cache server and each data server via periodic communication. When a file location information request signal is received from each client, thenetwork interface unit 205 is configured to, if it is determined that the file corresponding to the file location information request signal is stored in any one cache server, transmit information about that cache server to the client that transmitted the request signal, and is configured to, if it is determined that the file corresponding to the file location information request signal is stored only in any one data server, transmit information about that data server to the client that transmitted the request signal. - The data
server control unit 204 manages information about data servers, and the data server information includes information about the identifier, address, storage capacity, and remaining space of each data server. The data server information is generated when each data server is registered, and is updated when the capacity information or address of a relevant data server is changed. - Furthermore, if a signal requesting information about a target server in which a duplicate of the stored file is to be written is received from the selected cache server, the data
server control unit 204 selects any one first data server in consideration of the remaining storage spaces of the respective data servers based on the previously stored data server information, and transmits information about the selected first data server to the cache server so that the cache server can store a duplicate of the file in the selected first data server. - Furthermore, the data
server control unit 204 can select a second data server in which an additional duplicate of the stored file is to be written, and transmit a storage request signal for the additional duplicate to the selected second data server. - Furthermore, when a failure is detected in any one server, the data
server control unit 204 can generate a list of duplicates of files stored in the server in which the failure has been detected on the basis of the metadata about the stored files, obtain file information from the generated duplicate list, identify a third data server in which a valid duplicate is stored, among the data servers, select a fourth data server to which files included in the duplicate list are to be duplicated in consideration of the remaining storage spaces of the respective data servers included in the previously stored data server information, and transmit a request signal, requesting the duplication of files included in the duplicate list to the fourth data server, to the third data server. - The data
server control unit 204 is configured to, if a file that has not yet been duplicated to the fourth data server is present among the files included in the duplicate list, select a fifth data server to which the file that has not yet been duplicated is to be transmitted, in consideration of the remaining storage spaces of the respective data servers based on the previously stored data server information, and transmit a request signal, causing the file that has not yet been duplicated to be duplicated to the fifth data server, to the third data server via the network interface unit. - Furthermore, the data
server control unit 204 may perform control so that, if a file transfer target server information request signal required to transfer files due to the insufficiency of a remaining space is received from any one of the cache servers via the network interface unit, any one fifth data server is selected in consideration of the remaining storage spaces of the respective data servers based on the previously stored data server information, and so that information about the fifth data server is transmitted to the cache server having the insufficient remaining space via the network interface unit, thus allowing the cache server having the insufficient remaining space to transfer files to the fifth data server. - Meanwhile, in accordance with another embodiment, the cache
server control unit 203 and the dataserver control unit 204 may be operated as a single module when cache server information and data server information are managed in an integrated manner depending on an implementation method. -
FIG. 3 is a diagram showing the configuration of the cache server according to an embodiment of the present invention. - The
cache server 103 includes afile storage unit 303, afile information list 304, and astorage device 302. - It is known that a flash-based
storage device 302 such as an SSD mounted on thecache server 103 is efficiently operated in a sequential writing manner such as a log writing manner, due to operations such as wear leveling or garbage collection. - In the system to which the present invention is applied, the
cache server 103 maintains thefile information list 304 based on the date information of files that have been written so as to indirectly use such effects. - When a file write request is received, the
file storage unit 303 adds correspondingfile information 305 to thefile information list 304, and stores the actual (source) file in the high-speed storage device 302. - The
file information list 304 can be implemented as a list or a queue, and the most recently writtenfile information 305 is located at the last location. When thefile storage unit 303 continuously monitors the space of the high-speed storage device 302, and the capacity of the remaining storage space is equal to or less than a threshold, thefile storage unit 303 selects the oldest files that had been previously stored according to the storage date from thefile information list 304, and transfers the selected files to the data server, thus always maintaining the capacity of the remaining storage space at a level greater than the threshold. -
FIG. 4 is a flowchart showing the flow of a file management method using the metadata server according to an embodiment of the present invention. - First, when a signal requesting information about a target server in which a file is to be written is received from a client at step S401, the metadata server selects any one cache server in consideration of the remaining storage spaces of the respective cache servers based on the previously stored cache server information, and transmits information about the selected cache server to the client, thus allowing the client to store the file in the selected cache server at step S402.
- Next, when a signal requesting information about a target server in which a duplicate of the stored file is to be written is received from the selected cache server at step S403, the metadata server selects any one first data server in consideration of the remaining storage spaces of the respective data servers based on the previously stored data server information, and transmits information about the selected first data server to the cache server, thus allowing the cache server to store the duplicate of the file in the selected first data server at step S404.
- Thereafter, the metadata server receives information about the storage of the file and the duplicate of the file from the selected cache server and the selected first data server, respectively, and then stores the file metadata at step S405.
- Next, the metadata server can select a second data server in which an additional duplicate of the stored file is to be written, and transmits a request signal for the storage of the additional duplicate to the selected second data server at step S406.
- Thereafter, when a storage completion signal for the additional duplicate is received at step S407, the metadata server updates the stored file metadata at step S408.
-
FIG. 5 is a flowchart showing in detail the file management method ofFIG. 4 . - The hybrid storage system can store a file and can generate a duplicate of the file so as to provide availability via the process of
FIG. 5 . - The
client 102 requests information about a server in which a file is to be written from themetadata server 101 so as to write the file at step S501. - The
metadata server 101 selects any one of registeredcache servers 103 on the basis of selection criteria such as the sizes of the remaining storage spaces by searching for cache server information, and transmits information about the selected cache server to the client at step S502. - The
client 102 requests the received cache server to write the file at step S503. - The
cache server 103 that received the file writing request requests themetadata server 101 to obtain information about a data server in which the duplicate is to be stored in real time upon storing the file, in order to obtain the data server information, at step S504. - The
metadata server 101 selects any one of the registereddata servers 104 based on the criteria used to select the data server similarly to the selection of the cache server, and transmits information about the selected data server to thecache server 103 at step S505. - The
cache server 103 stores an actual (source) file at step S506, and also requests thefirst data server 104 to store a duplicate of the file by transmitting contents of the stored file in real time to thefirst data server 104. - The
cache server 103 completes the storage of the file by adding information about the stored file to a file information list at step S507. After thefirst data server 104 has completed the storage of the duplicate at step S508, when thefirst data server 104 sends a message indicative of the completion of the storage of the duplicate at step S509, thecache server 103 notifies themetadata server 101 that the storage of the source file and the duplicate of the file has been completed at step S510. - The
metadata server 101 stores metadata about the stored file at step S511, and next notifies thecache server 103 that the storage of the metadata has been successfully completed at step S512. - The
cache server 103 verifies that the storage of the metadata has been completed, and notifies theclient 102 of the completion of the storage of the file at step S513. - The
metadata server 101 selects another data server in which an additional duplicate of the newly stored file is to be stored so as to maintain three duplicates required to provide availability at step S515, and requests thefirst data server 104 in which the duplicate was already stored to store the additional duplicate at step S515. - After receiving the additional duplicate storage request, the
first data server 104 transmits the corresponding duplicate to anothersecond data server 104 so that the duplicate is stored in thesecond data server 104 at step S516. - The
second data server 104 stores the received duplicate at step S517, and transfers the completion of the storage of the duplicate to thefirst data server 104 at step S518. Thefirst data server 104 transfers the completion of the storage of the duplicate to themetadata server 101, thus terminating the storage of the duplicate at step S519. - After receiving a duplicate storage completion message from the
first data server 104, themetadata server 101 updates the metadata by adding information about the new duplicate to the metadata information about the corresponding file at step S520. -
FIG. 6 is a flowchart showing the flow of a file management method using the cache server according to an embodiment of the present invention. - In detail,
FIG. 6 is a flowchart showing the transfer of a file from a cache server to a data server in the hybrid storage system. Since the cache server is used as a file write cache for the hybrid storage system, it must maintain a remaining space required to process a new file writing request received from a client. - For this operation, the cache server maintains two thresholds.
- A first threshold is the size of a minimum remaining space that must be maintained by the cache server. When the size of the remaining space is equal to or less than the first threshold, the transfer of the file is performed in the background.
- A second threshold is a value used when a stored file is transferred to a data server so as to ensure the remaining space in the cache server. Until the remaining space greater than the second threshold is ensured, the transfer of a file is performed in the background.
- A file transfer procedure related to the above process will be described below. The cache server periodically monitors the size of a remaining space and then determines whether the size of the remaining space is equal to or less than the first threshold at step S601. If the size of the remaining space is greater than the first threshold, the cache server waits for a preset period of time at step S602, and thereafter compares again the size of the remaining space with the first threshold.
- If the size of the remaining space is equal to or less than the first threshold, the file transfer procedure is performed.
- For this operation, information about the oldest file, stored for the longest time, is obtained from a file information list managed by the cache server at step S603.
- The cache server requests information about a target data server, to which the file is to be transferred, from the metadata server so as to transfer the corresponding file to the data server at step S604.
- Next, the cache server obtains information about the transfer target data server, which has been selected by and received from the metadata server based on criteria for the selection of a data server to which the file is to be transferred, at step S605, and performs the transfer of the file by transmitting the file to the data server at step S606.
- When a signal indicating that the storage of the file received from the data server has been completed is received, the cache server transmits information about the transferred file to the metadata server at step S607, and the metadata server updates metadata information about the transferred file.
- The cache server completes the transfer of the file and compares the size of the remaining space with the second threshold at step S608. If the size of the remaining space is equal to or less than the second threshold, the procedure starting from the file information obtainment step S603 to additionally transfer files is repeated so that the remaining space can be ensured; otherwise, the file transfer procedure is terminated, and the monitoring of the remaining space is performed again.
-
FIG. 7 is a flowchart showing in detail the file management method ofFIG. 6 . - In detail,
FIG. 7 is a diagram showing the file management method for ensuring the remaining space of the file cache server shown inFIG. 6 from the standpoint of the hybrid storage system. - The
cache server 103 periodically monitors the size of the remaining space and determines whether the size of the remaining space is equal to or less than the first threshold at step S701. - If the size of the remaining space is greater than the first threshold, the
cache server 103 sleeps for a given period of time, and thereafter compares again the size of the remaining space with the first threshold at step S702. If the size of the remaining space is equal to or less than the first threshold, a file transfer procedure is performed. - For this operation, information about the oldest file that has been stored for the longest time is obtained from a file information list managed by the
cache server 103 at step S703. - The
cache server 103 requests information about a target data server to which the file is to be transferred from themetadata server 101 so as to transfer the corresponding file to the data server at step S704. - The
metadata server 101 selects afifth data server 104 as the target data server based on the criteria used to select the target data server at step S705, and transfers information about the corresponding server to the cache server at step S706. - The
cache server 103 transfers the file to thefifth data server 104 based on the received data server information at step S707. Thefifth data server 104 stores the received file at step S708, and notifies thecache server 103 of the completion of the storage after the file has been stored at step S709. - The
cache server 103 transmits information about the transferred file to themetadata server 101 at step S710, and themetadata server 101 updates metadata information about the transferred file at step S711. Thecache server 103 completes file transfer and then compares the size of the remaining space with the second threshold at step S712. If the size of the remaining space is equal to or less than the second threshold, the above procedure is repeated to additionally transfer files so that the remaining space can be ensured; otherwise, the file transfer procedure is terminated, and the monitoring of the remaining space is performed again. -
FIG. 8 is a flowchart showing the flow of a file search method using the metadata server according to an embodiment of the present invention. - In accordance with an embodiment, when a file location information request signal is received at step S801, the metadata server determines whether a duplicate of the file corresponding to the request signal is present in the cache server at step S802.
- Further, if it is determined at step S802 that the duplicate is present in the cache server, the read speed of the file written in the cache server is higher than the read speed of the file written in the data server, so that information about the cache server in which the file is present is transmitted to the client at step S803.
- In contrast, if it is determined at step S802 that a duplicate is not present in the cache server and is present only in the data server, information about the data server in which the file is present is transmitted to the client at step S804.
-
FIG. 9 is a flowchart showing in detail the file search method ofFIG. 8 . - Since a file is present in the cache server of the hybrid storage system before a file transfer procedure is performed to ensure a sufficient amount of remaining space, read performance can be improved by obtaining the file from the cache server.
- The file read procedure for this operation will be described below. First, the
client 102 transmits information about a file desired to be read to themetadata server 101, and requests information about a server in which the corresponding file is stored from themetadata server 101 at step S901. - The
metadata server 101 determines whether the file is present in the cache server by searching for metadata information about the file. If the file is present in the cache server, themetadata server 101 transmits information about the cache server to theclient 102 at step S903; otherwise themetadata server 101 selects one from among thedata servers 104 storing the duplicate of the file, and transmits information about the selected data server to theclient 102 at step S904. - The
client 102 sends a file transmission request to the cache server or the data server, the information of which has been received, at step S905. - The cache server or the data server transmits the file to the client at step S906, and the
client 102 performs a file task and sends a file closing request to the corresponding server so as to terminate the file task at step S907. -
FIG. 10 is a flowchart showing the flow of a file duplication method using the metadata server according to an embodiment of the present invention. - The hybrid storage system can maintain three duplicates so as to provide availability so that a file service is possible by means of different duplicates even if a server storing a file has failed. For this, the hybrid storage system performs a duplicate generation procedure required to maintain the number of duplicates of the file stored in a corresponding server when a failure occurs in a cache server or a data server.
- A detailed process for this function will be described in detail. First, the
metadata server 101 is notified of information about the status of the corresponding server via periodic communication with each cache server and each data server. If themetadata server 101 does not receive notification of status information from the corresponding server for a preset period of time, themetadata server 101 determines that the corresponding server has failed at step S1001. - If the failure of the server has been detected, the
metadata server 101 searches for file information so as to maintain the three duplicates required to provide availability, and then searches for files stored in the failed server, and creates a duplicate list for the files to be duplicated at step S1002. - That is, when a failure is detected in any one server, the
metadata server 101 may create a duplicate list for the files stored in the server in which the failure has been detected, on the basis of file metadata stored in the metadata server. - The
metadata server 101 obtains information about files to be duplicated from the duplicate list at step S1003, and searches for information about adata server 101 in which a valid duplicate of a corresponding file is stored at step S1004. - Thereafter, the metadata server selects another
fourth data server 104 in which the duplicate is to be stored at step S1005, and sends a duplication request to thethird data server 104 in which the duplicate is stored at step S1006. - The third data server requests the duplication of the requested file by transmitting the duplicate of the file to the fourth data server at step S1007. The fourth data server stores the duplicate at step S1008, and thereafter notifies the third data server of the completion of the duplication at step S1009.
- The third data server notifies the
metadata server 101 that the duplicate is stored in the fourth data server at step S1010, and themetadata server 101 updates the metadata about the file at step S1011. - The
metadata server 101 determines whether the duplication task has been completed by inspecting the duplicate list at step S1012, and repeats the above process if any file to be duplicated remains. - That is, if any file that has not yet been duplicated to the fourth data server is present among the files included in the duplicate list, the metadata server can select a fifth data server to which the file that has not yet been duplicated is to be transmitted in consideration of the remaining storage spaces of the respective data servers, based on the previously stored data server information, and can transmit to the third data server a request signal causing the file that has not yet been duplicated to be duplicated to the fifth data server.
- According to the configuration of the present invention, there is an advantage in that the write performance of a file can be improved by utilizing a data server, implemented as a high-speed storage device such as an SSD, as a data cache server, and availability can be provided by maintaining three file duplicates by means of real-time duplication and delayed duplication, in a hybrid storage system in which a plurality of data servers including storage devices having different characteristics are connected to one another over a network.
- Although the preferred embodiments of the present invention have been disclosed for illustrative purposes, those skilled in the art will appreciate that the present invention is not limited by the above-described specific embodiments and various modifications are possible, without departing from the scope and spirit of the invention as disclosed in the accompanying claims. These modifications should not be understood separately from the technical spirit or prospect of the present invention.
Claims (16)
1. A file management method using a metadata server of a hybrid storage management system, comprising:
selecting any one cache server in consideration of storage spaces of respective cache servers based on previously stored cache server information when a request for information about a target server in which a file is to be written is received from a client;
transmitting information about the selected cache server to the client so that the client stores the file in the selected cache server;
selecting any one first data server in consideration of storage spaces of respective data servers based on previously stored data server information when a signal requesting information about a target server in which a duplicate of the stored file is to be written is received from the selected cache server;
transmitting information about the selected first data server to the cache server so that the cache server stores a duplicate of the file in the selected first data server; and
receiving information about storage of the file and the duplicate from the selected cache server and the selected first data server, and then storing file metadata.
2. The file management method of claim 1 , further comprising:
selecting a second data server in which an additional duplicate of the stored file is to be written;
sending a storage request for the additional duplicate to the selected second data server; and
when a storage completion signal for the additional duplicate is received, updating the stored file metadata.
3. The file management method of claim 1 , wherein:
each cache server is implemented as a Solid State Drive (SSD), and
each data server is implemented as a Hard Disk Drive (HDD).
4. The file management method of claim 1 , further comprising:
detecting a failure of each cache server and each data server via periodic communication;
if a failure has been detected in any one server, creating a duplicate list for files stored in the server in which the failure has been detected, based on the stored file metadata;
obtaining file information from the created duplicate list, and identifying a third data server in which a valid duplicate is stored among the data servers;
selecting a fourth data server to which the files included in the duplicate list are to be duplicated in consideration of storage spaces of the respective data servers included in the previously stored data server information;
transmitting a request to duplicate the files included in the duplicate list to the fourth data server to the third data server; and
if a duplication completion signal has been received from the third data server, updating the stored file metadata.
5. The file management method of claim 4 , further comprising:
if a file that has not yet been duplicated to the fourth data server is present among the files included in the duplicate list, selecting a fifth data server to which the file that has not yet been duplicated is to be transmitted in consideration of remaining storage spaces of the respective data servers based on the previously stored data server information; and
transmitting to the third data server a request to duplicate the file that has not yet been duplicated to the fifth data server.
6. The file management method of claim 1 , further comprising:
when a file location information request is received from the client, if it is determined that a file corresponding to the file location information request is stored in any one cache server, transmitting information about that cache server to the client that transmitted the request; and
if it is determined that the file corresponding to the file location information request is stored in any one data server, transmitting information about that data server to the client that transmitted the request.
7. The file management method of claim 1 , further comprising:
when a file transfer target server information request required to transfer a file is received from any one of the cache servers due to insufficiency of a remaining space, selecting any one fifth data server in consideration of storage spaces of the respective data servers based on the previously stored data server information; and
transmitting information about the fifth data server to the cache server having an insufficient remaining space, thus allowing the cache server having the insufficient remaining space to transfer the file to the fifth data server.
8. The file management method of claim 7 , further comprising:
if the transfer of the file is completed by the cache server having the insufficient remaining space and information about the transfer of the file is received, updating the stored file metadata.
9. A metadata server for a hybrid storage management system, comprising:
a cache server control unit for, when a request for information about a target server in which a file is to be written is received from a client, selecting any one cache server in consideration of storage spaces of respective cache servers based on previously stored cache server information;
a network interface unit for transmitting information about the selected cache server to the client, thus allowing the client to store the file in the selected cache server;
a data server control unit for, when a request for information about a target server in which a duplicate of the stored file is to be written is received from the selected cache server, selecting any one first data server in consideration of remaining storage spaces of respective data servers based on previously stored data server information, and transmitting information about the selected first data server to the cache server so that the cache server stores a duplicate of the file in the selected first data server; and
a metadata control unit for receiving information about storage of the file and the duplicate from the selected cache server and the selected first data server, and then storing file metadata.
10. The metadata server of claim 9 , wherein:
the data server control unit is configured to select a second data server in which an additional duplicate of the stored file is to be written, and transmit a storage request for the additional duplicate to the selected second data server, and
the metadata control unit is configured to, when a storage completion signal for the additional duplicate is received, update the stored file metadata.
11. The metadata server of claim 9 , wherein:
each cache server is implemented as a Solid State Drive (SSD) device, and
each data server is implemented as a Hard Disk Drive (HDD).
12. The metadata server of claim 9 , wherein:
the network interface unit detects a failure of each cache server and each data server via periodic communication,
the data server control unit is configured to, if a failure has been detected in any one server, create a duplicate list for files stored in the server in which the failure has been detected, based on the stored file metadata, obtain file information from the created duplicate list, identify a third data server in which a valid duplicate is stored among the data servers, select a fourth data server to which the files included in the duplicate list are to be duplicated in consideration of storage spaces of the respective data servers included in the previously stored data server information, and transmit a request to duplicate the files included in the duplicate list to the fourth data server to the third data server, and
the metadata control unit is configured to, if a duplication completion signal has been received from the third data server, update the stored file metadata.
13. The metadata server of claim 12 , wherein the data server control unit is configured to, if a file that has not yet been duplicated to the fourth data server is present among the files included in the duplicate list, select a fifth data server to which the file that has not yet been duplicated is to be transmitted in consideration of storage spaces of the respective data servers based on the previously stored data server information, and transmit a request to duplicate the file that has not yet been duplicated to the fifth data server to the third data server via the network interface unit.
14. The metadata server of claim 9 , wherein the network interface unit is configured to, when a file location information request is received from the client, if it is determined that a file corresponding to the file location information request is stored in any one cache server, transmit information about that cache server to the client that transmitted the request, and if it is determined that the file corresponding to the file location information request is stored in any one data server, transmit information about that data server to the client that transmitted the request.
15. The metadata server of claim 9 , wherein the data server control unit is configured to, when a file transfer target server information request required to transfer a file is received from any one of the cache servers due to insufficiency of a remaining space via the network interface unit, select any one fifth data server in consideration of remaining storage spaces of the respective data servers based on the previously stored data server information, transmit information about the fifth data server to the cache server having an insufficient remaining space via the network interface unit, and then allow the cache server having the insufficient remaining space to transfer the file to the fifth data server.
16. The metadata server of claim 9 , wherein the metadata control unit is configured to, if the transfer of the file is completed by the cache server having the insufficient remaining space and information about the transfer of the file is received via the network interface unit, update the stored file metadata.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120047400A KR101709118B1 (en) | 2012-05-04 | 2012-05-04 | Method and appratus for managing file in hybrid storage system |
KR10-2012-0047400 | 2012-05-04 |
Publications (1)
Publication Number | Publication Date |
---|---|
US20130297969A1 true US20130297969A1 (en) | 2013-11-07 |
Family
ID=49513576
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/864,685 Abandoned US20130297969A1 (en) | 2012-05-04 | 2013-04-17 | File management method and apparatus for hybrid storage system |
Country Status (2)
Country | Link |
---|---|
US (1) | US20130297969A1 (en) |
KR (1) | KR101709118B1 (en) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105069024A (en) * | 2015-07-16 | 2015-11-18 | 清华大学 | Parallel data acquisition-oriented write access method for distributed file system |
US10162567B2 (en) * | 2013-11-07 | 2018-12-25 | Hitachi, Ltd. | Computer system |
US10417194B1 (en) | 2014-12-05 | 2019-09-17 | EMC IP Holding Company LLC | Site cache for a distributed file system |
US10423507B1 (en) | 2014-12-05 | 2019-09-24 | EMC IP Holding Company LLC | Repairing a site cache in a distributed file system |
US10445296B1 (en) | 2014-12-05 | 2019-10-15 | EMC IP Holding Company LLC | Reading from a site cache in a distributed file system |
US10452619B1 (en) | 2014-12-05 | 2019-10-22 | EMC IP Holding Company LLC | Decreasing a site cache capacity in a distributed file system |
JP2019197304A (en) * | 2018-05-08 | 2019-11-14 | アズビル株式会社 | Information accumulation device and information accumulation system and information accumulation method |
US10936494B1 (en) * | 2014-12-05 | 2021-03-02 | EMC IP Holding Company LLC | Site cache manager for a distributed file system |
US10951705B1 (en) | 2014-12-05 | 2021-03-16 | EMC IP Holding Company LLC | Write leases for distributed file systems |
US11157459B2 (en) * | 2016-02-26 | 2021-10-26 | Red Hat, Inc. | Granular data self-healing |
US11221993B2 (en) | 2014-12-05 | 2022-01-11 | EMC IP Holding Company LLC | Limited deduplication scope for distributed file systems |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060005048A1 (en) * | 2004-07-02 | 2006-01-05 | Hitachi Ltd. | Method and apparatus for encrypted remote copy for secure data backup and restoration |
US20060053181A1 (en) * | 2004-09-09 | 2006-03-09 | Microsoft Corporation | Method and system for monitoring and managing archive operations |
US7389393B1 (en) * | 2004-10-21 | 2008-06-17 | Symantec Operating Corporation | System and method for write forwarding in a storage environment employing distributed virtualization |
US20100146230A1 (en) * | 2008-12-09 | 2010-06-10 | Thomson Licensing | System for storing and/or retrieving a data-set and method thereof |
US7877544B2 (en) * | 2007-08-20 | 2011-01-25 | International Business Machines Corporation | Storing redundant segments and parity information for segmented logical volumes |
US20110246821A1 (en) * | 2010-03-30 | 2011-10-06 | International Business Machines Corporation | Reliability scheme using hybrid ssd/hdd replication with log structured management |
US20110246706A1 (en) * | 2010-03-30 | 2011-10-06 | Hitachi, Ltd. | Disk array configuration program, computer, and computer system |
US20110258488A1 (en) * | 2010-04-19 | 2011-10-20 | Microsoft Corporation | Server Failure Recovery |
US20120131280A1 (en) * | 2010-11-24 | 2012-05-24 | International Business Machines Corporation | Systems and methods for backing up storage volumes in a storage system |
US20130042156A1 (en) * | 2011-08-12 | 2013-02-14 | Oracle International Corporation | Utilizing multiple storage devices to reduce write latency for database logging |
US20130080703A1 (en) * | 2011-09-28 | 2013-03-28 | Hitachi, Ltd. | Method for calculating tier relocation cost and storage system using the same |
US20130238832A1 (en) * | 2012-03-07 | 2013-09-12 | Netapp, Inc. | Deduplicating hybrid storage aggregate |
US20140013053A1 (en) * | 2012-07-06 | 2014-01-09 | Seagate Technology Llc | Determining a criterion for movement of data from a primary cache to a secondary cache |
US20140089728A1 (en) * | 2012-09-27 | 2014-03-27 | Bryan E. Veal | Method and apparatus for synchronizing storage volumes |
US20140281247A1 (en) * | 2013-03-15 | 2014-09-18 | Oracle International Corporation | Method to accelerate queries using dynamically generated alternate data formats in flash cache |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8046422B2 (en) | 2006-08-21 | 2011-10-25 | Netapp, Inc. | Automatic load spreading in a clustered network storage system |
KR20100048130A (en) * | 2008-10-30 | 2010-05-11 | 주식회사 케이티 | Distributed storage system based on metadata cluster and method thereof |
KR101023883B1 (en) * | 2009-02-13 | 2011-03-22 | (주)인디링스 | Storage system using high speed storage divece as cache |
-
2012
- 2012-05-04 KR KR1020120047400A patent/KR101709118B1/en active IP Right Grant
-
2013
- 2013-04-17 US US13/864,685 patent/US20130297969A1/en not_active Abandoned
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060005048A1 (en) * | 2004-07-02 | 2006-01-05 | Hitachi Ltd. | Method and apparatus for encrypted remote copy for secure data backup and restoration |
US20060053181A1 (en) * | 2004-09-09 | 2006-03-09 | Microsoft Corporation | Method and system for monitoring and managing archive operations |
US7389393B1 (en) * | 2004-10-21 | 2008-06-17 | Symantec Operating Corporation | System and method for write forwarding in a storage environment employing distributed virtualization |
US7877544B2 (en) * | 2007-08-20 | 2011-01-25 | International Business Machines Corporation | Storing redundant segments and parity information for segmented logical volumes |
US20100146230A1 (en) * | 2008-12-09 | 2010-06-10 | Thomson Licensing | System for storing and/or retrieving a data-set and method thereof |
US20110246706A1 (en) * | 2010-03-30 | 2011-10-06 | Hitachi, Ltd. | Disk array configuration program, computer, and computer system |
US20110246821A1 (en) * | 2010-03-30 | 2011-10-06 | International Business Machines Corporation | Reliability scheme using hybrid ssd/hdd replication with log structured management |
US20110258488A1 (en) * | 2010-04-19 | 2011-10-20 | Microsoft Corporation | Server Failure Recovery |
US20120131280A1 (en) * | 2010-11-24 | 2012-05-24 | International Business Machines Corporation | Systems and methods for backing up storage volumes in a storage system |
US20130042156A1 (en) * | 2011-08-12 | 2013-02-14 | Oracle International Corporation | Utilizing multiple storage devices to reduce write latency for database logging |
US20130080703A1 (en) * | 2011-09-28 | 2013-03-28 | Hitachi, Ltd. | Method for calculating tier relocation cost and storage system using the same |
US20130238832A1 (en) * | 2012-03-07 | 2013-09-12 | Netapp, Inc. | Deduplicating hybrid storage aggregate |
US20140013053A1 (en) * | 2012-07-06 | 2014-01-09 | Seagate Technology Llc | Determining a criterion for movement of data from a primary cache to a secondary cache |
US20140089728A1 (en) * | 2012-09-27 | 2014-03-27 | Bryan E. Veal | Method and apparatus for synchronizing storage volumes |
US20140281247A1 (en) * | 2013-03-15 | 2014-09-18 | Oracle International Corporation | Method to accelerate queries using dynamically generated alternate data formats in flash cache |
Non-Patent Citations (1)
Title |
---|
Microsoft Corporation, Microsoft Computer Dictionary, 2002, Microsoft Press, Fifth Edition, Pages 102 and 256 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10162567B2 (en) * | 2013-11-07 | 2018-12-25 | Hitachi, Ltd. | Computer system |
US10936494B1 (en) * | 2014-12-05 | 2021-03-02 | EMC IP Holding Company LLC | Site cache manager for a distributed file system |
US10417194B1 (en) | 2014-12-05 | 2019-09-17 | EMC IP Holding Company LLC | Site cache for a distributed file system |
US10423507B1 (en) | 2014-12-05 | 2019-09-24 | EMC IP Holding Company LLC | Repairing a site cache in a distributed file system |
US10445296B1 (en) | 2014-12-05 | 2019-10-15 | EMC IP Holding Company LLC | Reading from a site cache in a distributed file system |
US10452619B1 (en) | 2014-12-05 | 2019-10-22 | EMC IP Holding Company LLC | Decreasing a site cache capacity in a distributed file system |
US10795866B2 (en) | 2014-12-05 | 2020-10-06 | EMC IP Holding Company LLC | Distributed file systems on content delivery networks |
US10951705B1 (en) | 2014-12-05 | 2021-03-16 | EMC IP Holding Company LLC | Write leases for distributed file systems |
US11221993B2 (en) | 2014-12-05 | 2022-01-11 | EMC IP Holding Company LLC | Limited deduplication scope for distributed file systems |
CN105069024A (en) * | 2015-07-16 | 2015-11-18 | 清华大学 | Parallel data acquisition-oriented write access method for distributed file system |
US11157459B2 (en) * | 2016-02-26 | 2021-10-26 | Red Hat, Inc. | Granular data self-healing |
JP2019197304A (en) * | 2018-05-08 | 2019-11-14 | アズビル株式会社 | Information accumulation device and information accumulation system and information accumulation method |
CN110457237A (en) * | 2018-05-08 | 2019-11-15 | 阿自倍尔株式会社 | Information accumulation device, information accumulating system and information accumulate method |
Also Published As
Publication number | Publication date |
---|---|
KR101709118B1 (en) | 2017-02-22 |
KR20130123897A (en) | 2013-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20130297969A1 (en) | File management method and apparatus for hybrid storage system | |
KR102403034B1 (en) | Dynamic garbage collection p/e policies for redundant storage blocks and distributed software stacks | |
US9128855B1 (en) | Flash cache partitioning | |
US9582421B1 (en) | Distributed multi-level caching for storage appliances | |
US8904061B1 (en) | Managing storage operations in a server cache | |
US9569367B1 (en) | Cache eviction based on types of data stored in storage systems | |
CN102760101B (en) | SSD-based (Solid State Disk) cache management method and system | |
US9779027B2 (en) | Apparatus, system and method for managing a level-two cache of a storage appliance | |
US9280478B2 (en) | Cache rebuilds based on tracking data for cache entries | |
US20160198019A1 (en) | I/o bandwidth reduction using storage-level common page information | |
CN105549905A (en) | Method for multiple virtual machines to access distributed object storage system | |
US20140006687A1 (en) | Data Cache Apparatus, Data Storage System and Method | |
CN103678523B (en) | Distributed cache cache data access methods and device | |
US8700727B1 (en) | Peer-to-peer based caching for network file system | |
EP3198447B1 (en) | Smart flash cache logger | |
US20140115244A1 (en) | Apparatus, system and method for providing a persistent level-two cache | |
CN111007991B (en) | Method for separating read-write requests based on NVDIMM and computer thereof | |
CN107179878B (en) | Data storage method and device based on application optimization | |
CN103095686B (en) | Focus metadata access control method and service device | |
US9817865B2 (en) | Direct lookup for identifying duplicate data in a data deduplication system | |
JP5569074B2 (en) | Storage system | |
US20170070574A1 (en) | Storage server and storage system | |
CN102841854A (en) | Method and system for executing data reading based on dynamic hierarchical memory cache (hmc) awareness | |
US10452619B1 (en) | Decreasing a site cache capacity in a distributed file system | |
CN102023816A (en) | Object storage policy and access method of object storage system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: ELECTRONICS AND TELECOMMUNICATIONS RESEARCH INSTIT Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KIM, YOUNG-CHANG;KIM, HONG-YEON;CHOI, WAN;REEL/FRAME:030332/0277 Effective date: 20130410 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |