System and method for determining changes in two snapshots and for transmitting changes to a destination snapshot
First Claim
1. A method for backing up a computer file system, comprising:
- generating a first snapshot of the file system at a first time, the first snapshot having first pointers to data blocks of the file system at the first time;
receiving, by a network adapter, storage operations to write new data to the file system;
generating a second snapshot of the file system at a second time, the second snapshot having second pointers to data blocks of the file system at the second time, the data blocks at the second time including the new data;
comparing the first pointers to the second pointers; and
copying, in response to the second pointers differing from the first pointers, data of the file system which have been changed between the first snapshot and the second snapshot to a backup copy of the file system.
0 Assignments
0 Petitions
Accused Products
Abstract
A method for backing up a computer file system is disclosed. A first snapshot of the file system is generated at a first time, the first snapshot having first pointers to data blocks of the file system at the first time. A network adapter receives storage operations to write new data to the file system. A second snapshot of the file system is generated at a second time, the second snapshot having second pointers to data blocks of the file system at the second time, the data blocks at the second time including the new data. The first pointers to the second pointers are compared. In response to the second pointers differing from the first pointers, data of the file system which have been changed between the first snapshot and the second snapshot are copied to a backup copy of the file system.
164 Citations
37 Claims
-
1. A method for backing up a computer file system, comprising:
-
generating a first snapshot of the file system at a first time, the first snapshot having first pointers to data blocks of the file system at the first time; receiving, by a network adapter, storage operations to write new data to the file system; generating a second snapshot of the file system at a second time, the second snapshot having second pointers to data blocks of the file system at the second time, the data blocks at the second time including the new data; comparing the first pointers to the second pointers; and copying, in response to the second pointers differing from the first pointers, data of the file system which have been changed between the first snapshot and the second snapshot to a backup copy of the file system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A method for backing up a computer file system, comprising:
-
generating a first snapshot of the file system at a first time, the first snapshot having first pointers to data blocks of the file system at the first time; receiving, by a network adapter, storage operations to write new data to the file system; generating a second snapshot of the file system at a second time, the second snapshot having second pointers to data blocks of the file system at the second time, the data blocks at the second time including the new data; scanning a logical file block index of each snapshot to detect changed pointers in order to determine a one or more blocks which have changed between the first snapshot and the second snapshot; and copying, in response to the detecting changed pointers, data of the file system which have been changed between the first snapshot and the second snapshot to a backup copy of the file system.
-
-
19. A method for backing up a computer file system, comprising:
-
generating a first snapshot of the file system at a first time, the first snapshot having first pointers to data blocks of the file system at the first time; receiving, by a network adapter, storage operations to write new data to the file system; generating a second snapshot of the file system at a second time, the second snapshot having second pointers to data blocks of the file system at the second time, the data blocks at the second time including the new data; scanning a logical file block index of each snapshot to detect changed pointers in order to determine a one or more blocks which have changed between the first snapshot and the second snapshot; walking the scanner down a hierarchy of pointers associated with each logical block file index and retrieve only blocks with volume block numbers that are different in the second snapshot from the volume block numbers in the first snapshot while bypassing blocks having unchanged volume block numbers, in order to retrieve only data blocks which have changed between the first snapshot and the second snapshot; and copying, in response to locating volume block numbers in the second snapshot that are different from volume block numbers in the first snapshot, data of the file system which have been changed between the first snapshot and the second snapshot to a backup copy of the file system.
-
-
20. A computer file system apparatus, comprising:
-
a first snapshot of the file system generated at a first time, the first snapshot having first pointers to data blocks of the file system at the first time; a network adapter to receive storage operations to write new data to the file system; a second snapshot of the file system generated at a second time, the second snapshot having second pointers to data blocks of the file system at the second time, the data blocks at the second time including the new data; and a backup copy of the file system to receive copies of data of the file system which have been changed between the first snapshot and the second snapshot. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
-
35. An apparatus for backing up a computer file system, comprising:
-
a first snapshot of the file system generated at a first time, the first snapshot having first pointers to data blocks of the file system at the first time; a network adapter to receive storage operations to write new data to the file system; a second snapshot of the file system generated at a second time, the second snapshot having second pointers to data blocks of the file system at the second time, the data blocks at the second time including the new data; a logical file block index of each snapshot scanned to detect changed pointers in order to determine a one or more blocks which have changed between the first snapshot and the second snapshot; and a process to copy, in response to the detecting changed pointers, data of the file system which have been changed between the first snapshot and the second snapshot to a backup copy of the file system.
-
-
36. An apparatus for backing up a computer file system, comprising:
-
a first snapshot of the file system at a first time, the first snapshot having first pointers to data blocks of the file system at the first time; a network adapter to receive storage operations to write new data to the file system; a second snapshot of the file system generated at a second time, the second snapshot having second pointers to data blocks of the file system at the second time, the data blocks at the second time including the new data; a logical file block index of each snapshot scanned to detect changed pointers in order to determine a one or more blocks which have changed between the first snapshot and the second snapshot; a process to walk a scanner down a hierarchy of pointers associated with each logical block file index and retrieve only blocks with volume block numbers that are different in the second snapshot from the volume block numbers in the first snapshot while bypassing blocks having unchanged volume block numbers, in order to retrieve only data blocks which have changed between the first snapshot and the second snapshot; and a process to copy, in response to locating volume block numbers in the second snapshot that are different from volume block numbers in the first snapshot, data of the file system which have been changed between the first snapshot and the second snapshot to a backup copy of the file system.
-
-
37. A computer readable storage media, comprising:
-
said computer readable storage media containing program instructions for execution on a processor for a method of backing up a computer file system, the program instructions for, generating a first snapshot of the file system at a first time, the first snapshot having first pointers to data blocks of the file system at the first time; receiving, by a network adapter, storage operations to write new data to the file system; generating a second snapshot of the file system at a second time, the second snapshot having second pointers to data blocks of the file system at the second time, the data blocks at the second time including the new data; comparing the first pointers to the second pointers; and copying, in response to the second pointers differing from the first pointers, data of the file system which have been changed between the first snapshot and the second snapshot to a backup copy of the file system.
-
Specification