IP Library Granted Patent US 8,977,888
Granted Patent B1
US 8,977,888 · App. 13/685,503 · Granted Mar 10, 2015

Supporting live migration of virtual machine components with SCSI-3 persistent reservation fencing enabled

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,977,888
App. No.
13/685,503
Granted
Mar 10, 2015
Kind
B1
Abstract

Reservation conflicts are resolved in a clustering and storage system with SCSI-3 PR fencing enabled. For each specific node, all paths to shared storage are registered with a unique key. Only registered nodes can access the shared storage, and only one reservation can exist amidst multiple registrations. A command failure with a reservation conflict resulting from an attempt to access the shared storage is detected. In response, it is determined whether the specific node is registered with its unique key. If so, it is determined that the node is not fenced off from the shared storage, and the reservation conflict is to be resolved. To do so, the node is re-registered for all paths to the shared storage with the node's unique key. The failed command is then re-started. If the node is not registered, it is determined that the node is fenced off.

Claims (69)

1. A computer implemented method for resolving reservation conflicts in a clustering and storage system comprising a plurality of nodes, wherein the clustering and storage system supports registration, persistent reservations and input/output (I/O) fencing, the method comprising the steps of:

registering, for a node of the plurality of nodes on physical devices, all paths to shared storage of the clustering and storage system, with a key unique to each of the nodes;

subsequent to live migrating of a virtual machine from a source node of the plurality of nodes to a target node of the plurality of nodes, detecting a command failure with a reservation conflict, resulting from an attempt to access the shared storage by the virtual machine from the target node rather than from the source node;

responsive to determining that the target node is registered with the shared storage with its unique key, determining that the reservation conflict has occurred as a result of the live migrating of the virtual machine;

determining whether the target node is registered with the shared storage with a unique key for the target node;

responsive to determining that the target node is registered with the shared storage with the unique key, determining that the target node is not fenced off from the shared storage;

re-registering the target node for all paths to the shared storage with the target node unique key, thereby resolving the reservation conflict; and

restarting the failed command.

2. The method of claim 1 further comprising:

multiple nodes of the plurality each registering for all paths to the shared storage of the clustering and storage system; and

the multiple registered nodes forming a membership, wherein only registered nodes are able to access the shared storage.

3. The method of claim 2 wherein:

the established membership is set to Write Exclusive Registrants Only (WERO), wherein only registered nodes are able to write to the shared storage.

4. The method of claim 2 further comprising:

establishing a reservation amongst the membership to access the shared storage, wherein only one reservation exists amidst multiple registrations.

5. The method of claim 1 further comprising:

for each one of the plurality of nodes, registering, for that node, all paths to the shared storage of the clustering and storage system, with a key unique to that node, such that each node of the plurality is registered with its own unique key for all paths to the shared storage.

6. The method of claim 1 further comprising:

storing the key unique to the node, at a clustering and storage system wide level.

7. The method of claim 1 further comprising:

subsequent to a second live migrating of a virtual machine from a second source node to a second target node of the plurality of nodes, detecting a second command failure with a reservation conflict, resulting from a second attempt to access the shared storage from the second target node;

determining whether the second target node is registered with the shared storage with a unique key;

responsive to determining that the second target node is not registered with the shared storage with the unique key, determining that the second target node is fenced off from the shared storage; and

the clustering and storage system performing default I/O fencing functionality.

8. The method of claim 1 wherein registering, for a node, all paths to shared storage of the clustering and storage system, with a key unique to the node, further comprises:

using a single key unique to the node to register the node for each of a plurality of physical storage devices underlying the shared storage.

9. The method of claim 1 further comprising:

the clustering and storage system using Small Computer System Interface 3 Persistent Reservations (SCSI-3 PR) to support registration, persistent reservations and I/O fencing.

10. The method of claim 1 wherein registering, for a specific node, all paths to shared storage of the clustering and storage system, with a key unique to the node, further comprises:

using a separate key unique to the node to register the node for each separate one of a plurality of physical storage devices underlying the shared storage.

11. The method of claim 1 further comprising:

detecting a failure of an I/O operation with a reservation conflict, resulting from an attempt to access the shared storage from the node; and

after re-registering the node for all paths to the shared storage, restarting the failed I/O operation.

12. At least one non-transitory computer readable-storage medium for resolving reservation conflicts in a clustering and storage system comprising a plurality of nodes, wherein the clustering and storage system supports registration, persistent reservations and input/output (I/O) fencing, the at least one non-transitory computer readable-storage medium storing computer executable instructions that, when loaded into computer memory and executed by at least one processor of a computing device, cause the computing device to perform the following steps:

registering, for a node of the plurality of nodes, all paths to shared storage of the clustering and storage system, with a key unique to each of the nodes;

subsequent to live migrating a virtual machine from a source node of the plurality of nodes to a target node of the plurality of nodes, detecting a command failure with a reservation conflict, resulting from an attempt to access the shared storage by the virtual machine from the target node rather than from the source node;

responsive to determining that the target node is registered with the shared storage with its unique key, determining that the reservation conflict has occurred as a result of the live migrating of the virtual machine;

determining whether the target node is registered with the shared storage with a unique key for the target node;

responsive to determining that the target node is registered with the shared storage with the unique key, determining that the target node is not fenced off from the shared storage;

re-registering the target node for all paths to the shared storage with the target node unique key, thereby resolving the reservation conflict; and

restarting the failed command.

13. The at least one non-transitory computer readable-storage medium of claim 12 further storing computer executable instructions to perform the following additional steps:

multiple nodes of the plurality each registering for all paths to the shared storage of the clustering and storage system; and

the multiple registered nodes forming a membership, wherein only registered nodes are able to access the shared storage.

14. The at least one non-transitory computer readable-storage medium of claim 13 wherein:

the established membership is set to Write Exclusive Registrants Only (WERO), wherein only registered nodes are able to write to the shared storage.

15. The at least one non-transitory computer readable-storage medium of claim 13 further storing computer executable instructions to perform the following additional step:

establishing a reservation amongst the membership to access the shared storage, wherein only one reservation exists amidst multiple registrations.

16. The at least one non-transitory computer readable-storage medium of claim 12 further storing computer executable instructions to perform the following additional step:

for each one of the plurality of nodes, registering, for that node, all paths to the shared storage of the clustering and storage system, with a key unique to that node, such that each node of the plurality is registered with its own unique key for all paths to the shared storage.

17. The at least one non-transitory computer readable-storage medium of claim 12 further storing computer executable instructions to perform the following additional step:

storing the key unique to the node, at a clustering and storage system wide level.

18. The at least one non-transitory computer readable-storage medium of claim 12 further storing computer executable instructions to perform the following additional steps:

detecting a second command failure with a reservation conflict, resulting from a second attempt to access the shared storage from the node;

responsive to detecting the second command failure, determining whether the node is registered with the shared storage with its unique key;

responsive to determining that the node is not registered with the shared storage with its unique key, determining that the node is fenced off from the shared storage; and

the clustering and storage system performing its default I/O fencing functionality.

19. The at least one non-transitory computer readable-storage medium of claim 12 further storing computer executable instructions to perform the following additional step:

the clustering and storage system using Small Computer System Interface 3 Persistent Reservations (SCSI-3 PR) to support registration, persistent reservations and I/O fencing.

20. A computer system for resolving reservation conflicts in a clustering and storage system comprising a plurality of nodes, wherein the clustering and storage system supports registration, persistent reservations and input/output (I/O) fencing, the computer system comprising:

a processor; and

a memory, comprising:

a first module to register, for a node of the plurality of nodes, all paths to shared storage of the clustering and storage system, with a key unique to each of the nodes;

a second module to, subsequent to live migrating of a virtual machine from a source node of the plurality of nodes to a target node of the plurality of nodes, detect a command failure with a reservation conflict, resulting from an attempt to access the shared storage by the virtual machine from the target node rather than from the source node;

a third module to, responsive to determining that the target node is registered with the shared storage with its unique key, determine that the reservation conflict has occurred as a result of the live migrating of the virtual machine;

a fourth module to determine whether the target node is registered with the shared storage with a unique key for the target node;

a fifth module to, responsive to determining that the target node is registered with the shared storage with the unique key, determine that the target node is not fenced off from the shared storage;

a sixth module to re-register the target node for all paths to the shared storage with the target node unique key, thereby resolving the reservation conflict; and

a seventh module to restart the failed command.

Assignments (10)
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER AND CHANGE OF NAME Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC; VERITAS TECHNOLOGIES LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038455/0752 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037697/0412 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 26, 2012
From: BAFNA, MUKESH
To: SYMANTEC CORPORATION
Reel/Frame 029350/0649 →