Distributed storage array
First Claim
1. A method for asynchronous backup of virtual disks in a distributed storage array, comprising:
- receiving an IO stream at the virtual disks in the distributed storage array;
writing data to one or more storage cells of the virtual disks in the distributed storage array, and logging completed writes in a first batch for each of the one or more storage cells;
establishing a consistency point in the IO stream;
terminating logging to the first batch for each of the one or more storage cells at the consistency point and logging completed writes after the consistency point to a new batch for each of the one or more storage cells; and
transferring writes logged in the first batch to at least one remote storage so that the at least one remote storage is crash consistent.
4 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for asynchronous backup of virtual disks in a distributed storage array are disclosed. An exemplary method may comprise receiving an IO stream at the virtual disks in the distributed storage array, writing data to one or more storage cells of the virtual disks in the distributed storage array, and logging completed writes in a first batch for each of the one or more storage cells. The method also comprises establishing a consistency point in the IO stream, terminating logging to the first batch for each of the one or more storage cells at the consistency point and logging completed writes after the consistency point to a new batch for each of the one or more storage cells. The method also comprises transferring writes logged in the first batch to at least one remote storage so that the at least one remote storage is crash consistent.
45 Citations
31 Claims
-
1. A method for asynchronous backup of virtual disks in a distributed storage array, comprising:
-
receiving an IO stream at the virtual disks in the distributed storage array;
writing data to one or more storage cells of the virtual disks in the distributed storage array, and logging completed writes in a first batch for each of the one or more storage cells;
establishing a consistency point in the IO stream;
terminating logging to the first batch for each of the one or more storage cells at the consistency point and logging completed writes after the consistency point to a new batch for each of the one or more storage cells; and
transferring writes logged in the first batch to at least one remote storage so that the at least one remote storage is crash consistent. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method for batch transition during asynchronous backup of a distributed storage array, comprising:
-
querying a plurality of storage cells in the distributed storage array for a current Batch ID;
broadcasting the largest Batch ID incremented by one (M+1) to the plurality of storage cells in the distributed storage array;
suspending cache commits for pending and incoming writes at the plurality of storage cells to establish a consistency point; and
setting the Batch ID at the plurality of storage cells to the largest Batch ID incremented by one (M+1) for recording the pending and incoming writes in a new batch after the consistency point. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A method for batch transition during asynchronous backup of virtual disks in a distributed storage array, comprising:
-
querying at least a quorum of storage cells in the distributed storage array for a current Batch ID;
broadcasting the largest Batch ID incremented by one (M+1) along with a transition time to at least the quorum of storage cells in the distributed storage array;
setting the Batch ID for at least the quorum of storage cells to the largest Batch ID incremented by one (M+1) at the transition time;
logging completed writes having a timestamp prior to the transition time in an old batch; and
logging completed writes having a timestamp at or after the transition time in a new batch. - View Dependent Claims (18, 19, 20, 21, 22)
-
-
23. A system comprising:
-
a distributed storage array having a plurality of storage cells;
a logging service operatively associated with the plurality of storage cells, the logging service;
logging completed writes in a first batch for each of the storage cells, establishing a consistency point for terminating logging to the first batch, and logging completed writes for each of the one or more storage cells after the consistency point to a new batch; and
a remote storage for recording writes logged in the first batch such that the remote storage is a mirror image of the plurality of storage cells as of the consistency point. - View Dependent Claims (24, 25, 26, 27, 28, 29)
-
-
30. A distributed storage array with asynchronous backup, comprising:
-
first batch means for logging completed writes for each of a plurality of storage cells;
means for terminating logging by the first batch means at a consistency point;
second batch means for logging completed writes after the consistency point; and
means for transferring the completed writes by the first batch means to a remote storage for maintaining a mirror image of the plurality of storage cells consistent to the consistency point. - View Dependent Claims (31)
-
Specification