Abstract:
Technology is disclosed for storing data in a distributed storage system using a virtual chunk service (VCS). In the VCS based storage technique, a storage node (“node”) is split into multiple VCSs and each of the VCSs can be assigned a unique ID in the distributed storage. A set of VCSs from a set of nodes form a storage group, which also can be assigned a unique ID in the distributed storage. When a data object is received for storage, a storage group is identified for the data object, the data object is encoded to generate multiple fragments and each fragment is stored in a VCS of the identified storage group. The data recovery process is made more efficient by using metadata, e.g., VCS to storage node mapping, storage group to VCS mapping, VCS to objects mapping, which eliminates resource intensive read and write operations during recovery.
Abstract:
To efficiently recover from a multiple storage node failure, a storage node concurrently restores data fragments to the multiple failed storage nodes, as opposed to restoring each node individually. In the VCS based storage technique, storage nodes are restored as part of an ECG repair process. For each ECG being repaired, a storage node performing the restoration process reads data fragments from active nodes in the ECG and generates new data fragments to replace any lost data fragments. The node then stores one of the new data fragments across each of the failed storage nodes. By concurrently restoring data fragments to each failed storage node, the data fragments needed to repair each ECG are only read once, thereby preserving disk operations and network bandwidth.
Abstract:
To efficiently recover from a multiple storage node failure, a storage node concurrently restores data fragments to the multiple failed storage nodes, as opposed to restoring each node individually. In the VCS based storage technique, storage nodes are restored as part of an ECG repair process. For each ECG being repaired, a storage node performing the restoration process reads data fragments from active nodes in the ECG and generates new data fragments to replace any lost data fragments. The node then stores one of the new data fragments across each of the failed storage nodes. By concurrently restoring data fragments to each failed storage node, the data fragments needed to repair each ECG are only read once, thereby preserving disk operations and network bandwidth.
Abstract:
Technology is disclosed for storing data in a distributed storage system using a virtual chunk service (VCS). In the VCS based storage technique, a storage node (“node”) is split into multiple VCSs and each of the VCSs can be assigned a unique ID in the distributed storage. A set of VCSs from a set of nodes form a storage group, which also can be assigned a unique ID in the distributed storage. When a data object is received for storage, a storage group is identified for the data object, the data object is encoded to generate multiple fragments and each fragment is stored in a VCS of the identified storage group. The data recovery process is made more efficient by using metadata, e.g., VCS to storage node mapping, storage group to VCS mapping, VCS to objects mapping, which eliminates resource intensive read and write operations during recovery.
Abstract:
A method, non-transitory computer readable medium, and storage platform computing apparatus that obtains a lifecycle management policy and configuration information for a cloud repository identified in the lifecycle management policy. The configuration information includes at least one access parameter for the cloud repository. The lifecycle management policy is applied to determine when an object is required to be replicated to the cloud repository in response to a received write request. A request to store the object in the cloud repository is generated, when the object is determined to be required to be stored in the cloud repository, wherein the request includes the access parameter. The request is sent to the cloud repository using a representational state transfer (REST) interface associated with the cloud repository.
Abstract:
A storage management computing device obtains an information lifecycle management (ILM) policy. A data protection scheme to be applied at a storage node computing device level is determined and a plurality of storage node computing devices are identified based on an application of the ILM policy to metadata received from one of the storage node computing devices and associated with an object ingested by the one of the storage node computing devices. The one of the storage node computing devices is instructed to generate one or more copies of the object or fragments of the object according to the data protection scheme and to distribute the object copies or one of the object fragments to one or more other of the storage node computing devices to be stored by at least the one or more other storage node computing devices on one or more disk storage devices.
Abstract:
A storage management computing device obtains an information lifecycle management (ILM) policy. A data protection scheme to be applied at a storage node computing device level is determined and a plurality of storage node computing devices are identified based on an application of the ILM policy to metadata received from one of the storage node computing devices and associated with an object ingested by the one of the storage node computing devices. The one of the storage node computing devices is instructed to generate one or more copies of the object or fragments of the object according to the data protection scheme and to distribute the object copies or one of the object fragments to one or more other of the storage node computing devices to be stored by at least the one or more other storage node computing devices on one or more disk storage devices.
Abstract:
Distributed storage systems frequently use a centralized metadata repository that stores metadata in an eventually consistent distributed database. However, a metadata repository cannot be relied upon for determining which erasure coded fragments are lost because of a storage node(s) failures. Instead, when recovering a failed storage node, a list of missing fragments is generated based on fragments stored in storage devices of available storage nodes. A storage node performing the recovery sends a request to one or more of the available storage nodes for a fragment list. The fragment list is generated, not based on a metadata database, but on scanning storage devices for fragments related to the failed storage node. The storage node performing the recovery merges retrieved lists to create a master list indicating fragments that should be regenerated for recovery of the failed storage node(s).
Abstract:
Techniques are described for reserving space on a destination node or volume for increasing the likelihood of a successful data transfer in a distributed storage environment. A reservation may be retried at one or more destinations if the reservation fails at a first destination. In some embodiments, the data-transfer process can be paused or terminated prior to data being transferred to one or more destinations if a reservation fails. Reserving space on a destination node or volume can increase the likelihood of a successful data transfer, which can increase the likelihood of efficient resources usage in a storage system.
Abstract:
To ensure that there is an elected manager among storage nodes of an erasure coding group (“ECG”), an ECG manager (“ECGM”) election process is periodically performed among available storage nodes that are configured with the software to perform the services of an ECGM. When a storage node is activated, an ECGM process of the storage node begins executing and is assigned a process identifier (“PID”). A storage node can utilize a service query framework to identify other available storage nodes and retrieve their ECGM PIDs. The storage node then selects a PID according to a criterion and elects the storage node corresponding to the selected PID to be the acting ECGM. This process is performed periodically, so even if the acting ECGM storage node fails, a new ECGM is eventually selected from the available storage nodes.