摘要:
A technique for managing storage space in a data storage system generates liability values on a per-family basis, with each family including files in the file system that are related to one another by snapping. Each family thus groups together files in the file system that share at least some blocks among one another based on snapshot activities. Distinct files that do not share blocks based on snapping are provided in separate families. The file system leverages the snap-based relationships among family members to produce more accurate estimates of liability than would otherwise be feasible.
摘要:
An improved technique involves providing file system shrink capability by shrinking the size of the volume file in which an upper deck file system is stored. Along these lines, a data storage system, upon receiving a request to shrink an upper deck file system, determines a new address in the upper deck file system, based on an amount the upper deck file system is to be shrunk, to which the end-of-file (EOF) pointer of the volume file will point. The new address will have a smaller distance from the address of the file pointer than the original address to which the EOF pointer points. The data storage system then identifies nonempty data blocks of the upper deck file system that have logical addresses having a larger distance from the address of the file pointer than the second logical address.
摘要:
A data storage system includes storage devices and a processing subsystem executing software forming a lower-deck file system and an upper-deck file system. The lower-deck file system presents a volume file from which storage is provided to the upper-deck file system, and units of storage of the storage devices are allocable to the upper-deck file system but are not reserved to it. The volume file is thinly provisioned, and additional units of storage are added dynamically to increase its allocated size in response to demand from the upper-deck file system. The lower-deck file system operates in a mapped mode in which a block address in the lower-deck file system is obtained by a generally arbitrary mapping (e.g., an Inode/IB tree) of a block address in the volume file.
摘要:
Examples are generally directed towards a file server having a unified file system associated with a unified slice map volume. In one example, the unified file system stores file system metadata and sparse volume metadata within the unified slice map volume. The unified file system performs a unified set of functions using the file system metadata and sparse volume metadata in the unified slice map volume.
摘要:
A data storage system includes storage devices and a processing subsystem executing software forming a lower-deck file system and an upper-deck file system. The lower-deck file system presents a volume file from which storage is provided to the upper-deck file system, and units of storage of the storage devices are reserved to the upper-deck file system. The volume file is fully provisioned based on the reserved units of storage so that an out-of-space condition is not presented to the upper-deck file system. Reserved units of storage are dynamically added to the volume file to increase its allocated size in response to demand from the upper-deck file system, and a direct operating mode is used in which a block address in the lower-deck file system is obtained by a predetermined calculation from a corresponding block address in the volume file.
摘要:
A technique for storing support files in a data storage apparatus provides auxiliary files in a container file system. The container file system stores a container file that provides a file-based realization of a data object, such as an entire file system, LUN, or vVOL, for example, and stores one or more auxiliary files in the container file system alongside the container file. Thus, an auxiliary file that supports an application program's operations on a data object resides in the same fault domain with the container file that realizes the data object.
摘要:
A data storage system includes storage devices and a processing subsystem executing software forming a lower-deck file system and an upper-deck file system. The lower-deck file system presents a volume file from which storage is provided to the upper-deck file system, and units of storage of the storage devices are allocable to the upper-deck file system but not reserved to it. The volume file is thinly provisioned, and additional units of storage are added dynamically to increase its allocated size in response to demand from the upper-deck file system. The lower-deck file system operates in a mapped mode in which a block address in the lower-deck file system is obtained by a generally arbitrary mapping (e.g., an Inode/IB tree) of a block address in the volume file.
摘要:
A data storage system employs a multi-level stack including a lower-deck file system and an upper-deck file system providing a file system interface to a file system consumer. The lower-deck file system presents a volume file to provide storage to the upper-deck file system. Storage is reserved to the upper-deck file system, and the volume file is fully provisioned so an out-of-space condition is not presented to the upper-deck file system. In an initial direct operating mode a block address in the lower-deck file system is obtained by a calculation from a corresponding block address in the volume file. Snapshots of a primary volume file are created and stored in respective snapshot volume files. The lower-deck file system transitions into a mapped mode using generally arbitrary mappings of block addresses of the primary volume file and snapshot volume files to obtain corresponding block addresses in the lower-deck file system.