Shared filesystem metadata caching
US-2020250092-A1 · Aug 6, 2020 · US
US10936224B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-10936224-B1 |
| Application number | US-201916570963-A |
| Country | US |
| Kind code | B1 |
| Filing date | Sep 13, 2019 |
| Priority date | Sep 13, 2019 |
| Publication date | Mar 2, 2021 |
| Grant date | Mar 2, 2021 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Described herein is a system that performs cluster controller selection in a shared storage cluster. A shared storage cluster can include multiple data node devices equipped to access to a shared storage location. The data node devices can be managed by a cluster controller. Furthermore, multiple of the data node devices can be equipped to serve as the cluster controller if necessary. To ensure ongoing operation of a cluster controller, each data node device, including the current cluster controller, can periodically update the shared storage location to indicate the data node device is operational. Each data node device can furthermore perform a cluster controller selection process, and can record its cluster controller selection in the shared storage location. If the current cluster controller fails to periodically update the shared storage location, the cluster controller selection processes at the other data node devices can select a new cluster controller.
Opening claim text (preview).
What is claimed is: 1. A data node device, comprising: at least one processor; and at least one memory that stores executable instructions that, when executed by the at least one processor, facilitate performance of operations, comprising: performing repetitive accesses of a shared storage location; and during the repetitive accesses of the shared storage location, selecting a cluster controller node device from among the data node device and multiple other data node devices having access to the shared storage location, wherein the cluster controller node device administers the shared storage location; updating a cluster controller node device selection by storing, in the shared storage location, information indicating the cluster controller node device selected by the data node device, the updating resulting in an updated cluster controller node device selection; and reading multiple other updated cluster controller selections stored in the shared storage location by the multiple other data node devices to confirm the updated cluster controller node device selection of the data node device. 2. The data node device of claim 1 , wherein the shared storage location comprises a partition of a logical storage. 3. The data node device of claim 1 , wherein the performing the repetitive accesses is periodic. 4. The data node device of claim 1 , wherein a period for the performing the repetitive accesses is for about ten seconds or less. 5. The data node device of claim 1 , wherein the operations further comprise, during the repetitive accesses of the shared storage location, updating an access time indicating a time of access to the shared storage location by the data node device. 6. The data node device of claim 1 , wherein the operations further comprise, during the repetitive accesses of the shared storage location, reading access times indicating respective times of access to the shared storage location by the multiple other data node devices. 7. The data node device of claim 6 , wherein the selecting the cluster controller node device from among the data node device and the multiple other data node devices comprises selecting a new cluster controller node device in response to an access time update delay associated with a previous cluster controller node device. 8. The data node device of claim 1 , wherein the selecting the cluster controller node device from among the data node device and the multiple other data node devices comprises executing a deterministic cluster controller node device selection process. 9. The data node device of claim 1 , wherein the selecting the cluster controller node device from among the data node device and the multiple other data node devices comprises selecting a data node device associated with a highest data node priority. 10. A method, comprising: accessing, by a data node device comprising a processor, a shared storage location; updating, by the data node device, an access time of a group of access times stored in the shared memory location, resulting in an updated access time and an updated group of access times, wherein the updated access time indicates a time of access by the data node device to the shared storage location; reading, by the data node device, multiple other access times of the updated group of access times stored in the shared memory location, the multiple other access times indicating times of access by multiple other data node devices to the shared storage location, the multiple other data node devices being other than the data node device; and selecting, by the data node device, a cluster controller node device from among eligible data node devices of the data node device and the multiple other data node devices having access to the shared storage location, wherein the eligible data node devices comprise data node devices having updated access times of the updated group of access times. 11. The method of claim 10 , further comprising, in response to an update delay in the multiple other access times, performing a fencing operation, by the data node device, to block one of the multiple other data node devices from accessing the shared storage location. 12. The method of claim 10 , further comprising initiating, by the data node device, a cluster controller failover after elapse of a timeout interval applicable to a previous cluster controller access time. 13. The method of claim 10 , wherein the selecting the cluster controller node device from among the eligible data node devices having access to the shared storage location comprises selecting an eligible data node device determined to be associated with a highest data node priority. 14. The method of claim 10 , further comprising, in response to the selecting resulting in selection of the data node device as the cluster controller node device, starting a virtual machine at the data node device and enabling the virtual machine with ownership privileges of a root file system for the shared storage location. 15. A machine-readable storage medium, comprising executable instructions that, when executed by a processor, facilitate performance of operations, comprising: periodically reporting node heartbeat data for a data node device with access to a shared storage location, the node heartbeat data comprising a data node identifier, a data node heartbeat timestamp, a data node priority, and a cluster controller selection, wherein the periodically reporting comprises storing the information in the shared storage location; periodically reading stored node heartbeat data, stored in the shared storage location, the stored node heartbeat data corresponding to multiple data node devices with access to the shared storage location; and using the stored node heartbeat data to select a cluster controller node device to control usage of the shared storage location by the multiple data node devices. 16. The machine-readable storage medium of claim 15 , wherein the node heartbeat data further comprises a cluster controller eligibility flag to indicate eligibility or non-eligibility of the data node device to serve as the cluster controller node device, and a cluster controller flag to indicate whether the data node device is the cluster controller node device. 17. The machine-readable storage medium of claim 15 , wherein the using the stored node heartbeat data to select the cluster controller node device comprises determining a selected data node device with a highest data node priority from among the multiple data node devices. 18. The machine-readable storage medium of claim 17 , wherein the selecting the data node device comprises applying a deterministic rule. 19. The machine-readable storage medium of claim 15 , wherein the operations further comprise delaying, for a delay interval after startup of the data node device, the using the stored node heartbeat data to select the cluster controller node device. 20. The machine-readable storage medium of claim 15 , wherein the using the stored node heartbeat data to select the cluster controller node device comprises selecting a new cluster controller node device based on a heartbeat timestamp delay determined to be applicable to a previous cluster controller node device.
by assessing time · CPC title
where the computing system component is a storage system, e.g. DASD based or network based (digital input from or digital output to record carriers G06F3/06; digital recording or reproducing G11B20/18; for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS], H04L67/1097) · CPC title
where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems (multiprogramming arrangements G06F9/46; allocation of resources G06F9/50) · CPC title
Techniques of failing over between control units · CPC title
by exceeding a time limit, i.e. time-out, e.g. watchdogs · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.