Abstract:
A storage server creates a first mirror of a primary volume of data on a first storage set that includes at least one disk and creates a second mirror of the primary volume, on a second storage set that also includes at least one disk. The server then quiesces the second storage set. A user then decouples the second storage set from the server and transports the second storage set off-site. The storage server then saves one or more incremental backups of the primary volume on the first storage set according to a specified backup schedule. According to a specified rotation schedule, a user subsequently recouples the second storage set to the server. The server detects the recoupling and, in response, automatically resynchronizes the second mirror with the primary volume, and swaps the active-inactive statuses of the first and second mirrors. The process repeats as needed.
Abstract:
A system and method for calculating and storing block fingerprints for data dedu- plication. A fingerprint extraction layer generates a fingerprint of a predefined size, e.g., 64 bits, for each data block stored by a storage system. Each fingerprint is stored in a fingerprint record, and the fingerprint records are, in turn, stored in a fingerprint database for access by the data deduplication module. The data deduplication module may peri¬ odically compare the fingerprints to identify duplicate fingerprints, which, in turn, indi¬ cate duplicate data blocks.
Abstract:
A filer converts a traditional volume to a flexible volume by: creating an aggregate on storage devices other than the storage devices of the traditional volume; on the aggregate, creating a flexible volume large enough to store metadata describing files residing on the traditional volume; on the flexible volume, creating metadata structures that describe the files of the traditional volume, except that the metadata indicates that data blocks and indirect blocks are absent and must be fetched from another location. As the filer handles I/O requests directed to the flexible volume, the filer calculates physical volume block number (PVBN) addresses where the requested blocks would be located in the aggregate and replaces the absent pointers with the calculated addresses. After the absent pointers have been replaced, the filer adds the storage devices of the traditional volume.
Abstract:
A chassis assembly and method for including a component carrier in an electronic device. The assembly may include a carrier for housing a component for integration into the system. The carrier includes a frame constructed to at least partially contain the electronic portions of the component. A handle is pivotally coupled to the frame. The handle may rotate between an engaging orientation and a securing orientation. A pinion portion is included on the handle and may engage with a corresponding rack in the chassis to control movement of the carrier with respect to the chassis. A securing mechanism is disposed on an end of the handle opposite the pinion portion and may be implemented to secure the handle in a securing orientation wherein the end of the handle is disposed adjacent the frame. A securing mechanism may be included to prevent rotation of the handle with respect to the frame.
Abstract:
A system is provided to commit data to persistent storage. The system comprises a configuration component to set an autocommit period, a scanner to detect that the autocommit period has expired for a file and a commit component to commit the file to write once read many (WORM) status In one embodiment, when an autocommit period is set, the system may be configured to automatically commit a file to WORM status if the file has not been changed for the autocommit period.
Abstract:
A system is provided to commit data to persistent storage. The system comprises a configuration component to set an autocommit period, a scanner to detect that the autocommit period has expired for a file and a commit component to commit the file to write once read many (WORM) status In one embodiment, when an autocommit period is set, the system may be configured to automatically commit a file to WORM status if the file has not been changed for the autocommit period.
Abstract:
A method and system mirror flexible volumes in a circular or bi-directional configuration, without creating a deadlock. A source filer maintains a number of log files on a destination filer, where the number of log files is greater than or equal to the number of cache flush operations the primary filer performs between cache flush operations on the destination filer. The source filer can create the log files in advance. Alternatively or in addition, the source filer can create the log files as needed, i.e., the source filer can create a log file when the source filer flushes its cache. Once the destination filer flushes its cache, the log files created prior to the destination filer cache flush can be deallocated or reused.
Abstract:
A triple parity (TP) technique reduces overhead of computing diagonal and anti- diagonal parity for a storage array adapted to enable efficient recovery from the concurrent failure of three storage devices in the array. The diagonal parity is computed along diagonal parity sets that collectively span all data disks and a row parity disk of the array. The parity for all of the diagonal parity sets except one is stored on the diagonal parity disk. Similarly, the anti-diagonal parity is computed along anti-diagonal parity sets that collectively span all data disks and a row parity disk of the array. The parity for all of the anti-diagonal parity sets except one is stored on the anti-diagonal parity disk. The TP technique provides a uniform stripe depth and an optimal amount of parity information.
Abstract:
A Multi-Pathing Optimization Module (MPOM) interfaces with a client to route a data access request along a most optimal path to a storage system serving data container stored on a striped volume set (SVS). The MPOM constructs and references a Location Data Structure (LDS) containing striping rules associated with the SVS, a list of network elements (N-blades) operatively connected to the client, and a list of disk elements (D- blades) sharing a node of the storage system with the listed N-blades. The MPOM executes a Client_Locate( ) function on a per data access request basis to identify the D- blade serving the volume which will receive the request. When possible, the MPOM routes the data access request directly to the N-blade sharing a node with the identified D-blade, thereby using the most optimal path from the client to the SVS.
Abstract:
A uniform and symmetric, double failure-correcting technique protects against two or fewer disk failures in a disk array of a storage system. A RAID system of the storage system generates two disks worth of "redundant" information for storage in the array, wherein the redundant information (e.g., parity) is illustratively derived from computations along both diagonal parity sets ("diagonals") and row parity sets ("rows"). Specifically, the RAID system computes row parity along rows of the array and diagonal parity along diagonals of the array. However, the contents of the redundant (parity) information disks interact such that neither disk contains purely (solely) diagonal or row redundancy information; the redundant information is generated using diagonal parity results in row parity computations (and vice versa).