Abstract:
Systems and methods herein obtain snapshots of one or more applications, while having minimal impact on performance of the applications. Embodiments may involve obtaining snapshots of modified application data within a node without disturbing the operations of the application. Systems may be configured to leverage the fast characteristics of local storage devices while utilizing the advantages provided by the remote storage of data. One or more applications may be preconfigured to record data modifications in one or more associated application state storages located on local memory. Further, one or more systems may operate in the background to identify modifications made to the associated application state storages and to determine an appropriate moment to take one or more snapshots of the stored data and transfer the one or more snapshots to one or more remote locations to be stored. Several factors may be used to determine when an appropriate moment has occurred.
Abstract:
A storage system provides highly flexible data layouts that can be tailored based on reliability considerations. The system allocates reliability values to logical containers at an upper logical level of the system based, for example, on objectives established by reliability SLOs. Based on the reliability value, the system identifies a specific parity group from a lower physical storage level of the system for storing data corresponding to the logical container. After selecting a parity group, the system allocates the data to physical storage blocks within the parity group. In embodiments, the system attaches the reliability value information to the parity group and the physical storage units storing the data. In this manner, the underlying physical layer has a semantic understanding of reliability considerations related to the data stored at the logical level. Based on this semantic understanding, the system has the capability to prioritize data operations on the physical storage units according to the reliability values attached to the parity groups.
Abstract:
Systems and methods herein obtain snapshots of one or more applications, while having minimal impact on performance of the applications. Embodiments may involve obtaining snapshots of modified application data within a node without disturbing the operations of the application. Systems may be configured to leverage the fast characteristics of local storage devices while utilizing the advantages provided by the remote storage of data. One or more applications may be preconfigured to record data modifications in one or more associated application state storages located on local memory. Further, one or more systems may operate in the background to identify modifications made to the associated application state storages and to determine an appropriate moment to take one or more snapshots of the stored data and transfer the one or more snapshots to one or more remote locations to be stored. Several factors may be used to determine when an appropriate moment has occurred.
Abstract:
Systems and methods which provide for obtaining snapshots of one or more nodes, while having minimal impact on performance and throughput of the storage network are provided. Embodiments may involve a method of obtaining snapshots of individual node data within a clustered storage network having a plurality of nodes without requiring quiescing of every node. The snapshots may be obtained in a rolling fashion, e.g., moving across the individual nodes of a cluster either sequentially or non-sequentially. In other embodiments snapshots may be obtained in an asynchronous manner. The obtained snapshots then collectively define an eventually consistent view of the entire system. Such a view may be utilized to provide for mirroring functionality, e.g. to provide for DR and/or HA capabilities.
Abstract:
Systems and methods which provide for obtaining snapshots of one or more nodes, while having minimal impact on performance and throughput of the storage network are provided. Embodiments may involve a method of obtaining snapshots of individual node data within a clustered storage network having a plurality of nodes without requiring quiescing of every node. The snapshots may be obtained in a rolling fashion, e.g., moving across the individual nodes of a cluster either sequentially or non-sequentially. In other embodiments snapshots may be obtained in an asynchronous manner. The obtained snapshots then collectively define an eventually consistent view of the entire system. Such a view may be utilized to provide for mirroring functionality, e.g. to provide for DR and/or HA capabilities.
Abstract:
A storage system provides highly flexible data layouts that can be tailored to various different applications and use cases. The system dynamically balances performance with block sharing, based on service level objectives (SLOs). The system defines several types of data containers, including “regions”, “logical extents” and “slabs”. Each region includes one or more logical extents. Allocated to each logical extent is at least part of one or more slabs allocated to the region that includes the extent. Each slab is a set of blocks of storage from one or more physical storage devices. The slabs can be defined from a heterogeneous pool of physical storage. The system also maintains multiple “volumes” above the region layer. Each volume includes one or more logical extents from one or more regions. Layouts of the extents within the regions are not visible to any of the volumes.