Abstract: A file and a sequence of snapshots of the file are stored in a storage device. The sequence of snapshots includes sequentially captured copies of earlier states of the file. A dependency tree indicating data blocks that are different between a given snapshot and a previous snapshot in the sequence of snapshots is stored in the storage device. The sequence of snapshots is sequentially scrubbed, beginning with an earliest snapshot in the sequence of snapshots. When scrubbing a snapshot, each of the data blocks identified in the dependency tree as being different than the data blocks of a previous snapshot in the sequence of snapshots are scrubbed. If a corrupted data block is detected, a determination of which later snapshots include the corrupt data block is made based on the dependency tree and the corrupted data blocks are corrected.
Abstract: A master node receives an instruction to create a checkpoint. The master node then tags new storage operations received by the master node after receiving the instruction and sends a request to a plurality of replica nodes of the data storage system to create the checkpoint. New operations that arrive to the data storage system are tagged. The new operations are tagged until acknowledgement messages are received from every replica node in response to the request. The acknowledgement message indicates successful creation of a checkpoint by a replica that sent the acknowledgment message. The master node determines whether all tagged operations have been completed and sends a commit checkpoint request once all tagged storage operations have been completed. After receiving a validation message from a replica node in response to the commit checkpoint request, the master node validates the checkpoint created by the replica node that sent the validation message.
Abstract: A storage system provides shared storage by utilizing dispersed storage devices while optimizing both the placement of data across the dispersed storage devices and the method for accessing the stored data. The storage system enables high level of scalability and performance while minimizing resource consumption.
Abstract: A storage system provides shared storage by utilizing dispersed storage devices while optimizing both the placement of data across the dispersed storage devices and the method for accessing the stored data. The storage system enables high level of scalability and performance while minimizing resource consumption.