Method and apparatus for synchronous data mirroring
First Claim
1. A method of operating a destination storage server to mirror a primary volume maintained by a source storage server, the method comprising:
- receiving, at the destination storage server, a plurality of log entries from the source storage server, the plurality of log entries representing write requests received by the source storage server;
writing the received log entries to a file maintained by the destination storage server;
receiving, at the destination storage server, data from the source storage server during a synchronization phase of a consistency point, the consistency point being one of a plurality of regularly occurring consistency points, each characterized by the saving of data specified by write requests in a set of non-volatile storage devices managed by a RAID layer in the source storage server and in a set of non-volatile storage devices managed by a RAID layer in the destination storage server, wherein said data received at the destination storage server from the source storage server during the synchronization phase of the consistency point include volume block number updates from the source storage server;
using the data received at the destination storage server from the source storage server during the synchronization phase of the consistency point, including the volume block number updates, to update a mirror volume maintained by the destination storage server, via the RAID layer in the destination storage server; and
using log entries from the file to update the mirror volume.
1 Assignment
0 Petitions
Accused Products
Abstract
A synchronous data mirroring technique includes a log forwarding process and a consistency point (CP) process. During log forwarding, a source storage server receives write requests from clients, creates a log entry for each request in nonvolatile memory, and transmits each log entry to a destination storage server at a mirror site. The destination storage server writes each log entry to a file. If a primary volume becomes inaccessible due to a failure, the file is used to produce an updated mirror volume. The CP process includes updating a primary volume based on the write requests, and updating the mirror volume to reflect the updated primary volume. The mirror volume is updated by transmitting CP data from the source storage server to the destination storage server, and using the CP data to update the mirror volume through a network administration layer and a storage layer in the destination storage server.
145 Citations
18 Claims
-
1. A method of operating a destination storage server to mirror a primary volume maintained by a source storage server, the method comprising:
-
receiving, at the destination storage server, a plurality of log entries from the source storage server, the plurality of log entries representing write requests received by the source storage server; writing the received log entries to a file maintained by the destination storage server; receiving, at the destination storage server, data from the source storage server during a synchronization phase of a consistency point, the consistency point being one of a plurality of regularly occurring consistency points, each characterized by the saving of data specified by write requests in a set of non-volatile storage devices managed by a RAID layer in the source storage server and in a set of non-volatile storage devices managed by a RAID layer in the destination storage server, wherein said data received at the destination storage server from the source storage server during the synchronization phase of the consistency point include volume block number updates from the source storage server; using the data received at the destination storage server from the source storage server during the synchronization phase of the consistency point, including the volume block number updates, to update a mirror volume maintained by the destination storage server, via the RAID layer in the destination storage server; and using log entries from the file to update the mirror volume. - View Dependent Claims (2, 3, 4)
-
-
5. A method of mirroring data, the method comprising:
-
at a source storage server, receiving a plurality of write requests from a set of clients; creating log entries for the write requests in the source storage server; transmitting the log entries to a destination storage server at a mirror site; writing the log entries to a file corresponding to the source storage server in the destination storage server; and at a consistency point of a plurality of regularly occurring consistency points, causing a primary volume implemented in a set of non-volatile storage devices maintained by a RAID layer in the source storage server to be updated based on the write requests, and during a synchronization phase of the consistency point, causing a mirror volume implemented in a set of non-volatile storage devices maintained by a RAID layer in the destination storage server at the mirror site to be updated to reflect the updated primary volume, by transmitting consistency point data from the source storage server to the destination storage server, the consistency point data including volume block number updates from the source storage server, receiving the consistency point data at the destination storage server, updating the mirror volume through the RAID layer in the destination storage server based on the received consistency point data, and using log entries from the file to update the mirror volume. - View Dependent Claims (6, 7, 8)
-
-
9. A method of mirroring data, the method comprising:
-
performing a log forwarding process that includes at a source file server, receiving a plurality of write requests from a set of clients, creating a log entry for each of the write requests in a nonvolatile memory in the source file server, transmitting the log entry for each of the write requests to a destination file server at a mirror site, and writing the log entry to a file of log entries corresponding to the source file server in the destination file server; at a consistency point of a plurality of regularly occurring consistency points, performing a data synchronization process that includes causing a RAID primary volume implemented in a set of disks maintained by the source file server to be updated based on the write requests, by communicating through a RAID software layer in the source file server, and causing a RAID mirror volume implemented in a set of disks maintained by the destination file server at the mirror site to be updated to reflect the updated RAID primary volume, by transmitting consistency point data from the source file server to the destination file server, the consistency point data including volume block number updates from the source file server, receiving the consistency point data at the destination file server, and updating the RAID mirror volume through a RAID software layer in the destination file server based on the received consistency point data; and using log entries from the file to update the RAID mirror volume. - View Dependent Claims (10, 11, 12)
-
-
13. A storage server comprising:
-
a network interface to communicate with a remote storage server; a RAID layer to maintain a mirror volume of data reflecting a primary volume of data maintained by the remote storage server; a file system to receive a plurality of log entries from the remote storage server, the log entries representing write requests received by the remote storage server from a set of clients, wherein the file system layer further is to write the log entries to a file and, in the event of a failure, to use the file update a mirror volume of the primary volume; and a network administration unit to receive consistency point data from the remote storage server at a consistency point of a plurality of regularly occurring consistency points, each consistency point characterized by the saving of data specified by write requests in a set of non-volatile storage devices managed by the RAID layer in the storage server and in a set of non-volatile storage devices managed by a RAID layer in the remote storage server, wherein the received consistency point data include volume block number updates from the remote storage server, the network administration unit further to respond to the received consistency point data by causing the RAID layer to use the consistency point data to update the mirror volume. - View Dependent Claims (14, 15, 16, 17)
-
-
18. An apparatus for mirroring data, the apparatus comprising:
-
means for receiving a plurality of log entries from a remote storage server, the plurality of log entries representing write requests received by the remote storage server; means for writing the log entries to a file; means for receiving consistency point data from the remote storage server at a consistency point of a plurality of regularly occurring consistency points, each consistency point characterized by the saving of data specified by write requests in a set of non-volatile storage devices managed by a RAID layer in a local storage server and in a set of non-volatile storage devices managed by a RAID layer in the remote storage server, wherein the received consistency point data include volume block number updates from the remote storage server, means for using the consistency point data, including the volume block number updates, to update a mirror volume through the RAID software layer in the local storage server, and means for using the log entries in the file to update the mirror volume.
-
Specification