Configuration-less network locking infrastructure for shared file systems
First Claim
1. A method of managing locks in a shared file system (SFS) for a group of hosts, including first and second hosts, that are coupled to one or more storage arrays through a first network and to each other through a second network, comprising:
- when the first host determines that there is no host ID written in a predetermined storage location in the storage arrays, obtaining, by said first host, exclusive access to the predetermined storage location, and writing, by said first host, a host ID of the first host in the predetermined storage location to identify the first host as a server for managing locks;
at each of the other hosts including the second host, reading the predetermined storage location to obtain the host ID of the first host and communicating with the first host over the second network to obtain one or more locks to files of the SFS;
determining, by the second host, that the first server is inactive; and
responsive to the determining by the second host,overriding, by the second host, the exclusive access to the predetermined storage area obtained by the first host andwriting, by the second host, a host ID of the second host in the predetermined storage location to identify the second host as the server for managing locks.
2 Assignments
0 Petitions
Accused Products
Abstract
A network-based method for managing locks in a shared file system (SFS) for a group of hosts that does not require any configuration to identify a server for managing locks for the SFS. Each host in the group carries out the steps of checking a predetermined storage location to determine whether there is a host ID written in the predetermined location. If there is no host ID written in the predetermined location, the first host to notice this condition writes its host ID in the predetermined location to identify itself as the server for managing locks. If there is a host ID written in the predetermined location, the host ID of the server for managing locks is maintained in local memory. When the host needs to perform IO operations on a file of the SFS, it communicates with the server for managing locks over the network using the host ID of the server for managing locks to obtain a lock to the file.
13 Citations
20 Claims
-
1. A method of managing locks in a shared file system (SFS) for a group of hosts, including first and second hosts, that are coupled to one or more storage arrays through a first network and to each other through a second network, comprising:
-
when the first host determines that there is no host ID written in a predetermined storage location in the storage arrays, obtaining, by said first host, exclusive access to the predetermined storage location, and writing, by said first host, a host ID of the first host in the predetermined storage location to identify the first host as a server for managing locks; at each of the other hosts including the second host, reading the predetermined storage location to obtain the host ID of the first host and communicating with the first host over the second network to obtain one or more locks to files of the SFS; determining, by the second host, that the first server is inactive; and responsive to the determining by the second host, overriding, by the second host, the exclusive access to the predetermined storage area obtained by the first host and writing, by the second host, a host ID of the second host in the predetermined storage location to identify the second host as the server for managing locks. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. In a computer system having a group of hosts that are coupled to one or more storage arrays through a first network and to each other through a second network, wherein files stored in the storage arrays are managed using a shared file system (SFS) for the hosts, a method carried out by a host to determine an identity of a server for managing locks for the SFS, comprising:
-
checking a predetermined storage location in the storage arrays to determine whether or not there is a host ID written in the predetermined storage location; if there is no host ID written in the predetermined storage location, obtaining exclusive access to the predetermined storage location, and writing a host ID of said host in the predetermined storage location to identify said host as said server for managing locks; and if there is a host ID written in the predetermined storage location, then; determining whether said server for managing locks is inactive; if said server for managing locks is inactive, overriding an exclusive access to the predetermined storage area previously obtained by said server for managing locks and writing the host ID of said host in the predetermined storage area to identify said host as said server for managing locks; and if said server for managing locks is not inactive, storing the host ID of said server for managing locks in a local memory of said host. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A non-transient computer readable medium comprising instructions that are to be executed in a host that is part of a computer system having a group of hosts that are coupled to one or more storage arrays through a first network and to each other through a second network, wherein files stored in the storage arrays are managed using a shared file system (SFS) for the hosts, and wherein the instructions, when executed in said host, cause said host to carry out the steps of:
-
checking a predetermined storage location in the storage arrays to determine whether or not there is a host ID written in the predetermined storage location; if there is no host ID written in the predetermined storage location, obtaining exclusive access to the predetermined storage location and writing a host ID of said host in the predetermined storage location to identify said host as a server for managing locks; and if there is a host ID written in the predetermined storage location, then; determining whether said server for managing locks is inactive; if said server for managing locks is inactive, overriding an exclusive access to the predetermined storage area previously obtained by said server for managing locks and writing the host ID of said host in the predetermined storage area to identify said host as said server for managing locks; and if said server for managing locks is not inactive, storing the host ID of said server for managing locks in a local memory of said host. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification