There are two types of metadata:
- File metadata is information that clients need to access files
directly from storage devices in the SAN. File metadata includes permissions,
owner and group, access time, creation time, and other file characteristics, as well as the location of the file on the storage device.
- System metadata is metadata used by the system itself. It includes
information about file sets, storage pools, volumes, and policies. The metadata
servers perform the reads and writes required to create, distribute, and manage
this information. The system metadata is stored and managed in the system
storage pool, which is only accessible by the metadata servers in the cluster.
Distributing locks to clients involves the following services:
- Issuing leases that determine the length of time that a metadata server
guarantees the locks that it grants to clients.
- Granting locks to clients that allow them shared or exclusive access to
files or parts of files. These locks are semi-preemptible, which
means that if a client does not contact the metadata server within the lease
period, the metadata server can "steal" the client's locks and grant
them to other clients if requested; otherwise, the client can reassert its
locks (get its locks back) when it can contact the metadata server again.
- Providing a grace period during which a client can reassert its locks
before other clients can obtain new locks if the metadata server itself goes offline and then comes back online.