Electrical computers and digital processing systems: multicomput – Master/slave computer controlling – Master accessing slave storage
Reexamination Certificate
2000-03-09
2003-09-16
Coulter, Kenneth R. (Department: 2142)
Electrical computers and digital processing systems: multicomput
Master/slave computer controlling
Master accessing slave storage
C709S200000, C709S203000, C709S220000, C709S221000, C712S015000, C713S100000, C714S006130
Reexamination Certificate
active
06622163
ABSTRACT:
TECHNICAL FIELD OF THE DISCLOSURE
The present disclosure relates in general to the field of data storage systems and, more particularly, to a system and method for managing storage resources in a clustered computing environment.
BACKGROUND OF THE DISCLOSURE
Storage area networks (SANs) often include a collection of data storage resources communicatively coupled to a plurality of nodes such as workstations and servers. In the present disclosure, the term “node” and “server” are used interchangeably, with the understanding that a “server” is one type of “node”.
Within a SAN, a server may access a data storage resource across a fabric using the Fibre Channel protocol. The Fibre Channel protocol may act as a common physical layer that allows for the transportation of multiple upper layer protocols, such as the small computer system interconnect (SCSI) protocol. In a SAN environment, the SCSI protocol may assign logical unit numbers (LUNs) to the collection of data storage resources. The LUNs may allow a server within a SAN to access specific data storage resources by referencing a SCSI LUN for a specific data storage resource.
Though a Fibre Channel storage system can offer a great deal of storage capacity, the system can also be very expensive to implement. As a result, users often seek to share the available storage provided by the system among multiple servers. Unfortunately, if a server coupled to a given SAN uses the MICROSOFT WINDOWS NT operating system, the server may attempt to take ownership of any LUN visible to the server. For example, if a particular server detects several LUNs when the server boots, it may assume each LUN is available for its use. Therefore, if multiple WINDOWS NT servers are attached to a storage pool or a collection of data storage resources, each server may attempt to take control of each LUN in the storage pool. This situation can lead to conflicts when more than one server attempts to access the same LUN.
A user seeking to solve this problem may partition or zone the available storage through filtering or through the use of miniport drivers that have LUN masking capabilities. In effect, this partitioning may prevent a server running WINDOWS NT from seeing storage capacity that is not assigned to it. This approach may be effective for stand-alone servers, but the approach has several shortcomings in a clustered computing environment.
Clustering involves the configuring of a group of independent servers so that they appear on a network as a single machine. Often, clusters are managed as a single system, share a common namespace, and are designed specifically to tolerate component failures and to support the addition or subtraction of components in a transparent manner. Unfortunately, because a cluster may have two or more servers that appear to be a single machine, the partitioning techniques mentioned above may prove an ineffective solution for avoiding conflicts when the two or more servers attempt to access the same LUN.
MICROSOFT CLUSTER SERVER (MSCS) embodies one currently available technique for arbitrating conflicts and managing ownership of storage devices in a clustered computing environment. An MSCS system may operate within a cluster that has two servers, server A, which may be in charge, and server B. In operation, server A may pass a periodic heartbeat signal to server B to let server B know that server A is “alive”. If server B does not receive a timely heartbeat from server A, server B may seek to determine whether server A is operable and/or whether server B may take ownership of any LUNs reserved for server A. Unfortunately, these MSCS system may utilize SCSI target resets during this process, and the SCSI resets may create several problems. For example, a typical SCSI reset in the MSCS system may cause all servers within a given Fibre Channel system to abort their pending input/output “I/O” processes. These aborted I/O processes may eventually be completed but not until the bus settles. This abort/wait/retry approach can have a detrimental effect on overall system performance.
In addition to this potential effect on performance, the MSCS system and its use of SCSI resets may have a detrimental effect on overall system reliability. In operation, the MSCS system may only account for one SCSI reset at a time. The inability to account for subsequent SCSI resets may lead to unexpected behavior and decrease system reliability.
SUMMARY OF THE DISCLOSURE
In accordance with the present disclosure, a system and method for managing storage resources in a clustered computing environment are disclosed that provide significant advantages over prior developed techniques. The disclosed system and method may allow for storage resource management and conflict arbitration with a reduced reliance on SCSI resets.
According to one aspect of the present disclosure, a method for managing storage resources in a clustered computing environment may include holding a reservation on a storage resource for a first node of the clustered computing environment. The node may be, for example, a server, a workstation, or any other computing device included within the cluster.
A third party process log out for the first node may be performed and the reservation held for the first node may be released. In one embodiment, the third party process log out may occur in response to a log out command sent on behalf of the first node. The third party process log out command may be sent, for example, by a second node or a Fibre Channel switch. The third party process log out command may include identification information that identifies the first node as the sender of the log out command even though the first node was not the actual sender. The identification information may include, for example, a world wide name and a source identifier assigned to the first node.
Managing storage resources in a clustered computing environment may additionally involve the zoning of a Fibre Channel storage system. A zone may group a first node with a second node and a plurality of storage resources such as hard drives and other data storage devices. In the zoned system, a second node may log itself out after a third party process log out command has been issued for a first node. After the two nodes are logged out, a loop initialization protocol (LIP) link reset may be initiated, a state change notification may be generated, and any functioning nodes may re-login.
According to another aspect of the present disclosure, a method for managing storage resources in a clustered computing environment may include receiving a reservation command that seeks to reserve a storage resource for a node within the cluster. In response to the reservation command, a SCSI persistent reserve out command with a service action of reserve may be issued to reserve the storage resource for the node. This persistent reserve may hold a clearable reservation on the storage resource. In one embodiment, the reservation may be cleared by issuing a SCSI persistent reserve out command with a service action of clear. The persistent reserve commands may allow LUN reservations to be individually released as opposed to clearing several LUN reservation at once with a SCSI reset.
According to another aspect of the present disclosure, a computer system operable to manage storage resources in a clustered computing environment may include a first node, a second node, and a resource management engine operable to log out the first node in response to a failure by the second node to receive a timely heartbeat signal from the first node. The system may also include a computer readable medium storing the resource management engine and a central processing unit communicatively coupled to the computer readable medium and operable to execute the resource management engine.
In one embodiment, the system may also include a plurality of computing platforms communicatively coupled to the first node. These computing platforms may be, for example, a collection of networked personal computers. The system may also include a Fibre Channel switch comm
Nguyen Nam V.
Tawill Ahmad H.
Baker & Botts L.L.P.
Coulter Kenneth R.
Dell Products L.P.
Nguyen Hai V.
LandOfFree
System and method for managing storage resources in a... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with System and method for managing storage resources in a..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System and method for managing storage resources in a... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3034169