METADATA MANAGEMENT METHOD FOR NAS GLOBAL NAMESPACE DESIGN
First Claim
1. A method of managing a global namespace (GNS) for a network system including a plurality of network-attached storage (NAS) devices connected together by a network, comprising the steps of:
- organizing a plurality of metadata servers each into one of a cluster layer having a plurality of cluster nodes and a consistent hashing overlay layer having a plurality of overlay nodes,constructing a GNS namespace, including steps of creating a GNS hierarchy above share folders of the NAS devices and constructing the GNS hierarchy under the share folders, wherein the creating and constructing steps are performed by a cluster node in the cluster layer,synchronizing the constructed GNS namespace across all cluster nodes in the cluster layer,setting first and second portions of the GNS namespace to be managed by the cluster layer and consistent hashing overlay layer, respectively, anddynamically adjusting at least one of the first and second portions of the GNS namespace to be managed by the cluster layer and consistent hashing overlay layer, respectively, based on workload of the metadata servers.
1 Assignment
0 Petitions
Accused Products
Abstract
A global namespace (GNS) is constructed across heterogeneous network-attached storage (NAS) devices by organizing metadata servers into a cluster layer having cluster nodes and a consistent hashing overlay layer having overlay nodes. The global namespace is distributed based on workload at the cluster and overlay nodes, and a portion of the GNS namespace may be migrated from one layer to the other. Cluster nodes may be added to the cluster layer, overlay nodes may be added to the consistent hashing overlay layer. Further, a cluster node may become an overlay node or an overlay node may become a cluster node. To access the global namespace, a request for namespace metadata managed by a cluster node is serviced by the cluster node, but if the requested namespace metadata have been migrated to the consistent hashing overlay layer, the cluster node will forward the request to the responsible overlay node for servicing.
-
Citations
20 Claims
-
1. A method of managing a global namespace (GNS) for a network system including a plurality of network-attached storage (NAS) devices connected together by a network, comprising the steps of:
-
organizing a plurality of metadata servers each into one of a cluster layer having a plurality of cluster nodes and a consistent hashing overlay layer having a plurality of overlay nodes, constructing a GNS namespace, including steps of creating a GNS hierarchy above share folders of the NAS devices and constructing the GNS hierarchy under the share folders, wherein the creating and constructing steps are performed by a cluster node in the cluster layer, synchronizing the constructed GNS namespace across all cluster nodes in the cluster layer, setting first and second portions of the GNS namespace to be managed by the cluster layer and consistent hashing overlay layer, respectively, and dynamically adjusting at least one of the first and second portions of the GNS namespace to be managed by the cluster layer and consistent hashing overlay layer, respectively, based on workload of the metadata servers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method of managing a global namespace (GNS) for a network system including a plurality of network-attached storage (NAS) devices connected together by a network, comprising the steps of:
-
in an initialization phase, creating a cluster layer of cluster nodes, each cluster node having a GNS-node information table and a NAS information table, obtaining a node ID for each cluster node and entering the node ID of each cluster node into its GNS-node information table, and synchronizing the GNS-node information tables of the cluster nodes; in a namespace construction phase, gathering information of NAS nodes into the NAS information tables, creating a GNS hierarchical namespace above NAS shares, constructing the GNS hierarchical namespace below the NAS shares, and synchronizing the NAS information tables of the cluster nodes; in a workload monitoring phase, updating workload information in the GNS-node information tables, gathering workload information from a consistent hashing overlay layer, updating the GNS-node information table, and synchronizing the GNS-node information tables of the cluster nodes; and in a namespace redistribution phase, when the average total workload of the cluster nodes is greater than a predefined first threshold, adding at least one new cluster node to the cluster layer;
when the average total workload of the consistent hashing overlay layer is greater than a predefined second threshold, adding at least one new overlay node to the consistent hashing overlay layer;
when the synchronization workload of a cluster node is greater than a predefined third threshold, migrating at least one cluster node to the consistent hashing overlay layer; and
when the total average workload in the cluster layer is not greater than a predefined fourth threshold, migrating at least one overlay node to the cluster layer. - View Dependent Claims (14, 15, 16)
-
-
17. A network system including a plurality of cluster nodes in a cluster layer and a plurality of overlay nodes in a consistent hashing overlay layer, the cluster layer and consistent hashing overlay layer being connected together and to a plurality of NAS devices via a network, wherein:
-
each cluster node and each overlay node includes a processor, a network interface via which the cluster node is coupled to the network, an NFS/CIFS protocol module, a storage management module, a storage interface, a system memory, and a system bus via which the processor is coupled to each of the network interface, the NFS/CIFS protocol module, the storage management module, the storage interface, and the system memory, wherein the processor executes; an initialization program, in an initialization phase, creating a cluster layer of cluster nodes, each cluster node having a GNS-node information table and a NAS information table, obtaining a node ID for each cluster node and entering the node ID of each cluster node into its GNS-node information table, and synchronizing the GNS-node information tables of the cluster nodes; a namespace construction program, in a namespace construction phase, gathering information of NAS nodes into the NAS information tables, creating a GNS hierarchical namespace above NAS shares, constructing the GNS hierarchical namespace below the NAS shares, and synchronizing the NAS information tables of the cluster nodes; a workload monitoring program, in a workload monitoring phase, updating workload information in the GNS-node information tables, gathering workload information from a consistent hashing overlay layer, updating the GNS-node information table, and synchronizing the GNS-node information tables of the cluster nodes; and a namespace redistribution program, in a namespace redistribution phase, when the average total workload of the cluster nodes is greater than a predefined first threshold, adding at least one new cluster node to the cluster layer, when the average total workload of the consistent hashing overlay layer is greater than a predefined second threshold, adding at least one new overlay node to the consistent hashing overlay layer;
when the synchronization workload of a cluster node is greater than a predefined third threshold, migrating at least one cluster node to the consistent hashing overlay layer; and
when the total average workload in the cluster layer is not greater than a predefined fourth threshold, migrating at least one overlay node to the cluster layer. - View Dependent Claims (18, 19, 20)
-
Specification