摘要:
Techniques for providing encryption of individual data objects in a data storage system include realizing data objects in the form of container files stored in a set of file systems, and encrypting individual ones of the data objects by encrypting the container files realizing the data objects using encryption keys associated with the individual data objects. By independently encrypting the container files that realize individual data objects, the disclosed system provides per-data object encryption. Each data object may be encrypted differently, e.g. using a different encryption key, even when multiple data objects are hosted over the same storage device or over a shared set of storage devices.
摘要:
An improved technique involves providing a pair of inode numbers in a directory entry for a file in a directory of a target file system. Along these lines, the target file system writes a first inode number and a second inode number to the directory entry for the file. While the client has not yet remounted its file system, that client may continue to use the file handle provided for the original file system. The data storage system continues to refer to a mapping table that cross-references initial inode numbers to target ones, at some cost in performance. Nevertheless, the client has an option to remount the file system at a time that is convenient to the client, so that the client may obtain a new handle. The client may subsequently use the new file handle to access the 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 method and a system to dynamically determine how much of the total IO bandwidth may be used for flushing dirty metadata from the cache to the main memory without increasing the host memory access latency time, includes increasing the number of IO processes by adding a number of IO processes at short intervals and measuring host latency. If the host latency is acceptable, then increasing the number of IO processes again by the same number, and repeating until the host latency period reaches a limit. When the limit has been reached, reducing the number of IO processes by a multiplicative factor, and repeating the additive process from the reduced number of IO processes. The number of IO processes used for flushing dirty metadata may resemble a series of saw teeth, rising gradually and declining rapidly in response to the number of host IO processes needed.
摘要:
A slice consistency check method is presented including, for each slice of a plurality of slices (a) obtaining a first vote for ownership of that slice according to a filesystem manager configured to manage a set of filesystems stored on a set of sparse metavolumes, (b) obtaining a second vote for the ownership of that slice according to a first driver, the first driver being independent of the filesystem manager, (c) obtaining a third vote for the ownership of that slice according to a second driver, the second driver being independent of the filesystem manager and the first driver, and (d) assigning ownership of that slice based on a majority vote of the first vote for the ownership of that slice, the second vote for the ownership of that slice, and the third vote for the ownership of that slice.
摘要:
A technique for protecting host data using, for example, snaps, asynchronous replication, and/or synchronous replication, includes storing both block-based objects and file-based objects in a common form—as files. With both block-based objects and file-based objects represented as the same type of underlying objects, data protection of both block-based and file-based objects is accomplished using a single set of data protection technologies, which are configured to perform data protection operations on files.
摘要:
Flushing cache memory of dirty metadata in a plurality of file systems without either letting the caches reach their maximum capacity, or using so much of the total system IO process bandwidth that host system IO process requests are unreasonably delayed, may include determining the length of an interval between sync operations for each individual one of the plurality of file system, and how to divide a system wide maximum sync process IO operation bandwidth fairly between various ones of the plurality of file systems. A computer dynamically measures overall system operation rates, and calculates an available portion of a current calculated sync operation bandwidth for each file system. The computer also measures file system operation rates and determines how long a time period should be between sync operations in each file system.
摘要:
Described are methods, systems, and apparatus, including computer program products for expanding a storage pool-backed file system. A file system expansion trigger is detected. First reserved space in the storage pool is reserved. A LUN size attribute associated with a LUN underlying the file system is increased. A file system size attribute associated with the file system is increased. First data to write to the file system is received. In response to receiving the first data, an expansion result is determined, wherein the expansion result indicates whether to expand the LUN and the file system. If the expansion result indicates to expand the LUN and the file system, a first portion of the first reserved space is provisioned and formatted. The first data is written to the file system.
摘要:
An improved technique for a data storage apparatus that combines both block-based and file-based functionality in a unified data path architecture. The improved technique brings together IO processing of block-based storage systems and file-based storage systems by expressing both block-based objects (e.g., LUNs) and file-based objects (e.g., host file systems) in the form of files. These files are parts of an underlying set of internal file systems stored on a set of storage units served by a storage pool. Because block and file-based objects are all expressed as files of this set of internal file systems, a common set of services can be applied across block-based and file-based objects. In particular, enhanced data services such as compression, automated storage tiering and deduplication are provided across both types of object using one set of common mechanisms.