Abstract:
A system and method of emulating a shared storage device includes determining a storage unit identifier (SUID) associated with a first local storage device in a first node of a distributed computing system, updating a first path handler to intercept storage requests including the SUID and being made on the first node and forwarding the storage requests to drivers for an emulated shared storage device, associating a second local storage device in a second node of the distributed computing system with the SUID, updating a second path handler to intercept storage requests including the SUID and being made on the second node and forwarding the storage requests to the drivers for the emulated shared storage device, and intercepting storage requests including the SUID and being made on the second node and forwarding the storage requests to the drivers for the emulated shared storage device.
Abstract:
Method and system for providing information regarding a plurality of storage devices managed by a plurality of storage servers are provided. The storage space at the storage devices is presented to a plurality of computing systems as logical storage space. A plurality of searchable data structures having a plurality of data object types are stored at a temporary memory storage device of a management console that interfaces with the plurality of computing systems and the storage servers. Each data object type stores information regarding the storage device. The searchable data structure includes information regarding the storage devices and the logical storage space presented to the computing systems. A lock data structure for tracking locks that are assigned for accessing information pertaining to a storage server and a data object type is maintained to prevent unauthorized access to at least one of the searchable data structures.
Abstract:
Systems and methods for managing storage entities in a storage network are provided. Embodiments may provide a group of management devices to manage a plurality of storage entities in the storage network. In some instances, a storage entity hierarchy for the plurality of storage entities may be identified. At least one of a load or a health associated with a management device of the group of management devices may, in embodiments, be determined. In some embodiments, the plurality of storage entities may be managed in accordance with the identified storage entity hierarchy and based, at least in part, on the determined at least one of a load or a health.
Abstract:
A system and method for transacting data using meta-models to express data relationships is provided. In some embodiments, the method comprises requesting, from a computing system, a meta-model expressing a data relationship. The data relationship relates to a topology of a deployed computing system, and the requesting specifies the meta-model from among a plurality of data models stored within the computing system. The requested meta-model is received from the computing system, and at least a portion of the meta-model is provided to an application. A data transaction based on the meta-model is received from the application and issued. In some such embodiments, a navigational interface is provided in order to navigate the meta-model and specify the portion to provide.
Abstract:
Technology is disclosed for graphically representing classification of workloads in a storage system. Workload classification is graphically represented to the user by mapping workload signatures of the workloads to a grid. When the workload signatures are mapped to the grid, a number of clusters are formed in the grid. Each of the clusters represents workloads of a particular category. Mapping the workload signature to the grid includes mapping a high-dimensionality workload signature vector to a low-dimensionality grid.
Abstract:
A system and method of managing event tracking includes a tracking registry. The tracking registry includes a memory for storing tracking entries, a tracking entry hierarchy, and a registry interface configured to receive requests from a plurality of modules. The tracking registry opens a tracking entry based on a registry request received from a first module of the plurality of modules, and being associated with a first operation being handled by the first module and including a parent identifier of a parent tracking entry of the tracking entry, updates the tracking entry hierarchy based on the parent identifier, stores the first tracking entry in the memory, and closes the tracking entry based on an entry closing request received from a second module of the plurality of modules and being associated with completion of a second operation being handled by the second module. The second operation performs processing associated with completion of the first operation.
Abstract:
A system and method for helping customers install a modular computing system is provided. In some embodiments, the method comprises determining, using a computing system, whether all components of a modular computing system have been received by a customer. Based on determining that not all the components of the modular computing system have been received by the customer, it is determined whether the modular computing system can be incrementally deployed. A customer instruction for incrementally deploying the modular computing system is provided at a display device. A communication link is established with a component of the modular computing system. Communications directed over the communication link are used to determine whether a customer correctly performed the provided customer instruction. In one such embodiment, the determining of whether the modular computing system can be incrementally deployed includes determining whether a minimum resource requirement is met.
Abstract:
Method and system for a non-disruptive migration of a source virtual storage system from a source cluster to a destination cluster is provided. The method includes monitoring a current transfer rate for migrating information from the source cluster to the destination cluster during a migration operation; iteratively reducing a rate at which I/O requests are processed until a transfer rate for transferring the information from the source cluster to the destination cluster within the duration is reached; and entering a cutover phase for the migration operation when the virtual storage system presented by the source cluster is taken offline for the duration and after the information is migrated to the destination cluster, the virtual storage system is presented by the destination cluster.
Abstract:
A system and method for efficiently replicating data stored in a byte-addressable, persistent memory of a host computer. A user-level library of the host computer may configure the persistent memory as a software transactional memory (STM) system defined by operations, such as a STM commit operation, that ensure safe and consistent storage of the data within a region of the persistent memory. The library may then cooperate with an application executing on the host computer to control access to the data, e.g., to change the data, as a transaction using the STM commit operation. Within a context of the transaction, the library may precisely determine which bytes of the data have changed within the region, as well as how and when the data bytes have changed. Armed with precise knowledge of the context of the transaction, the library may efficiently replicate the changed data at the byte-addressable granularity.
Abstract:
The embodiments described herein provide a system and method for efficiently storing small, random modifications or changes to data on one or more storage devices, such as disks, of storage servers coupled to a host computer in a network environment. Illustratively, the data is stored in a region of a byte-addressable, persistent memory of the host computer and is replicated (i.e., copied) as changed data of the region on the disks at the granularity at which it was modified, e.g., at the byte-addressable granularity. To that end, each storage server employs a data structure (e.g., a Fibonacci array) that is configured to efficiently accumulate the small, random data changes into one or more large blocks of changed data for storage on the disks in a manner that realizes the streaming bandwidth of the disk.