Abstract:
Techniques for recovering from a failure at a disaster recovery site are disclosed. An example method includes receiving an indication to shift control of a set of volumes of a plurality of volumes. The set of volumes is originally owned by a second storage node. The first storage node is a disaster recovery partner of the second storage node. The method includes shifting control of the set of volumes. The method further includes during the shifting, changing a status of a flag corresponding to a progress of the shifting. The method also includes during a reboot of the first storage node, determining the status of the flag and determining, based on the status of the flag, whether to mount the set of volumes during reboot at the first storage node.
Abstract:
Techniques are provided for compacting indirect blocks. For example, an object is represented as a structure comprising data blocks within which data of the object is stored and indirect blocks comprising block numbers of where the data blocks are located in storage. Block numbers within a set of indirect blocks are compacted into a compacted indirect block comprising a base block number, a count of additional block numbers after the base block number in the compacted indirect block, and a pattern of the block numbers in the compacted indirect block. The compacted indirect block is stored into memory for processing access operations to the object. Storing compacted indirect blocks into memory allows for more block numbers to be stored within memory. This improves the processing of access operations because reading the block numbers from memory is faster than loading the block numbers from disk.
Abstract:
Techniques are provided for compacting indirect blocks. For example, an object is represented as a structure comprising data blocks within which data of the object is stored and indirect blocks comprising block numbers of where the data blocks are located in storage. Block numbers within a set of indirect blocks are compacted into a compacted indirect block comprising a base block number, a count of additional block numbers after the base block number in the compacted indirect block, and a pattern of the block numbers in the compacted indirect block. The compacted indirect block is stored into memory for processing access operations to the object. Storing compacted indirect blocks into memory allows for more block numbers to be stored within memory. This improves the processing of access operations because reading the block numbers from memory is faster than loading the block numbers from disk.
Abstract:
Techniques are provided for compacting indirect blocks. For example, an object is represented as a structure comprising data blocks within which data of the object is stored and indirect blocks comprising block numbers of where the data blocks are located in storage. Block numbers within a set of indirect blocks are compacted into a compacted indirect block comprising a base block number, a count of additional block numbers after the base block number in the compacted indirect block, and a pattern of the block numbers in the compacted indirect block. The compacted indirect block is stored into memory for processing access operations to the object. Storing compacted indirect blocks into memory allows for more block numbers to be stored within memory. This improves the processing of access operations because reading the block numbers from memory is faster than loading the block numbers from disk.
Abstract:
Techniques for recovering from a failure at a disaster recovery site are disclosed. An example method includes receiving an indication to shift control of a set of volumes of a plurality of volumes. The set of volumes is originally owned by a second storage node. The first storage node is a disaster recovery partner of the second storage node. The method includes shifting control of the set of volumes. The method further includes during the shifting, changing a status of a flag corresponding to a progress of the shifting. The method also includes during a reboot of the first storage node, determining the status of the flag and determining, based on the status of the flag, whether to mount the set of volumes during reboot at the first storage node.