A metadata controller (MDC) is a type of data control used over a storage area network (SAN). With most SANs, there is one client that is given block-level access, or access to the physical level of the data. A metadata controller is needed when there are several clients on a SAN rapidly accessing the same block on the same disk volume. The MDC is used to lock files, move and allocate data space, and give authorization to clients for different block levels. MDCs are only used on high-end servers and are never found on user computers.
A SAN is a dedicated network in which a client, usually composed of many different users, accesses data stored within the SAN. Unlike normal servers, which give file-level access to users so they use and manipulate the file, this type of server gives block-level access. This is known as low-level access — lower than common user computers can access — that specifies data storage and performance. This type of storage is flexible and allows administrators and users to boot from the SAN itself for easy booting.
A metadata controller comes into play when several clients use the same SAN at once. Without a metadata controller to change access or lock files, there is no way for data to be private. At the same time, this controller can act as a sharing device when administrators give other servers access to certain blocks.
When access is granted to a block through the controller, a different server is able to look at the block of data. If the file is locked, this means either that the server cannot see the block or cannot change the block, depending on the access level. When access is granted, which may be done if the different clients on the SAN know each other, then the block can be transferred from one server to another, permitting the other server to use the block.
Along with access and locking, the metadata controller performs another vital function for the SAN’s longevity: space allocation. This allows administrators to move around the blocks for the best performance. When the blocks are allocated properly, memory channels are able to be used efficiently.
Metadata controllers can be used on many different types of SANs and networks. When used with the proper networks, it will increase performance. When the MDC is coupled with an incorrect network, even though it will work, it will usually decrease performance. When the metadata controller is used, usually an entire computer needs to be specified as a controller.