Unified synchronous replication for block and file objects
First Claim
1. A method of performing synchronous replication in a data storage system, comprising:
- storing, in the data storage system, a file that provides a realization of a host file system;
receiving, in a file-based format, an IO request specifying data to be written to the host file system;
mapping the IO request to a block-based request that specifies data to be written in a block-based format;
sending the block-based request to a replication appliance configured to replicate block-based requests at a replication site;
receiving an acknowledgement from the replication appliance that the data specified in the block-based request sent to the replication appliance have been persisted;
in response to receiving the acknowledgement, processing the block-based request to effect a write operation on the file that provides the realization of the host file system; and
configuring, via a GUI (graphical user interface) application, a replication session manager for establishing a set of replication settings for the host file system, wherein the GUI application accepts user input for managing a range of operations of the data storage system, including configuring pool, configuring block-based objects and configuring file-based objects.
9 Assignments
0 Petitions
Accused Products
Abstract
A technique for performing synchronous replication on both block and file-based objects provides a data storage system that internally stores data objects (e.g., LUNs, file systems, block-based vVOLs (virtual volumes), file-based vVOLs, VMDKs, etc.) in the form of respective files, such that each file provides a realization of a data object. The data storage system maps each such file to a respective logical volume, and each logical volume provides a block-based interface. As the data storage system receives IO requests specifying data to be written to a data object, the data storage system renders the IO requests as block-based requests, regardless of whether the IO requests are themselves block-based or file-based. A block-based replication splitter intercepts the block-based requests directed to the logical volumes and performs block-based, synchronous replication on the requests, thereby achieving synchronous replication of both block-based objects and file-based objects in a single, unified architecture.
-
Citations
20 Claims
-
1. A method of performing synchronous replication in a data storage system, comprising:
-
storing, in the data storage system, a file that provides a realization of a host file system; receiving, in a file-based format, an IO request specifying data to be written to the host file system; mapping the IO request to a block-based request that specifies data to be written in a block-based format; sending the block-based request to a replication appliance configured to replicate block-based requests at a replication site; receiving an acknowledgement from the replication appliance that the data specified in the block-based request sent to the replication appliance have been persisted; in response to receiving the acknowledgement, processing the block-based request to effect a write operation on the file that provides the realization of the host file system; and configuring, via a GUI (graphical user interface) application, a replication session manager for establishing a set of replication settings for the host file system, wherein the GUI application accepts user input for managing a range of operations of the data storage system, including configuring pool, configuring block-based objects and configuring file-based objects. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A data storage apparatus, comprising a set of processing units and memory, the memory coupled to the set of processing units, the set of processing units and the memory together forming a controller constructed and arranged to:
-
store, in the data storage system, a file that provides a realization of a host file system; receive, in a file-based format, an IO request specifying data to be written to the host file system; map the IO request to a block-based request that specifies data to be written in a block-based format; send the block-based request to a replication appliance configured to replicate block-based requests at a replication site; receive an acknowledgement from the replication appliance that the data specified in the block-based request sent to the replication appliance have been persisted; in response to receiving the acknowledgement, process the block-based request to effect a write operation on the file that provides the realization of the host file system; and configure, via a GUI (graphical user interface) application, a replication session manager for establishing a set of replication settings for the host file system, wherein the GUI application accepts user input for managing a range of operations of the data storage system, including configuring pools, configuring block-based objects and configuring file-based objects. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A computer program product having a non-transitory computer-readable medium including instructions which, when executed by a controller of a data storage apparatus, cause the controller to perform a method of performing synchronous replication in a data storage system, comprising:
-
storing, in the data storage system, a file that provides a realization of a host file system; receiving, in a file-based format, an IO request specifying data to be written to the host file system; mapping the IO request to a block-based request that specifies data to be written in a block-based format; sending the block-based request to a replication appliance configured to replicate block-based requests at a replication site; receiving an acknowledgement from the replication appliance that the data specified in the block-based request sent to the replication appliance have been persisted; in response to receiving the acknowledgement, processing the block-based request to effect a write operation on the file that provides the realization of the host file system; and configuring, via a GUI (graphical user interface) application, a replication session manager for establishing a set of replication settings for the host file system, wherein the GUI application accepts user input for managing a range of operations of the data storage system, including configuring block-based objects and configuring file-based objects. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification