System and method for file system snapshot of a virtual logical disk
First Claim
Patent Images
1. A method for generating a snapshot of a virtual logical disk of a storage system, comprising:
- operating a computer data storage system in a first computer, the first computer performing I/O operations with application buffers, the first computer writing contents of the application buffers to a file system operating in a second computer;
writing data received from the first computer into file system buffers maintained by the second computer;
maintaining a virtual logical disk by the second computer;
writing data in the file system buffers to the virtual logical disk;
receiving a backup command, the backup command initiating a backup of the virtual logical disk;
moving, in response to receiving the backup command, data contents of the application buffers of the first computer to the file system buffers of the second computer;
blocking input/output (I/O) operations directed to the virtual logical disk afterthe data contents of the application buffers of the first computer are written to the file system buffers of the second computer;
writing, in response to the application buffers of the first computer being written to the file system buffers of the second computer, the contents of the file system buffers to the virtual logical disk; and
generating a snapshot of the virtual logical disk while the I/O operations directed to the virtual logical disk are blocked.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method generates a consistent file system snapshot of a virtual logical disk (VLD). The system and method ensures that database files are stored on the VLD are consistent at the time a snapshot is generated by first flushing all buffers and then blocking I/O operations to the VLD until the snapshot is generated.
-
Citations
31 Claims
-
1. A method for generating a snapshot of a virtual logical disk of a storage system, comprising:
-
operating a computer data storage system in a first computer, the first computer performing I/O operations with application buffers, the first computer writing contents of the application buffers to a file system operating in a second computer; writing data received from the first computer into file system buffers maintained by the second computer; maintaining a virtual logical disk by the second computer; writing data in the file system buffers to the virtual logical disk; receiving a backup command, the backup command initiating a backup of the virtual logical disk; moving, in response to receiving the backup command, data contents of the application buffers of the first computer to the file system buffers of the second computer; blocking input/output (I/O) operations directed to the virtual logical disk after the data contents of the application buffers of the first computer are written to the file system buffers of the second computer; writing, in response to the application buffers of the first computer being written to the file system buffers of the second computer, the contents of the file system buffers to the virtual logical disk; and generating a snapshot of the virtual logical disk while the I/O operations directed to the virtual logical disk are blocked. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An apparatus for generating a snapshot of a virtual logical disk of a storage system, the apparatus comprising:
-
means for operating a computer data storage system in a first computer, the first computer performing I/O operations with application buffers, the first computer writing contents of the application buffers to a file system operating in a second computer; means for writing data received from the first computer into file system buffers maintained by the second computer; means for maintaining a virtual logical disk by the second computer; means for writing data in the file system buffers to the virtual logical disk; means for receiving a backup command, the backup command initiating a backup of the virtual logical disk; means for moving, in response to receiving the backup command, data contents of the application buffers of the first computer to the file system buffers of the second computer; means for blocking input/output (I/O) operations directed to the virtual logical disk after the data contents of the application buffers of the first computer are written to the file system buffers of the second computer; means for writing, in response to the application buffers of the first computer being written to the file system buffers of the second computer, the contents of the file system buffers to the virtual logical disk; and means for generating a snapshot of the virtual logical disk while the I/O operations directed to the virtual logical disk are blocked. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. Software encoded in one or more computer-readable media and when executed operable to:
-
operating a computer data storage system in a first computer, the first computer performing I/O operations with application buffers, the first computer writing contents of the application buffers to a file system operating in a second computer; writing data received from the first computer into file system buffers maintained by the second computer; maintaining a virtual logical disk by the second computer; writing data in the file system buffers to the virtual logical disk; receiving a backup command, the backup command initiating a backup of the virtual logical disk; moving, in response to receiving the backup command, data contents of the application buffers of the first computer to the file system buffers of the second computer; blocking input/output (I/O) operations directed to the virtual logical disk after the data contents of the application buffers of the first computer are written to the file system buffers of the second computer; writing, in response to the application buffers of the first computer being written to the file system buffers of the second computer, the contents of the file system buffers to the virtual logical disk; and generating a snapshot of the virtual logical disk while the I/O operations directed to the virtual logical disk are blocked. - View Dependent Claims (15, 16, 17, 18, 19)
-
-
20. A method for generating a snapshot of a virtual logical disk of a storage system, comprising:
-
operating a computer data storage system in a first computer, the first computer performing I/O operations with application buffers, the first computer writing contents of the application buffers to a file system operating in a second computer; writing data received from the first computer into file system buffers maintained by the second computer; maintaining a virtual logical disk by the second computer; writing data in the file system buffers to the virtual logical disk; issuing a backup command by a snapshot manager; receiving the backup command, the backup command initiating a backup of the virtual logical disk; moving, in response to receiving the backup command by the first computer, data contents of all application buffers of the first computer to the file system buffers of the second computer; writing, in response to the application buffers of the first computer being written to the file system buffers of the second computer, the contents of the file system buffers to the virtual logical disk; blocking all input/output (I/O) operations directed to the virtual logical disk after the data contents of the application buffers of the first computer are written to the file system buffers of the second computer; generating a snapshot of the virtual logical disk while the I/O operations directed to the virtual logical disk are blocked. - View Dependent Claims (21, 22, 23)
-
-
24. A method for generating a snapshot of a virtual logical disk of a storage system, comprising:
-
operating a computer data database system in a first computer, the first computer performing I/O operations with application buffers, the first computer writing contents of the application buffers to a file system operating in a second computer; writing data received from the first computer into file system buffers maintained by the second computer; maintaining a virtual logical disk by the second computer; writing data in the file system buffers to the virtual logical disk; receiving a backup command, the backup command initiating a backup of the first computer; moving, in response to receiving the backup command, data contents of the application buffers of the first computer to the file system buffers of the second computer; blocking output of the first computer from being sent to the second computer after the data contents of the application buffers of the first computer are moved to the file system buffers of the second computer; writing the contents of the file system buffers of the second computer to the virtual logical disk after output from the first computer is blocked from being sent to the second computer; and generating a snapshot of the virtual logical disk while the output of the first computer is blocked from being sent to the second computer. - View Dependent Claims (25, 26, 27, 28, 29)
-
-
30. A method for generating a snapshot of a virtual logical disk of a storage system, comprising:
-
operating a computer database system in a first computer, the first computer performing I/O operations with application buffers, the first computer writing contents of the application buffers to a file system operating in a second computer; writing data received from the first computer into file system buffers maintained by the second computer; maintaining a virtual logical disk by the second computer; writing data in the file system buffers to the virtual logical disk; moving, in response to receiving the backup command, data contents of one or more application buffers of the first computer to the file system buffers of the second computer emulating a physical disk attached to an application using the virtual logical disk, wherein a driver within the application provides support for mapping block access commands to file level protocol; receiving a backup command, the backup command initiating a backup of the virtual logical disk; moving, in response to receiving the backup command, data contents of one or more application buffers of the first computer to the file system buffers of the second computer; blocking input/output (I/O) operations directed to the virtual logical disk after data contents of the one or more application buffers of the first computer are moved to the file system buffers of the second computer, and writing data contents of the file system buffers to the virtual logical disk after the application buffers of the first computer are moved to the file system buffers of the second computer; generating a snapshot of the virtual logical disk while the I/O operations directed to the virtual logical disk are blocked.
-
-
31. A storage system, comprising:
-
a computer data storage system operating on a first computer, the first computer performing I/O operations with application buffers, the first computer writing contents of the application buffers to a file system operating in a second computer; file system buffers maintained by the second computer, the contents of the application buffers of the first computer to be written into the file system buffers of the second computer; a virtual logical disk maintained by the second computer, data written into the file system buffers to be written to the virtual logical disk; a backup command to initiate a backup of the virtual logical disk; data contents of the application buffers of the first computer to be moved to the file system buffers of the second computer in response to receiving the backup command; input/output (I/O) operations directed to the virtual logical disk blocked, after data contents of the application buffers of the first computer are moved to the file system buffers of the second computer; the contents of the file system buffers of the second computer to be written to the virtual logical disk, in response to the application buffers of the first computer being written to the file system buffers of the second computer; and a snapshot of the virtual logical disk generated while the I/O operations directed to the virtual logical disk are blocked.
-
Specification