System and method for establishing persistent reserves to nonvolatile storage in a clustered computer environment
First Claim
1. A method of changing a reservation to a nonvolatile storage device, said method comprising:
- reserving the nonvolatile storage device by a first computer, wherein the reserving includes writing a first identifier corresponding to the first computer to a reservation storage area corresponding to the nonvolatile storage device;
sensing, at a second computer, that the first computer is inoperative;
in response to the sensing, changing the reservation to the nonvolatile storage device to the second computer, the changing including writing a second identifier corresponding to the second computer to the reservation storage area;
establishing one or more transmission paths from the second computer to the nonvolatile storage device, wherein each transmission path uses a reservation key stored in the nonvolatile storage device; and
allowing each transmission path to the communicate with the nonvolatile storage device based upon the transmission path'"'"'s reservation key.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for recovering from a failure in a clustered environment sharing a common nonvolatile storage device. The first computer reserves the device by identifying itself in a reservation key associated with the device. The first device sends a signal to one or more backup computers informing the backup computers that the first computer is operational. When the first computer fails to operate, one of the backup computers breaks the first computer'"'"'s reservation to the storage device and writes a new reservation key to the reservation storage area identifying the backup computer as the reservation holder of the storage device. When the first computer is reinitialized, it reads the reservation storage area and does not attempt to break the reservation made by the backup computer. One embodiment provides for the first computer to request control from the backup computer upon being reinitialized whereupon the backup computer releases its reservation and relinquishes control. Another embodiment provides for the first computer to act as a backup computer. Writing to the nonvolatile storage device simultaneously from multiple paths, such as from a NUMA machine, is further disclosed using a reservation key identifying the computer.
99 Citations
22 Claims
-
1. A method of changing a reservation to a nonvolatile storage device, said method comprising:
-
reserving the nonvolatile storage device by a first computer, wherein the reserving includes writing a first identifier corresponding to the first computer to a reservation storage area corresponding to the nonvolatile storage device;
sensing, at a second computer, that the first computer is inoperative;
in response to the sensing, changing the reservation to the nonvolatile storage device to the second computer, the changing including writing a second identifier corresponding to the second computer to the reservation storage area;
establishing one or more transmission paths from the second computer to the nonvolatile storage device, wherein each transmission path uses a reservation key stored in the nonvolatile storage device; and
allowing each transmission path to the communicate with the nonvolatile storage device based upon the transmission path'"'"'s reservation key. - View Dependent Claims (2, 3, 4, 5, 6, 7)
determining, at the first computer, that the reservation to the nonvolatile storage device has been changed to the second computer, the determining performed when the first computer becomes operational; and
the first computer refraining from reserving the nonvolatile storage device in response to the determination.
-
-
3. The method as described in claim 1 wherein the reserving further comprises:
-
registering a reservation key with the nonvolatile storage device; and
establishing a reserve of the nonvolatile storage device.
-
-
4. The method as described in claim 3 wherein the registering and establishing are performed in a single commuter operation.
-
5. The method as described in claim 1 further comprising:
-
breaking the reservation of the first computer to the nonvolatile storage device in response to the sensing, wherein the breaking further comprises;
registering the second identifier with the nonvolatile storage device;
revoking the reservation between the first computer and the nonvolatile storage device; and
establishing a new reserve of the nonvolatile storage device.
-
-
6. The method as described in claim 1 further comprising:
-
sending a message from the first computer to the second computer upon the first computer becoming operational after the reservation has been changed to the second computer; and
in response to the second computer receiving the message, changing the reservation to the nonvolatile storage device to the first computer, the changing including rewriting the first identifier corresponding to the first computer back to the reservation storage area.
-
-
7. The method as described in claim 1 further comprising:
-
selecting the second computer from a plurality of backup computers, the selecting further comprising;
each of the backup computers attempting to break the reservation of the first computer to the nonvolatile storage device; and
each of the backup computers attempting to establish a new reservation to the nonvolatile storage device, wherein the second computer is the first from the plurality of backup computers to successfully break the reserve of the first computer and the first to successfully establish the reservation.
-
-
8. A clustered computer system comprising:
-
a nonvolatile storage device including;
a reservation storage area; and
a nonvolatile storage area;
a first computer including;
one or more first processors;
a memory accessible by the one or more first processors;
one or more paths connecting the first computer to the nonvolatile storage device;
a second computer including;
one or more second processors;
a memory accessible by the one or more second processors;
one or more paths connecting the second computer to the nonvolatile storage device;
a first reservation stored in the reservation storage area that includes a first identifier that corresponds to the first computer; and
a reservation tool for changing the reservation stored in the reservation storage area, the reservation tool including;
means or sensing, at the second computer, that the first computer is inoperative; and
in response to the sensing, means for changing the reservation to the nonvolatile storage device to the second computer, the means for changing including means for writing a second identifier corresponding to the second computer to the reservation storage area. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
means for determining, at the first computer, that the reservation to the nonvolatile storage device has beer changed to the second computer, the means for determining performed when the first computer becomes operational; and
means for the first computer to refrain from reserving the nonvolatile storage device in response to the determination.
-
-
10. The clustered computer system as described in claim 8 wherein the reservation tool further comprises:
-
means for establishing multiple transmission paths from the second computer to the nonvolatile storage device, wherein each transmission path uses a reservation key stored in the nonvolatile storage device; and
means for allowing each transmission path to communicate with the nonvolatile storage device based upon the transmission path'"'"'s reservation key.
-
-
11. The clustered computer system as described in claim 8 wherein the means for changing the reservation further comprises:
-
means for registering a reservation key with the nonvolatile storage device; and
means for establishing a reserve of the nonvolatile storage device.
-
-
12. The clustered computer system as described in claim 11 wherein the means for registering and the means for establishing are performed in a single computer operation.
-
13. The clustered computer system as described in claim 8 wherein the reservation tool further comprises:
-
means for breaking the reservation of the first computer to the nonvolatile storage device in response to the sensing, wherein the means for breaking further comprises;
means for registering the second identifier with the nonvolatile storage device;
means for revoking the reservation between the first computer and the nonvolatile-storage device; and
means for establishing a new reserve of the nonvolatile storage device.
-
-
14. The clustered computer system as described in claim 8 wherein the reservation tool further comprises:
-
means for sending a message from the first computer to the second computer upon the first computer becoming operational after the reservation has been changed to the second computer; and
in response to the second computer receiving the message, means for changing the reservation to the nonvolatile storage device to the first computer, the changing including means for rewriting the first identifier corresponding to the first computer back to the reservation storage area.
-
-
15. The clustered computer system as described in claim 8 wherein the reservation tool further comprises:
-
means for selecting the second computer from a plurality of backup computers, the means for selecting further comprising;
means for each of the backup computers to attempt to break the reservation of the first computer to the nonvolatile storage device; and
means for each of the backup computers to attempt to establish a new reservation to the nonvolatile storage device, wherein the second computer is the first from the plurality of backup computers to successfully break the reserve of the first computer and the first to successfully establish the reservation.
-
-
16. A computer program product stored on a computer operable medium for changing a reservation to a nonvolatile storage device, said computer program product comprising:
-
means for reserving the nonvolatile storage device by a first computer, wherein the means for reserving includes means for writing a first identifier corresponding to the first computer to a reservation storage area corresponding to the nonvolatile storage device;
means for sensing, at a second computer, that the first computer is inoperative;
in response to the first computer being inoperative, means for changing the reservation to the nonvolatile storage device to the second computer, the means for changing including means for writing a second identifier corresponding to the second computer to the reservation storage area;
means for establishing one or more transmission paths from the second computer to the nonvolatile storage device, wherein each transmission path uses a reservation key stored in the nonvolatile storage device; and
means for allowing each transmission path to the communicate with the nonvolatile storage device based upon the transmission path'"'"'s reservation key. - View Dependent Claims (17, 18, 19, 20, 21, 22)
means for determining, at the first computer, that the reservation to the nonvolatile storage device has been changed to the second computer, the determination performed when the first computer becomes operational; and
means for the first computer to refrain from reserving the nonvolatile storage device in response to the determination.
-
-
18. The computer program product as described in claim 16 wherein the means for reserving further comprises:
-
means for registering a reservation key with the nonvolatile storage device; and
means for establishing a reserve of the nonvolatile storage device.
-
-
19. The computer program product as described in claim 18 wherein the means for registering and means or establishing are performed in a single computer operation.
-
20. The computer program product as described in claim 16 further comprising:
-
means for breaking the reservation of the first computer to the nonvolatile storage device in response to the sensing, wherein the means for breaking further comprises;
means for registering the second identifier with the nonvolatile storage device;
means for revoking the reservation between the first computer and the nonvolatile storage device; and
means for establishing a new reserve of the nonvolatile storage device.
-
-
21. The computer program product as described in claim 16 further comprising:
-
means for sending a message from the first computer to the second computer upon the first computer becoming operational after the reservation has been changed to the second computer; and
in response to the second computer receiving the message, means for changing the reservation to the nonvolatile storage device to the first computer, the means for changing including means for rewriting the first identifier corresponding to the first computer back to the reservation storage area.
-
-
22. The computer program product as described in claim 16 further comprising:
-
means for selecting the second computer from a plurality of backup computers, the means for selecting further comprising;
means for each of the backup computers to attempt to break the reservation of the first computer to the nonvolatile storage device; and
means for each of the backup computers to attempt to establish a new reservation to the nonvolatile storage device, wherein the second computer is the first from the plurality of backup computers to successfully break the reserve of the first computer and the first to successfully establish the reservation.
-
Specification