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 storage manager can reduce the overhead of parity based fault tolerance by leveraging the access performance of SSDs for the parities. Since reading a parity value can be considered a small read operation, the reading of parity from an SSD is an effectively “free” operation due to the substantially greater SSD read performance. With reading parity being an effectively free operation, placing parity on SSDs eliminates the parity read operations (in terms of time) from the parity based fault tolerance overhead. A storage manager can selectively place parity on SSDs from HDDs based on a criterion or criteria, which can relate to frequency of access to the data corresponding to the parity. The caching criterion can be defined to ensure the reduced overhead gained by reading parity values from a SSD outweighs any costs (e.g., SSD write endurance).
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 system and method of negotiated takeover of storage objects includes one or more processors, a storage controller, and memory coupled to the one or more processors. The memory stores a data structure that includes information about a plurality of storage objects manageable by the storage controller. The storage controller is configured to assume, one by one, current ownership of a first subset of the storage objects and assume, concurrently, current ownership of a second subset of the storage objects. The first subset of storage objects and the second subset of storage objects are currently owned by a second storage server coupled to the storage server. In some embodiments, current ownership of the first subset of storage objects is transferred by iteratively detecting a particular storage object from the first subset of the storage objects whose current ownership can be assumed and bringing the particular storage object online.
Abstract:
A system and method for utilizing a network-based file system from a client terminal. In examples described herein, an input command is processed on a client terminal for use of the network-based file system. A task is initiated in response to the input command. The performance of the task includes concatenating multiple file system operations associated with the input command and communicating the multiple file system operations to the network-based file system as a single communication. One or more replies to the one or more file system operations are asynchronously processed.
Abstract:
Described herein are method and apparatus for servicing software components of nodes of a cluster storage system. During data-access sessions with clients, client IDs and file handles for accessing files are produced and stored to clients and stored (as session data) to each node. A serviced node is taken offline, whereby network connections to clients are disconnected. Each disconnected client is configured to retain its client ID and file handles and attempt reconnections. Session data of the serviced node is made available to a partner node (by transferring session data to the partner node). After clients have reconnected to the partner node, the clients may use the retained client IDs and file handles to continue a data-access session with the partner node since the partner node has access to the session data of the serviced node and thus will recognize and accept the retained client ID and file handles.
Abstract:
Systems and techniques for managing data storage are disclosed. In some aspects, a front-end node responds to a request to write an object by dividing the object into multiple source data segments. The front-end node generates redundancy data for the multiple source data segments using a rateless erasure encoding. The front-end node associates a respective subset of the redundancy data with each of the multiple source data segments, wherein each subset of redundancy data and associated source data segment form an encoded segment. The rateless erasure encoding further includes defining multiple segment-level fragments within each of the encoded segments. The front-end node transmits each of the encoded segments to a selected one of multiple storage nodes, wherein each of the selected storage nodes are selected based on a determined storage layout of the encoded segments across the multiple storage nodes. For each of the received encoded segments, the storage node generates one or more protection fragments based on redundancy data generated from the segment-level fragments and stores the segment-level fragments and corresponding protection fragments across multiple storage media devices managed by the selected storage node.
Abstract:
The present disclosure provides a chassis housing an increased density of smaller storage devices. The chassis houses one or more power supplies, one or more input/output modules, and hot swappable, front accessible field replaceable units. The field replaceable units have a depth that is greater than their width and height, so as to accommodate dual storage devices one in front of the other. The proximal storage device connects to a midplane of the chassis via an interposer card situated between the proximal and distal storage devices. The interposer card conditions any signals that exhibit signal integrity problems after traversing between the midplane and the interposer card. The interposer card connects to the midplane via a bridge card and a flexible connector running underneath the distal storage device. Each field replaceable unit is placed into the front end of the chassis in a vertical orientation with respect to the chassis.
Abstract:
A method and system for managing and dynamically suppressing event notification is provided. The method and system receives an indication of an event from a storage environment to be processed by a support system according to a set of default delivery parameters. Next, the method and system determines if one or more event specific delivery parameters have been associated with the event. If this is the case, then the method and system modifies the default delivery parameters for the information associated with the event according to the one or more event specific delivery parameters. Those event specific delivery parameters are also used to determine when to transmit a notification of the event to the support system. The dynamic suppression of events combines events gathered into an event log together into a set of one or more recurring events. From these events, the method and system then identifies a high frequency subset as one or more recurring events considered to occur at a higher frequency compared with a low frequency subset having one or more recurring events that occur at a lower frequency. Based on this information gathered, the method and system then eliminates a portion of the events in the high frequency subset until the frequency of events in the high frequency subset approximates the frequency of events in the low frequency subset.
Abstract:
Methods and systems for identifying a victim storage volume from among a plurality of storage volumes based on a comparison of current Quality of Service (QOS) data with a dynamic threshold value that is based on historical QOS collected data for the plurality of storage volumes are provided. A performance manager collects the current and historical QOS data from a storage operating system of the storage system, which includes a response time in which each of the plurality of storage volumes respond to an input/output (I/O) request. The current and historical QOS data for the resources used by the victim storage volume are retrieved and compared with the current QOS data of each resource to an expected range based on the historical QOS data. Another storage volume is identified as a bully when its usage of a resource in contention contributes to creating the victim storage volume.