摘要:
A system for managing distributed storage includes a collection of one or more compute sites that are connected and that perform a joint computation. A witness node is connected to the one or more compute sites. A membership service allows a change in collection membership, in response to a failure, to continue the joint computation without causing data inconsistency or corruption. If the membership service is unable to reach a decision on the change in collection membership in response to the failure, the witness node controls the decision on the change in collection membership to continue the joint computation. A distributed storage system provided by the system described herein may advantageously meet consistency guarantees and maximize data access even when individual compute sites and/or their interconnects fail.
摘要:
Handling asynchronous data provided by at least two sources includes synchronizing data between the at least two sources, coordinating cycle switching between the at least two sources, where an asynchronous cycle of data from one of the sources corresponds to an asynchronous cycle of data from an other one of the sources, receiving asynchronous data corresponding to a data cycle from at least one of the sources, and saving at least some of the received data. A first portion of data for a particular cycle may be transmitted from one of the sources and a second portion of data for the particular cycle, different from the first portion of data, may be transmitted from an other one of the sources and the first portion and the second portion together may correspond to all of the data for the particular cycle.
摘要:
Migrating an active VM from a first data center to a second data center having a passive counterpart of the active VM includes freezing the active VM at the first data center, creating an active VM at the second data center that corresponds to the passive counterpart, and restarting the active VM at the second data center. Migrating an active VM from a first data center to a second data center may also include waiting for the passive counterpart to be synchronized with the active VM at the first data center prior to converting the passive counterpart. Creating the active VM at the second data center may include providing a snapshot of a volume containing the passive VM.
摘要:
Described are techniques for performing dynamic binding of device identifiers to data storage devices. A first device identifier assigned to an application on a host is received. The first device identifier is a unique detachable device identifier dynamically bound to different data storage devices at different points in time in accordance with data storage devices used by the application. The first device identifier is attached to a first data storage device of the data storage system used by the application at a first point in time. The first device identifier is detached from the first data storage device thereby making the first data storage device unavailable for data operations from the application. The first device identifier is attached to a second data storage device used by the application at a second point in time thereby making the second data storage device available for data operations from the application.
摘要:
Sharing at least one link among a plurality of processes includes determining a capacity of the at least one link based on a number of I/O operations per unit time supported by the at least one link as a function of the amount of data provided by each of the I/O operations, determining a requirement of each of the processes based on user specifications and an amount of data provided by each I/O operation for each of the processes, and apportioning link capacity among the processes according to the requirement of each of the processes. In response to a sum of requirements for each of the processes being less than the capacity of the at least one link, additional link capacity may be provided to at least some of the processes.
摘要:
A mechanism to support remote mirroring of storage devices by data storage systems in a one-to-many switched environment. Each data storage system includes a disk director that is adapted to control at least one device group that is supported in a mirrored configuration with a corresponding device group controlled by one of the other data storage systems. For each device group and corresponding device group, there are first ports associated with the device group and second ports associated with the corresponding device group. A switch element is adapted to connect one of the first ports to at least one of the second ports so that data may be exchanged between the ports for each device group and corresponding device group. The disk director selects which first port is to be connected to which second port via the switch element in the establishment of a logical link. Thus, each port connected to the switch is capable of achieving multiple connections to multiple destinations for increased connectivity, redundancy and performance (load balance) without additional hardware.
摘要:
Providing data from a volume of a remote storage device coupled to a local storage device that is coupled to a host, includes providing a command to the remote storage device to request the data, if the data is stored in a cache portion of the remote storage device, the remote storage device providing the data, and if the data is not stored in the cache portion of the remote storage device, the remote storage device causing the data to be fetched from the volume and returning one of: a disconnect or an indicator that the data was not found. Causing the data to be fetched from the volume may include creating a separate wait task that waits for the data to be fetched from the volume. The separate wait task may be created only if there is not already another wait task waiting for the same data. The wait task may post an error if the data is not fetched after a predetermined amount of time, such as four seconds. An error may be posted if the data is not fetched after a predetermined amount of time, such as eight seconds. After the data has been fetched from the volume, the remote storage device may provide a reconnect command followed by the data.
摘要:
A method, system, and computer program product for ordering a plurality of data IO captured at a primary site to be applied at a secondary site, comprising removing the one or more extent level portions from the captured data IO, determining if the one or more extent level portions are time sequenced to overwrite a portion of data of the data IO, based on a determination that the portion data is to be overwritten, removing the overwritten portion of data from the plurality of the data IO and ordering the one or more extent level portions to be applied at the secondary site before the captured data IO.
摘要:
Reversing a communication path between a first volume on a first storage device and a second volume on a second storage device includes suspending communication between the first and second volumes while maintaining operations for other volumes of the storage devices, causing the first volume to change from a source volume to a destination volume without destroying the first volume, causing the second volume to change from a destination volume to a source volume without destroying the second volume, and resuming communication between the first and second volumes. Causing the first volume to change from a source volume to a destination volume may include modifying a table of the first storage device. Causing the second volume to change from a source volume to a destination volume may include modifying a table of the second storage device.
摘要:
A system for controlling the pacing of host data writes in response to changing system conditions allows for the use of variably controlled delays that facilitate asynchronous replication with bounded lag and smooth steady-state performance. Adding delay to the writes slows down the host and dampens activity spikes. A first storage device receives a write request, transmits data to a second storage device, and acknowledges the write request. An amount of additional write response time is controlled between when the write request is received and when the write request is acknowledged by the first storage device, where the amount of additional write response time is controlled according to system parameters including an amount of lag time between when the write request is received and when the write request is committed at the second storage device.