摘要:
A method, system, application programming interface, computer system, and computer program product to provide locks for controlling access to data by nodes in a multi-node environment while minimizing messages sent between nodes. Based upon knowledge of lock usage in the multi-node environment, a multi-node knowledge agent can determine when no other node is accessing data protected by a given lock, as well as when an event has occurred that precedes a request by another node to access data protected by the given lock. When no other node is accessing data and no such event has occurred, the multi-node knowledge agent can designate that given lock as “masterless.” A lock agent on the node hosting the multi-node knowledge agent is authorized to subsequently grant access to the data protected by the masterless lock to clients on that node without communicating with a lock master, which may reside at another node.
摘要:
A method, system, computer-readable storage medium and apparatus for balanced and consistent placement of resource management responsibilities within a multi-computer environment, such as a cluster, that are both scalable and make efficient use of cluster resources are provided. Embodiments reduce the time that a cluster is unavailable due to redistribution of resource management responsibilities by reducing the amount of redistribution of those responsibilities among the surviving cluster members. Embodiments further provide redistribution of resource management responsibilities based upon relative capabilities of the remaining cluster nodes.
摘要:
A method, system, computer-readable storage medium and apparatus for balanced and consistent placement of resource management responsibilities within a multi-computer environment, such as a cluster, that are both scalable and make efficient use of cluster resources are provided. Embodiments reduce the time that a cluster is unavailable due to redistribution of resource management responsibilities by reducing the amount of redistribution of those responsibilities among the surviving cluster members. Embodiments further provide redistribution of resource management responsibilities based upon relative capabilities of the remaining cluster nodes.
摘要:
Techniques relating to data deduplication at the file system level are disclosed. A system may include a block cache configured to store data blocks indicated as being shared by multiple files. The system may be coupled to a storage configured to permanently store data for the multiple files. The computer system may receive a file request, and, upon determining that the file request includes shared data, the computer system may service the request wholly or in part using the block cache. When multiple requests including multiple file identifiers (but referring to the same underlying shared data) are received, a shared (common) file identifier may be used in looking up data for the multiple requests, reducing block cache storage, and improving block cache performance and overall system operation.
摘要:
Various methods and systems can be used to provide standard file system access to data that is originally accessed only by a proprietary interface. One such method involves querying an application (e.g., a database management system) for information identifying a location of each of several data objects within several volumes. The application provides a proprietary interface to the data objects stored on the volumes. The method then creates metadata, which associates each of several files within a new file system with the location of a respective one of the data objects within the volumes. The metadata can be created by an in-place conversion module implemented on a computing device. The method then provides the application with access to the files within the new file system, subsequent to creating the metadata.
摘要:
A method, system, computer system, and computer-readable medium to efficiently coordinate caching operations between nodes operating on the same file while allowing different regions of the file to be written concurrently. More than one program can concurrently read and write to the same file. Pages of data from the file are proactively and selectively cached and flushed on different nodes. In one embodiment, range locks are used to effectively flush and invalidate only those pages that are accessed on another node.
摘要:
A system and method for efficiently performing simultaneous access of files in a clustered file system. A cluster of nodes is coupled to a data storage medium. A first node executes a first thread with write operations for a given file. A second node executes a second thread with read operations for the given file. The first thread is appending the given file. In response, the first node requests a write lock range between an end-of-file for the given file to a highest possible endpoint. If a prediction determines the second thread may request read locks after the range it is currently reading, then the method enables the locks to be efficiently transferred from the first node to the second node before they are required on the second node, allowing the reading second node to proceed with fewer delays.
摘要:
A client without direct access to a server performs commands on files of the server's file system, wherein the file system is made available by a network file system protocol. Calls to access the file system on the server are filtered. A call is identified that is passed a parameter comprising a filename with an identifiable filename extension. The identifiable filename extension is interpreted as indicating that the identified call was made as part of an attempt to execute an operation that is overloaded with a different command. It is determined, from the identifiable filename extension, which command is to be executed instead of the operation. Once the command to be executed is determined, the filename extension is removed from the parameter, and the determined command is executed instead of the overloaded operation.
摘要:
Systems and methods for extent reference count updates are presented. In one embodiment; a reference count update method includes: receiving an indication of new reference association with an extent of a shared storage component; generating reference count update log information for a reference count update log to indicate the new reference association with an extent of a shared storage component, wherein the altering occurs inline; forwarding a successful data update indicator to initiator of activity triggering the new reference association with the extent of the shared storage component; and updating a reference count table in accordance with the information in the reference count update log, wherein the updating is included in a background process.
摘要:
Systems and methods for extent reference count updates are presented. In one embodiment; a reference count update method includes: receiving an indication of new reference association with an extent of a shared storage component; generating reference count update log information for a reference count update log to indicate the new reference association with an extent of a shared storage component, wherein the altering occurs inline; forwarding a successful data update indicator to initiator of activity triggering the new reference association with the extent of the shared storage component; and updating a reference count table in accordance with the information in the reference count update log, wherein the updating is included in a background process.