摘要:
File system is capable of performing long operations, such as deletions and truncations of long files, in a deterministic and atomic manner with regard to its recorded consistency points. The system includes both live filespace accessible to users, and user-inaccessible zombie filespace. In representative embodiments, the system includes a file deletion manager and a truncation manager capable of operating on files in the zombie filespace. Changes to the zombie filespace can be recorded in persistent memory. After a power failure or a similar event, the system can use the recorded changes to replay operations on the files in the zombie filespace, facilitating recovery. Zombie space can be sized dynamically, enabling the deletion manager to request enlargement of the zombie filespace. In some embodiments, files are transferred to the zombie filespace before links to the files' blocks in the live filespace are broken, and before performing operations on the files.
摘要:
The present invention relates to a system for restoring a file from a snapshot, where a version of the file exists in both an active file system and the snapshot. A twin inode is created in the active file system and comparisons are made between block pointers of the twin inode and the snapshot. If there is a match, the block pointer of the twin inode is moved to the active file system. If there is not a match, a determination is made whether the snapshot block pointer exists in the active file system. If the snapshot block pointer does not exist in the active file system, it is copied to the active file system. If it does exist, then the actual data block pointed to by the snapshot block pointer is copied to the active file system. In this way, a file may be restored without the need to always copy every individual data block or inode from the snapshot.
摘要:
The present invention provides a system and method for restoring a single file from a snapshot without the need to copy every individual block or inode from the snapshot. A file restore process duplicates the inode of a file within the active file system and performs a reconciliation process between the blocks of the twin inode and the snapshot inode. If the file does not exist within the active file system, a new buffer tree is created that points to the data blocks stored in the snapshot.
摘要:
A file which has been changed from a data storage system is restored. If the file was changed from an active file system, a set of twin pointers is created by copying from the latest pointers in the active file system before the file system was changed. A pointer from the twin pointers is compared with a pointer from a snapshot of the active file system. If a pointer from the twin pointers points to a same data block as the pointer from the snapshot, the twin pointer is written into the active file system to restore the file to the active file system. If the pointers do not point to the same data block, a data of the block is copied to a new block in the active file system to restore data changed since the snapshot was taken.
摘要:
A file folding technique reduces the number of duplicate data blocks of a file consumed on a storage device of a file server configured to generate a persistent image of its active file system at a point in time. According to the file folding technique, if “old” data blocks of the file are over-written with “new” data and that new data is identical to the data of the persistent file image, the old data blocks are “freed” and the file is directed to refer to the persistent image for its data. The invention reduces disk space consumption in a file server configured to generate persistent images of its active file system and, in particular, reduces overall persistent image disk usage.
摘要:
A method and apparatus are disclosed for restoring a virtual disk (vdisk) in a data storage system as the vdisk was at an earlier time. Pointers are maintained to point to data represented by the vdisk. The pointers are saved to persistent storage at the earlier time. The data at the earlier time is maintained on the data storage device. A pointer pointing to data represented by the vdisk at a later time is compared with the pointers saved at the earlier time. If the pointer from the later time matches the pointer saved at the earlier time, keeping the pointer from the later time in the active file system. If the pointer from the later time does not match the pointers saved at the earlier time, copying a set of pointers associated with the pointer saved at the earlier time to the active file system.
摘要:
A storage server provides a set of client devices with access to a set of mass storage devices. The storage server receives requests from the client devices, each request representing a storage operation to be performed by the storage server on the set of mass storage devices. The storage server maintains a log of write requests received from the client devices, the log including a separate log entry for each of the write requests, and a separate checksum in each of the log entries. Each checksum is for use by a checksum algorithm in determining data integrity of the corresponding log entry. The checksum algorithm is selected, from among a number of selectable a checksum algorithms, based on one or more predetermined criteria, such as a desired balance between performance and checksum strength.
摘要:
The present invention provides a system and method for restoring a single data stream file from a snapshot without the need to copy every individual block or inode from the snapshot. A file restore process duplicates the inode of a file within the active file system and performs a reconciliation process between the blocks of the twin inode and the snapshot inode. If the file does not exist within the active file system, a new buffer tree is created that points to the data blocks stored in the snapshot.
摘要:
A method for restoring a file which has been deleted from a data storage system is described. A set of twin pointers is created by copying from the latest pointers in the active file system at a time of restoration. A new set of pointers is created. A pointer from the twin pointers is compared with a pointer from a snapshot of the active file system made at a time earlier than the deletion of the file. In response to a pointer from the snapshot pointing to a different data block than the pointer from the twin pointers, writing the snapshot pointer into the new set of pointers. Writing the new set of pointers into the active file system at the time of restoration to restore the file to the active file system.
摘要:
A method and apparatus are disclosed for restoring a virtual disk (vdisk) in a data storage system as the vdisk was at an earlier time. Pointers are maintained to point to data represented by the vdisk. The pointers are saved to persistent storage at the earlier time. The data at the earlier time is maintained on the data storage device. A pointer pointing to data represented by the vdisk at a later time is compared with the pointers saved at the earlier time. If the pointer from the later time matches the pointer saved at the earlier time, keeping the pointer from the later time in the active file system. If the pointer from the later time does not match the pointers saved at the earlier time, copying a set of pointers associated with the pointer saved at the earlier time to the active file system.