Organization of read-write snapshot copies in a data storage system
First Claim
1. A method of operating a file server for creating and maintaining a read-write snapshot copy of a production file system, the method comprising:
- a) creating a read-only snapshot copy of the production file system; and
b) creating a read-write snapshot copy of the production file system based on the read-only snapshot copy of the production file system, and maintaining the read-write snapshot copy of the production file system by maintaining a set of save volume blocks of new data of the read-write snapshot copy of the production file system, and (i) writing to a first specified block of the read-write snapshot copy of the production file system by writing to a respective save volume block allocated to the first specified block of the read-write snapshot copy of the production file system, (ii) reading from a second specified block of the read-write snapshot copy of the production file system by checking whether there is a respective save volume block allocated to the second specified block of the read-write snapshot copy of the production file system, and upon finding that there is a respective save volume block allocated to the second specified block of the read-write snapshot copy of the production file system, reading from the respective save volume block found to be allocated to the second specified block of the read-write snapshot copy of the production file system, and (iii) reading from a third specified block of the read-write snapshot copy of the production file system by checking whether there is a respective save volume block allocated to the third specified block of the read-write snapshot copy of the production file system, and upon finding that there is not a respective save volume block allocated to the third specified block of the read-write snapshot copy of the production file system, reading the third specified block of the read-write snapshot copy of the production file system by reading from the read-only snapshot copy of the production file system.
9 Assignments
0 Petitions
Accused Products
Abstract
A file system maintains a series of read-only snapshot copies of a production file system. A read-write snapshot copy is created based on a selected read-only snapshot copy by maintaining a set of save volume blocks of new data of the read-write snapshot copy. A block of new data is written to the read-write snapshot copy by allocating a save volume block and writing to the save volume block. A specified block is read from the read-write snapshot copy by checking whether there is a respective save volume block allocated to the specified block, and if so, reading from the respective save volume block, and if not, reading from the read-only snapshot copy upon which the read-write snapshot copy is based. The read-write snapshot copy can be refreshed with a specified read-only snapshot copy. The production file can be restored with a specified read-write snapshot copy.
131 Citations
32 Claims
-
1. A method of operating a file server for creating and maintaining a read-write snapshot copy of a production file system, the method comprising:
-
a) creating a read-only snapshot copy of the production file system; and
b) creating a read-write snapshot copy of the production file system based on the read-only snapshot copy of the production file system, and maintaining the read-write snapshot copy of the production file system by maintaining a set of save volume blocks of new data of the read-write snapshot copy of the production file system, and (i) writing to a first specified block of the read-write snapshot copy of the production file system by writing to a respective save volume block allocated to the first specified block of the read-write snapshot copy of the production file system, (ii) reading from a second specified block of the read-write snapshot copy of the production file system by checking whether there is a respective save volume block allocated to the second specified block of the read-write snapshot copy of the production file system, and upon finding that there is a respective save volume block allocated to the second specified block of the read-write snapshot copy of the production file system, reading from the respective save volume block found to be allocated to the second specified block of the read-write snapshot copy of the production file system, and (iii) reading from a third specified block of the read-write snapshot copy of the production file system by checking whether there is a respective save volume block allocated to the third specified block of the read-write snapshot copy of the production file system, and upon finding that there is not a respective save volume block allocated to the third specified block of the read-write snapshot copy of the production file system, reading the third specified block of the read-write snapshot copy of the production file system by reading from the read-only snapshot copy of the production file system. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of operating a file server for providing access to a production file system and a read-write snapshot copy of the production file system, the method comprising:
-
the file server maintaining a clone volume of blocks in the production file system, a set of save volume blocks of old data from the production file system, and a set of save volume blocks of new data of the read-write snapshot copy file system, the file server writing new data to a first specified block in the production file system by copying old data from the first specified block in the clone volume to a save volume block and then writing to the first specified block in the clone volume, the file server reading a second specified block of the production file system by reading the second specified block from the clone volume, the file server writing new data to a third specified block in the read-write snapshot copy of the production file system by writing to a save volume block, and the file server reading a fourth specified block from the read-write snapshot copy of the production file system by checking whether the fourth specified block is found in the set of save volume blocks of new data of the read-write snapshot copy of the production file system, and upon finding that the fourth specified block is found in the set of save volume blocks of new data of the read-write snapshot copy of the production file system, reading the fourth specified block from the set of save volume blocks of new data of the read-write snapshot copy of the production file system. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A file server comprising:
-
means for storing a production file system;
means for creating and maintaining a series of read-only snapshot copies of the production file system; and
means for creating and maintaining read-write snapshot copies of the production file system, each of the read-write snapshot copies of the production file system being based on a respective one of the read-only snapshot copies of the production file system. - View Dependent Claims (17, 18, 19)
-
-
20. A file server for creating and maintaining a read-write snapshot copy of a production file system, the file server being programmed for creating a read-only snapshot copy of the production file system, creating a read-write snapshot copy of the production file system based on the read-only snapshot copy of the production file system, and maintaining the read-write snapshot copy of the production file system by maintaining a set of save volume blocks of new data of the read-write snapshot copy of the production file system,
wherein the file server is programmed for writing to a first specified block of the read-write snapshot copy of the production file system by writing to a respective save volume block allocated to the first specified block of the read-write snapshot copy of the production file system, and wherein the file server is programmed for reading from a second specified block of the read-write snapshot copy of the production file system by checking whether there is a respective save volume block allocated to the second specified block of the read-write snapshot copy of the production file system, and upon finding that there is a respective save volume block allocated to the second specified block of the read-write snapshot copy of the production file system, reading from the respective save volume block found to be allocated to the second specified block of the read-write snapshot copy of the production file system, and wherein the file server is programmed for reading from a third specified block of the read-write snapshot copy of the production file system by checking whether there is a respective save volume block allocated to the third specified block of the read-write snapshot copy of the production file system, and upon finding that there is not a respective save volume block allocated to the third specified block of the read-write snapshot copy of the production file system, reading the third specified block of the read-write snapshot copy of the production file system by reading from the read-only snapshot copy of the production file system.
-
26. A file server for providing access to a production file system and a read-write snapshot copy of the production file system,
the file server being programmed to maintain a clone volume of blocks in the production file system, a set of save volume blocks of old data from the production file system, and a set of save volume blocks of new data of the read-write snapshot copy file system, the file server being programmed to write new data to a first specified block in the production file system by copying old data from the first specified block in the clone volume to a save volume block and then writing to the first specified block in the clone volume, the file server being programmed to read a second specified block of the production file system by reading the second specified block from the clone volume, the file server being programmed to write new data to a third specified block in the read-write snapshot copy of the production file system by writing to a save volume block, and the file server being programmed to read a fourth specified block from the read-write snapshot copy of the production file system by checking whether the fourth specified block is found in the set of save volume blocks of new data of the read-write snapshot copy of the production file system, and if so, reading the fourth specified block from the set of save volume blocks of new data of the read-write snapshot copy of the production file system, and if not, checking whether the fourth specified block is found in the set of save volume blocks of old data from the production file system, and if so, reading the fourth specified block from the set of save volume blocks of old data from the production file system, and if not, reading the fourth specified block from the clone volume.
Specification