Filesystem data integrity in a single system image environment
First Claim
1. A method for providing data integrity level one protection to changes made to a file against the loss of a node within a computer cluster having at least one server node and at least two client nodes, the method comprising the steps of:
- storing a copy of information from the file in a client cache of a first client node of the at least two client nodes, wherein the information stored in the client cache can be accessed by processes running on the first client node;
storing a copy of information from the file in a client cache of a second client node of the at least two client nodes, wherein the information stored in the client cache can be accessed by processes running on the second client node;
executing a file change to the information stored in the client cache of the first client node and storing the file change in the client cache of the first client node;
asynchronously forwarding the file change from the client cache of the first client node to the at least one server node;
performing a filesync operation, wherein the filesync operation cause the server node to update the information in the file by including the file change.
5 Assignments
0 Petitions
Accused Products
Abstract
A system for protection of filesystem data integrity within a computer cluster is provided. The system uses redundant data caches at client and server nodes within the computer cluster. Caching of filesystem data is controlled so that non-shared files are preferably cached at client nodes. This increases filesystem performance within the computer cluster and ensures that failures may not result in a loss of modified filesystem data without a corresponding loss to the process(es) accessing that data. Shared files are cached at the server node and a backup cache node. This protects modified filesystem data against any single node failure.
197 Citations
8 Claims
-
1. A method for providing data integrity level one protection to changes made to a file against the loss of a node within a computer cluster having at least one server node and at least two client nodes, the method comprising the steps of:
-
storing a copy of information from the file in a client cache of a first client node of the at least two client nodes, wherein the information stored in the client cache can be accessed by processes running on the first client node; storing a copy of information from the file in a client cache of a second client node of the at least two client nodes, wherein the information stored in the client cache can be accessed by processes running on the second client node; executing a file change to the information stored in the client cache of the first client node and storing the file change in the client cache of the first client node; asynchronously forwarding the file change from the client cache of the first client node to the at least one server node; performing a filesync operation, wherein the filesync operation cause the server node to update the information in the file by including the file change. - View Dependent Claims (2, 3)
-
-
4. A method for protecting changes made to shared files against the loss of a node within a computer cluster, the method comprising the steps of:
-
caching, by a server node, a file change requested by a process executing on a first remote node; synchronously forwarding, by the server node, the file change to a backup cache node, which is different from the first remote node; caching, by the backup cache node, the file change; performing, by the server node, a filesync operation, the filesync operation causing the server node to record the file change within a physical filesystem; and un-caching, by the backup cache node, the file change.
-
-
5. A method for providing data integrity level two protection to changes made to a file against the loss of a node within a computer cluster having at least one server node and at least two client nodes, the method comprising the steps of:
-
storing a copy of information from the file in a client cache of a first client node of the at least two client nodes, wherein the information stored in the client cache can be accessed by processes running on the first client node; storing a copy of information from the file in a client cache of a second client node of the at least two client nodes, wherein the information stored in the client cache can be accessed by processes running on the second client node; executing a file change to the information stored in the client cache of the first client node and storing the file change in the client cache of the first client node; synchronously forwarding the file change from the client cache of the first client node to the at least one server node; recording, by the server node, the file change within a filesystem; acknowledging, by the server node, receipt of the file change and completion of recording. - View Dependent Claims (6, 7, 8)
-
Specification