Abstract:
In an embodiment, a computer stores source files and source clone files in a source filesystem. The source clone files are shallow copies of the source files, which initially share the same data blocks as the source files. A source file or a source clone file may eventually be modified, where some of the shared blocks are replaced by modified blocks. In a first phase, all data blocks of all source files that are not clones are replicated to a standby filesystem. A second phase compares each clone file on the source filesystem with its base file to detect a set of differed blocks. The second phase copies the differed blocks into the standby filesystem and, in the standby filesystem, applies the differed blocks to a corresponding clone file. Efficiency of keeping the standby filesystem synchronized with the source filesystem is improved by transferring, from the source filesystem to the standby filesystem, only one copy of only data blocks that are modified.
Abstract:
Techniques are described for backup and restore of a thin-cloned data file. The process iterates through a plurality of memory portions of the thin-cloned data file and determines whether a memory portion of the thin-cloned data file is a memory portion with common data shared with the source data file. Without storing the common data of the shared memory portion into the thin-backup data file, the process stores placeholder metadata and corresponding reference to the shared memory portion for the thin-backup data file, in an embodiment. At restore, the process may replicate the derivative data, different from the common data, from the thin-backup data file into the thin-restored data file. For the common data, the process restores a reference for the thin-restored data file to the share memory portion, in an embodiment.
Abstract:
A method, system, and computer program product for file storage defragmentation on a cluster of nodes. The method for self-governed, contention-aware scheduling of file defragmentation operations commences by calculating a score for candidate files of a storage volume, where the score is based on a fragmentation severity value. The process proceeds to determine an amount of contention for access to a candidate file (e.g., by accessing the candidate file to record the amount of time it takes to obtain access). If the fragmentation severity value and the amount of contention suggestion a benefit from defragmentation, then the method initiating defragmentation operations on the candidate file. The method delays for a calculated wait time before performing a second defragmentation operation. Real-time monitors are used to determine when the contention is too high or when system utilization is too high. Only files that have ever been opened are considered candidates for defragmentation.
Abstract:
Techniques are described for backup and restore of a thin-cloned data file. The process iterates through a plurality of memory portions of the thin-cloned data file and determines whether a memory portion of the thin-cloned data file is a memory portion with common data shared with the source data file. Without storing the common data of the shared memory portion into the thin-backup data file, the process stores placeholder metadata and corresponding reference to the shared memory portion for the thin-backup data file, in an embodiment. At restore, the process may replicate the derivative data, different from the common data, from the thin-backup data file into the thin-restored data file. For the common data, the process restores a reference for the thin-restored data file to the share memory portion, in an embodiment.
Abstract:
In an embodiment, a computer stores source files and source clone files in a source filesystem. The source clone files are shallow copies of the source files, which initially share the same data blocks as the source files. A source file or a source clone file may eventually be modified, where some of the shared blocks are replaced by modified blocks. In a first phase, all data blocks of all source files that are not clones are replicated to a standby filesystem. A second phase compares each clone file on the source filesystem with its base file to detect a set of differed blocks. The second phase copies the differed blocks into the standby filesystem and, in the standby filesystem, applies the differed blocks to a corresponding clone file. Efficiency of keeping the standby filesystem synchronized with the source filesystem is improved by transferring, from the source filesystem to the standby filesystem, only one copy of only data blocks that are modified
Abstract:
The approaches described herein provide support for application specific policies for conventional operating systems. In an embodiment, a kernel module representing a kernel subsystem is executed within an operating system's kernel. The kernel subsystem may be configured to respond to particular requests with one or more default actions. Additionally, the kernel subsystem may define a number of sub-modules which represent application specific policies that deviate from the default actions. Each sub-module may define one or more sets of conditions which indicate when the sub-module is applicable to a request and one or more sets of corresponding actions to take when the conditions are met. When an application sends a request to the kernel subsystem, the kernel subsystem determines whether the request meets the conditions of a particular sub-module. If the particular sub-module's conditions are met, the kernel subsystem performs the corresponding actions of the particular sub-module.