摘要:
A versioned file system comprises a set of structured data representations, such as XML. Each structured data representation corresponds to a “version,” and each version comprises a tree of write-once objects rooted at a root directory manifest. Each version in the versioned file system has associated therewith a “borrow window.” When it is desired to reconstruct the file system to a point in time (or, more generally, a given state), i.e., to perform a “restore,” it is only required to walk (use) a single structured data representation (a tree). During a restore, metadata is pulled back from the cloud first, so users can see the existence of needed files immediately. The remainder of the data is then pulled back from the cloud if/when the user goes to open the file. As a result, the entire file system (or any portion thereof) can be restored to a previous time nearly instantaneously. A “fast” restore is performed if an object being restored exists within a “borrow window” of the version from which the system is restoring. A version is pruned from the versioned file system by deleting all objects in the tree (associated with the version) that, at the time of pruning: (i) are not being lent to any other version within the borrow window of the version being pruned, and (ii) are not referenced in any other version whose borrow window is sufficiently large enough such that an object in the version could have been restored from that other version.
摘要:
Extensions to the Fragment Mapping Protocol are introduced which protect a disk array from malicious client access by exporting file system access information to the storage device. FMP requests received at the storage device can be authorized at a block granularity prior to completion, thereby limiting the exposure of the disk array to malicious clients. Client authorizations can be cached at the storage device to enable the permissions to be quickly extracted for subsequent client accesses to pre-authorized volumes.
摘要:
Managing file objects in a data storage system includes providing a plurality of metadata servers, each metadata server having information for only a subset of file objects in the storage system, each subset for each of the metadata servers being less than a total number of file objects for the system and includes providing at least one metadata location server, where an entity accessing a specific file object of the system determines which of the metadata servers contains data for the specific file object by first accessing the at least one metadata location server. Information for the subset of file objects may include a table having file identifiers and metadata location information. The metadata location information may point to data storage for a metadata object for a file.
摘要:
To permit multiple unsynchronized processors to update the file-modification time attribute of a file during concurrent asynchronous writes to the file, a primary processor having a clock manages access to metadata of the file. A number of secondary processors service client request for access to the file. Each secondary processor has a timer. When the primary processor grants a range lock upon the file to a secondary, it returns its clock time (m). Upon receipt, the secondary starts a local timer (t). When the secondary modifies the file data, it determines a file-modification time that is a function of the clock time and the timer interval, such as a sum (m+t). When the secondary receives an updated file-modification time (mp) from the primary, if mp>m+t, then the secondary updates the clock time (m) to (mp) and resets its local timer.
摘要:
A method of data sharing among multiple entities is provided. Each entity exports to a data store a structured data representation comprising a versioned file system local to that entity. The method begins by forming a sharing group that includes two or more entities. Sharing of the structured data representations by members of the sharing group is enabled. The filers use a single distributed lock to protect each version of the file system. This lock is managed to allow each filer access to the shared file system volume to create its new version. To share a fully-versioned file system, asynchronous updates at each of the filers is permitted, and each node is then allowed to “push” its individual changes to the store to form the next version of the file system. A mechanism also may be used to reduce the period during which filers in the group operate under lock.
摘要:
Accordingly a method and interface allows an attribute data base used by an Information Manager to be quickly populated and accurately maintained. A single Bulk Attribute Retrieval Request triggers the primary storage device to collect object attribute information. The method allows for selective collection of objects and attributes by providing filters and attribute lists in the Requests. The Request may be used to provide an incremental scan with appropriate time stamp filtering. In addition, the size of the results can be controlled by the IM by eliminating attributes that are not of interest to the IM. The Request is advantageously issued over a FileMover interface, which is an HTTP connection, and encoded in XML, allowing the IM to easily customize the Request as desired.
摘要:
A namespace server translates client requests for access to files referenced by pathnames in a client-server namespace into requests for access to files referenced by pathnames in a NAS network namespace. The namespace server also translates between different file access protocols. If a client supports redirection and is requesting access to a file in a file server that supports the client's redirection, then the namespace server may redirect the client to the NAS network pathname of the file. Otherwise, the namespace server forwards a translated client request to the file server, and returns a reply from the file server to the client. A file server may redirect a redirection-capable client's access back to the namespace server for access to a share, directory, or file that is offline for migration, or for a deletion or name change that would require a change in translation information in the namespace server.
摘要:
A versioned file system comprises a set of structured data representations, such as XML. Each structured data representation corresponds to a “version,” and each version comprises a tree of write-once objects rooted at a root directory manifest. Each version in the versioned file system has associated therewith a “borrow window.” When it is desired to reconstruct the file system to a point in time (or, more generally, a given state), i.e., to perform a “restore,” it is only required to walk (use) a single structured data representation (a tree). During a restore, metadata is pulled back from the cloud first, so users can see the existence of needed files immediately. The remainder of the data is then pulled back from the cloud if/when the user goes to open the file. As a result, the entire file system (or any portion thereof) can be restored to a previous time nearly instantaneously. A “fast” restore is performed if an object being restored exists within a “borrow window” of the version from which the system is restoring.
摘要:
Methods, systems, and computer program products for providing access to shared storage by a plurality of nodes are disclosed. According to one method, at a node of a plurality of nodes sharing access to a disk array, an application input/output (I/O) operation and whether sufficient space in the disk array has been mapped at the node for the I/O operation are detected. In response to detecting that sufficient space in the disk array has not been mapped at the node for the I/O operation, a map for the I/O operation including physical disk access information is requested and obtained from a server. The physical disk access information included within the map for the application I/O operation obtained from the server is used to perform the I/O operation by accessing the disk array without intervention by the server.
摘要:
An intelligent network client has the capability of accessing a first network server in accordance with a first high-level file access protocol, and responding to a redirection reply from the first network server by accessing a second network server in accordance with a second high-level file access protocol. For example, the intelligent network client can be redirected from a CIFS/DFS server to a NFS server, and from an NFSv4 server to a CIFS server. Once redirected, the intelligent network client performs a directory mounting operation so that a subsequent client access to the same directory goes directly to the second network server. For example, the first network server is a namespace server for translating pathnames in a client-server network namespace into pathnames in a NAS network namespace, and the second network server is a file server in the NAS network namespace.