This invention relates to the field of network storage technology especially involves the data and metadata management in network storage system, and the network storage system architecture.
Network storage system is based on the storage network, and storage server is the core of the network. This system provides data storage services for the application servers. The system emphasizes data services scalability, reliability and ability to handle dynamically. The most commonly used technology is the Storage Area Network (SAN). Storage area network is an independent network made up of storage servers, storage devices and storage network equipment. The storage area network provides a high-speed, dedicated, centralized managed, and security architecture.
In SAN, with the adding of storage servers, the overall I/O performance drops, therefore the shortcoming limits the use of the storage architecture. Particularly, with the development of the independent metadata server architecture, the dynamic scalability of storage servers (such as metadata servers) has become even more crucial issue to overall system performance. In the design of current metadata server, metadata servers usually use their own storage space to store metadata. The own storage space here means the storage space from the server's own hard disks. In general, metadata server cluster (storage server cluster), mainly uses two methods of data storage and management.
One method is that each metadata server of the cluster preserves part of the overall metadata table, so the overall metadata table is a combined table of all metadata servers' table. Under this architecture, each metadata server can achieve high data access performance and data storage efficiency without other synchro-mechanism. However, this design is bad during disaster and can not provide load balancing capabilities of metadata server clusters. The failure of a metadata server will lead to the loss of some metadata tables. The imbalance of metadata's dynamic load will lead to a lot of metadata access to one server, and the performance of metadata server cluster will drop.
The other method is that each metadata server of the cluster preserves a copy of synchronous overall metadata table in its local, so each metadata server can access the overall metadata table, including access of reading and writing. The metadata servers use a synchronization mechanism to ensure the integrity of overall metadata. So metadata server cluster can have a good balance of load capacity and disaster recovery capabilities. But usually metadata accesses are frequent small I/O requests, and the metadata server synchronization mechanism will seriously damage performance of the metadata server cluster, thereby the performance of the overall storage system will decline. Because of the cost of this synchronization mechanism, the metadata server cluster is limited in scalability. Because adding new metadata server means that we need to synchronize more overall metadata tables. This metadata management mechanism reduces the efficiency of metadata storage because each metadata record should have its corresponding local copy in every server.
The aim of this invention is to provide a method of data management in network storage system. This method can effectively solve the scalability issue in current network storage system. This method also solves other problems, such as metadata server failure and its recovery, storage server cluster load balancing, and reconstruction. The method provides the dynamic handling capacity of the system, and greatly enhances the reliability and data availability.
Another aim of this invention is to provide a network storage system built by the method. The metadata servers in the system support dynamic scalability, and dynamic handling and recovering of failure of storage servers, and also provide better performance in disaster recovery. This invention also achieves good storage performance during load balancing and reconstruction of the storage server cluster.
The first objective of the invention is achieved as following: A data management method for network storage system that said network storage system includes the storage network, clusters of storage server ≡ that provide data storage services to the application servers connecting to storage network and storage space corresponding to each storage server, which said data includes raw data that accessed by the application servers and metadata corresponding to the storage servers, setting a core manager in storage server, said core manager centralizing the metadata of all storage servers in a common storage space, separating the metadata from said storage servers to make a storage server become a storage manager and the storage spaces corresponding to each storage server form the common storage space, allocating the storage space of metadata in said common storage space, and managing the corresponding relationship between metadata and said storage manager.
Technical Effect: Since the invention forms a common storage space for the storage servers by a core manager, the corresponding storage space of each storage server is no longer local or private storage space of the storage server, but part of the common storage space managed by the core manager. The metadata of the corresponding storage space of the server separates from the respective storage server and is located by the core manager according to the management and efficient needs to the common storage space.
The storage server that only manages metadata is defined as storage manager, and the corresponding storage server cluster is called storage manager cluster. The storage manager will no longer have the corresponding storage space and the corresponding metadata, but only manage the metadata allocated by the core manager.
With the separation of metadata, the storage managers no longer own their own metadata. Therefore the scalability, the server failure handling, dynamic load balancing and reconstruction of the cluster are all independent operation with the metadata. The invention can effectively solve the scalability issues. It also solves technical problems of dynamic failure and recovery of storage manager, load balancing of storage manager cluster, and reconstruction of storage manager cluster.
A preferred design is that the common storage space has partitions. Storage manager has one-to-one and/or one-to-more mapping relation with the partitions. For the common storage space has partitions, the management of the core manager is more convenient. Numbering for the partitions and setting correspondence relationship between partitions and each storage manager, the data can be managed efficiently. Every partition of the common storage space can be mapped in any one storage manager. But at the same time, only one storage manager can lock the partition and access it exclusively.
In particular, the core manager includes allocation controller, mapping controller and partition controller. Allocation controller distributes metadata in the partition of the common storage space. Mapping controller manages the mapping relationship between the partitions of common storage space and storage managers by a mapping table. Partition controller manages partitions of the common storage space.
The invention can efficiently achieve data access of the system, the scalability and failure treatment. The process of the dynamic load balancing and reconstruction of storage manager cluster refers to the detailed description below.
The solution to achieve the second objective of the invention is as follows: network storage system includes storage network, storage server cluster providing data storage service to the application server connected to the net, and the storage space for metadata, further includes a core manager in each storage server, said core manager centralizing the metadata of all storage servers in a common storage space to make a storage server become a storage manager and the storage spaces corresponding to each storage server form the common storage space, allocating the storage space of metadata in the said common storage space, and managing the corresponding relationship between metadata and said storage manager.
Technical Results: The storage manager has no corresponding storage space to store corresponding metadata in the network storage system built by the invention. The core manager allocates the common storage space. The storage manager realizes the separation of metadata. The scalability, failure handling, and dynamic load balancing and reconstruction of the storage manager cluster become unrelated operation with metadata. Thus the storage manager cluster has dynamic scalability. It can dynamic handle and restore failure of storage server. The storage manager supports load balancing and reconstruction of storage server cluster when the system is in the condition of high efficient storage.
The network storage system built by the method can set partitions of the storage space. Storage manager and partitions have one-to-one and/or one-to-more mapping relationship. The core manager is made up of the allocation controller, mapping controller and partition controller for the storage manager. The allocation controller distributes metadata in the partition of the common storage space. The mapping controller manages the mapping relationship between the partitions of common storage space and storage managers by a mapping table. The partition controller manages partitions of the common storage space.
When the above preferred solution is actually operating, each storage manager stores the data in its partition. The metadata of the data is concentrated in the common storage space. The process of scalability, the failure handling and dynamic load balancing of storage manager doesn't have to move the actual data, only needs to adjust the mapping relation of storage manager and partition. The allocation of data storage is based on partition not on storage manager. Data storage location determines by the number of partition, not by the storage server. The network storage system of the invention provides storage manager cluster an excellent scalable architecture. The scalability, and the failure treatment and dynamic load balance of storage manager is a process unrelated to the data. This method greatly improves failure control capability, the data reliability and availability of storage manager clusters.
In addition, each partition in the common storage space can only be accessed by an exclusive storage manager. So there is no need to synchronize data or have locking policy to data accessing the same partitions (for example, distributed file system). The access progress can achieve the similar performance as the local file system. The invention can maximize the use of caches of the storage managers and enhance greatly the performance of data access.
Combining attached drawings below explaining the embodiment of the invention.
A variety of file-based application server 1 provides relevant services and generate I/O request for network storage system. It is the initiator of the storage process. Application server cluster includes video servers, web servers, database servers, mail servers and file servers, see
Central storage and management is the guiding ideology for storage manager cluster seamless extension. Centralization refers to form the common storage space. And preferred method is to manage the partitions of the common storage space. Core manager is installed in the original storage server. Common storage space is made up of storage space corresponding to each storage server. Storage servers are separated with its metadata and become storage manager. Core manager in the storage manager manages storage location of metadata in the common storage space and corresponding relationship of metadata with storage manager. Metadata doesn't store in the corresponding space of each storage manager. That means the corresponding space of each storage manager is separated from the metadata. Though the core manager is set in the storage manager and need synchronization mechanism, the synchronization is irrelevant to the metadata, it will not affect the overall performance of the storage manager cluster 2 and the performance of entire storage system.
Storage resources are in the most efficient exclusive accessed by the partition in the common storage space 3. The storage manager in essence is such a server that doesn't contain metadata and can be dynamically changed. Based on features of this technical solution, scalability and failure treatment and dynamic load balancing of storage manager cluster 2 can be simply and efficiently managed by adjusting mapping relationship between partition 100 of common storage space 3 and each storage manager. The above scalability process has been simplified for some install and uninstall works. Without any data movement, storage manager cluster 2 can be seamlessly expanded.
Generally speaking, a large number of partitions can assure a seamless dynamic scalability of the clusters. The number of partitions restricts the number of clusters. For example 1024 partitions show that the system can have up to 1024 storage managers. In some special cases, when the clusters need to break through the number of partition to expand, for example, the need to cluster scalability to more than 1024, the system would need to expand the common storage space, and produce more partitions, such as 4096. Then after reconstruction of storage manager cluster, the cluster can be achieved with greater scalability.
The partition 100 is similar to the concept of logical partitions. Each partition can be mapped in any storage manager. At the same time, only a storage manger maps this partition and accesses it. A storage manager can map one or move partitions of the common storage space. Partition controller 30 can achieve the management of all the partitions of the common storage space 3. Its main functions include mapping install and uninstall and backup and log functions of the partition.
The above technology solution's effect is obvious. The creation of partition 100 of common storage space 3 makes storage manager 2 a server not including metadata and can be replaced. This is because the allocation of data storage is based on partition not on storage manager. The location of data storage is decided by the partition number rather than the storage manager used for storage. Therefore the progress of adding storage managers and failure treatment and dynamic load balancing becomes the operation unrelated to data. We do not need to move actual data, only to adjust mapping relations between the partitions of common storage space and storage managers. Thus, the architecture of storage manager cluster based on network storage has high seamless scalability, and greatly improves the storage manager cluster's dynamic managing capability and the data reliability and availability.
In addition, the common storage space in each partition can only be accessed by an exclusive storage manager. This makes storage managers in the course of the access do not need to consider synchronization of sharing (for example, distributed file system). The access progress can achieve the similar performance of the local file system. The invention maximizes the use of caches of storage management, and enhances greatly the performance of data access.
As long as we ensure the data security of common storage space, the data of the entire system is safe. Of course, compared to the scattered data, a centralized storage space is more easily to achieve data security.
After gained the corresponding partition number of the requested file, mapping controller 20 finds the corresponding storage manager of the number in the mapping table of the storage manager and partitions. Then the data request is transmitted through the network. For the request of written type, written data is sent to the corresponding storage manager. The storage manager will achieve the corresponding access through data access controller. For the request of read type, the result of the access will be transmitted to the application server 1 through the network.
When the system is in reconstruction, it need to transfer all data existed before reconstruction to different partitions according to the new allocation arithmetic. When storage manager receives the requests of the data visit of the application server, it makes the normal operation shown in the
Obviously, it clears that the process of the storage manager cluster reconstruction in this invention doesn't affect the normal operation of the system.
This realizes the dynamic load balance adjustment without the moving of any data among the partition.
Now, more and more storage system uses the structure with the separation of metadata servers and storage equipment, for example, the oriented-object storage system. The data management method of the invention can effectively handle the metadata server expansibility, error dispose and dynamic load balancing issues in this architecture.
Although the invention describes the technical solutions in detail, it shouldn't limited to this. Changes or amends made by general technical staff in this field according to the basic guiding ideas of the invention shall belong to the protected scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
200510011340.5 | Feb 2005 | CN | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/CN2006/000256 | 2/23/2006 | WO | 00 | 3/14/2008 |