Claims
- 1. A method of resynchronizing mirrored storage devices, the method comprising:
mirroring a first storage apparatus with a second storage apparatus; determining a difference between data stored in the second storage apparatus and data stored in the first storage apparatus; and in the event the first storage apparatus loses synchronization with the second storage apparatus, resynchronizing the first storage apparatus by copying the difference to the first storage apparatus.
- 2. The method of claim 1 further comprising:
servicing data write requests by writing data to the first storage apparatus while resynchronizing the first storage apparatus.
- 3. The method of claim 1 further comprising:
servicing data read requests by reading data from the second storage apparatus while resynchronizing the first storage apparatus.
- 4. The method of claim 1 wherein determining the difference between data stored in the second storage apparatus and data stored in the first storage apparatus further comprises:
reading a first storage usage information and a second storage usage information; identifying data in the first storage usage information and data in the second storage usage information; and finding blocks that correspond to data that are in the second storage usage information but not in the first storage usage information.
- 5. The method of claim 1 wherein the first storage apparatus and the second storage apparatus are configured in accordance with RAID level 4.
- 6. A system comprising:
a first storage device and a second storage device forming a mirrored pair of storage devices; a storage device manager configured to manage the first storage device and the second storage device; and wherein the storage device manager is configured to resynchronize the second storage device with data blocks allocated in the first storage device but not in the second storage device.
- 7. The system of claim 6 further comprising:
a file system at a logical layer above the storage device manager and configured to send storage-related commands to the storage device manager.
- 8. The system of claim 7 further comprising:
a network interface in communication with the file system, the network interface being configured to receive storage-related requests over a computer network.
- 9. The system of claim 6 wherein the first storage device and the second storage device are configured in accordance with RAID level 4.
- 10. The system of claim 6 wherein the storage device manager is configured to service storage-related requests while resynchronizing the second storage device.
- 11. A method of resynchronizing mirrored storage devices, the method comprising:
creating a first storage usage information at a first moment and a second storage usage information at a second moment; determining a difference between the first storage usage information and the second storage usage information; and based on the difference, resynchronizing a first storage device that forms a mirror with a second storage device.
- 12. The method of claim 11 further comprising:
servicing data write requests by writing data to the first storage device while resynchronizing the first storage device.
- 13. The method of claim 11 further comprising:
servicing data read requests by reading data from the second storage device while resynchronizing the first storage device.
- 14. The method of claim 11 wherein determining the difference between the first storage usage information and the second storage usage information further comprises:
reading the first storage usage information and the second storage usage information; identifying blocks in the first storage usage information and blocks in the second storage usage information; and finding blocks that are in the second storage usage information but not in the first storage usage information.
- 15. The method of claim 11 wherein the mirror is implemented in a logical layer below a file system.
- 16. The method of claim 11 wherein the first storage device and the second storage device are configured in accordance with RAID level 4.
- 17. The method of claim 11 further comprising:
going from a normal state to a degraded state when the first storage device becomes inaccessible; going from the degraded state to a resync state when resynchronizing the first storage device; and going from the resync state to the normal state after resynchronizing the first storage device.
- 18. The method of claim 17 further comprising:
writing new data to the first storage device while in the resync state.
- 19. The method of claim 17 further comprising:
reading data from the second storage device while in the resync state.
- 20. The method of claim 17 wherein the first storage usage information is created while in the normal state and the second storage usage information is created while in the resync state.
- 21. A computer-readable storage medium comprising:
computer-readable program code for creating a first storage usage information and a second storage usage information; computer-readable program code for determining a difference between the first storage usage information and the second storage usage information; and computer-readable program code for resynchronizing a previously down storage device with another storage device based on the difference.
- 22. A method of resynchronizing a storage device, the method comprising:
creating a first storage usage information when a first storage device and a second device that form a mirror are both accessible; creating a second storage usage information after the first storage device goes down and comes back up; determining a difference between the first storage usage information and the second storage information; resynchronizing the first storage device with the second storage device based on the difference; and servicing data write requests by writing data to the first storage device while resynchronizing the first storage device.
- 23. The method of claim 22 further comprising:
servicing data read requests by reading data from the second storage device while resynchronizing the first storage device.
- 24. The method of claim 22 wherein the first storage device and the second storage device are configured in accordance with RAID level 4.
- 25. A method of resynchronizing mirrored storage devices, the method comprising:
keeping a mirror in a normal state while a first storage device and a second storage device of the mirror are both accessible; transitioning the mirror from the normal state to a degraded state when the second storage device becomes inaccessible; transitioning the mirror from the degraded state to a resync state when the second storage device becomes accessible; determining a difference between data stored in the first storage device and data stored in the second storage device; and transitioning the mirror from the resync state to the normal state after the difference is copied to the second storage device.
- 26. The method of claim 25 wherein determining the difference between data stored in the first storage device and data stored in the second storage device comprises:
identifying data blocks in the first storage device that are not in the second storage device.
- 27. The method of claim 25 wherein determining the difference between data stored in the first storage device and data stored in the second storage device comprises:
identifying data blocks stored in the first storage device and the second storage device while the mirror is in the normal state to create a first storage usage information; identifying data blocks stored in the first storage device while the mirror is in the resync state to create a second storage usage information; and determining a difference between the first storage usage information and the second storage usage information.
- 28. The method of claim 25 further comprising:
in response to a write command, writing data to the second storage device while the mirror is in the resync state.
- 29. A system for providing data storage services over a computer network, the system comprising:
a file system; a storage device manager configured to service data access requests from the file system, the storage device manager configured to form a mirror with a first storage device and a second storage device; and wherein the storage device manager is configured to resynchronize the second storage device with data determined to be in the first storage device but not in the second storage device.
- 30. The system of claim 29 wherein the first storage and the second storage device are configured in accordance with RAID level 4.
- 31. The system of claim 29 wherein the first storage device and the second storage device are not housed in the same facility.
- 32. A method of resynchronizing mirrored storage devices, the method comprising:
mirroring a first group of storage devices with a second group of storage devices; determining a difference between data stored in the second group of storage devices and data stored in the second group of storage devices; and in the event the first group of storage devices loses synchronization with the second group of storage devices, resynchronizing the first group of storage devices by copying the difference to the first group of storage devices.
- 33. The method of claim 32 further comprising:
servicing data write requests by writing data to the first group of storage devices while resynchronizing the first group of storage devices.
- 34. The method of claim 32 further comprising:
servicing data read requests by reading data from the second group of storage devices while resynchronizing the first group of storage devices.
- 35. The method of claim 32 wherein determining the difference between data stored in the second group of storage devices and data stored in the second group of storage devices further comprises:
reading a first storage usage information and a second storage usage information; identifying data in the first storage usage information and data in the second storage usage information; and finding blocks that correspond to data that are in the second storage usage information but not in the first storage usage information.
- 36. The method of claim 32 wherein the first group of storage devices and the second group of storage devices are configured in accordance with RAID level 4.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application is a continuation-in-part of U.S. application Ser. No. 09/684,487 (Atty. Docket No. 103.1031/P00-1031), filed on 10/4/2000 by Srinivasan Viswanathan and Steven R. Kleiman, entitled “Recovery of File System Data in File Servers Mirrored File System Volumes”. The just mentioned U.S. application is incorporated herein by reference in its entirety.
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
09684487 |
Oct 2000 |
US |
Child |
10154414 |
May 2002 |
US |