NetApp, Inc.
Logging and update of metadata in a log-structured file system for storage node recovery and restart

Last updated:

Abstract:

A technique is configured to log and update metadata in a log-structured file system to facilitate recovery and restart in response to failure of a storage node of a cluster. A block identifier (ID) is used to identify a block of data serviced by the storage node. Metadata embodied as mappings between block IDs and locations of data blocks in the cluster are illustratively maintained in "active" and "frozen" map fragments. An active map fragment refers to a map fragment that has space available to store a mapping, whereas a frozen map fragment refers to a map fragment that no available space for storing a mapping. The active map fragments are maintained in memory as "in-core" data structures, whereas the frozen map fragments are paged-out and stored on storage devices of the cluster as "on-disk" map fragment structures. Each frozen map fragment written to a segment includes a pointer to a last written frozen map fragment to form a chain (e.g., linked-list) of on-disk frozen map fragments. Each time a data block is persisted on a segment of the storage devices, an active map fragment is populated in-core and a metadata write marker is recorded on the segment (on-disk) indicating the location of the data block that was written to the segment. If a storage node crashes when the active map fragment is only partially populated, the metadata write markers facilitate rebuild of the active map fragment upon recovery and restart of a storage service of the node.

Status:
Grant
Type:

Utility

Filling date:

25 Apr 2019

Issue date:

16 Mar 2021