Abstract:
The present invention relates to a method and an apparatus for data migration of a first file system in a data storage system comprising a plurality of client computers 100, a first file system managing unit 310 for managing the first file system and being connected to the plurality of client computers 100, and a second file system managing unit 410 for managing a second file system and being connected to the first file system managing unit 310, the second file system comprising a plurality of data files and the first file system comprising a plurality of external link objects, each external link object of the first file system being associated with a respective data file of the second file system for enabling client access to the respective data file of the second file system.
Abstract:
In some examples, a distributed system may include a plurality of nodes with a file stored in a file system across the plurality of nodes. One of the nodes may receive a request for location data corresponding to a part of the file. For instance, the location data may be included in a mapping file, and the request may specify an offset of the mapping file. The mapping file may include locations of nodes storing parts of the file in the file system across the plurality of nodes, and the mapping file may have a plurality of parts corresponding to the parts of the file. In response to the request, the node may access the mapping file and send location data corresponding to the offset of the mapping file. The location data may indicate at least one of the nodes storing the part of the file.
Abstract:
Apparatus for managing a plurality of root nodes may include a file server coupled to a storage device, wherein a first root node is operable to identify a previous version of an object of a file system and to relate to a plurality of data blocks forming a portion of the object, a second root node is operable to identify a current version of the object and to relate to a data block of the plurality of data blocks and a new data block of the object, and the storage device is operable to store the plurality of data blocks and the new data block. Apparatus for managing a plurality of root nodes alternatively may include a file system board operable to manage a plurality of root nodes, a first root node being operable to identify the a previous version of a file system and to relate to a plurality of data blocks of the file system, and a second root node being operable to identify the a current version of the file system and to relate to a data block of the plurality of data blocks and a new data block of the file system.
Abstract:
The apparatus comprises a plurality of interfaces, each interface having an associated interface ID; and a hardware-side processing device including at least one programmable hardware-implemented chip configured to process request packets, which are received from host computers and relate to access requests to one or more file system managed by the apparatus, and to generate response packets for the processed request packets; wherein, for a request packet which is received from a first host computer, at least one programmable hardware-implemented chip is configured to: determine the client ID being associated with the first host computer, determine the interface ID being associated with the first interface, determine whether the determined client ID and interface ID represent a permitted ID set or a prohibited ID set, and refrain from processing the received request packet if the determined client ID and interface ID represent a prohibited ID set.
Abstract:
A file cloning process allows for quickly cloning files within a filesystem, such as when a user makes a copy of a directory containing files and subdirectories of files. A priority based main queue is filled by a depth first traversal of the directory to be copied with work items corresponding to files and subdirectories. Worker threads refer to the main queue for file cloning, subdirectory copying and directory traversal. Files that have not been modified since a most recent checkpoint are cloned without issuing a checkpoint request. Files that have been modified since the most recent checkpoint are moved to a delay queue. Once a checkpoint of the file system completes, the files in the delay queue are then moved to the main queue to retry cloning thereof. A secondary queue is also provided to prevent worker threads from becoming deadlocked in the main queue.
Abstract:
Object-level replication of cloned objects from a source file system to a target file system in a data storage system maintains relationships between related objects including shared data blocks so that storage requirements in the target file system match storage requirements of the source file system. Specialized processing may be used to scan an indirection object that refers to other file system objects such that objects requiring replication can be identified on an incremental basis based on checkpoint numbers. Checkpoints in the target file system are managed so that checkpoint number requirements for replicated clone objects are enforced in the target file system.
Abstract:
A storage control system to provide file-level storage and block-level storage services. The storage control system has a computer system including a second 1/0 unit configured to receive block-level storage related requests, a processor unit, a first memory unit, and a storage unit; and a programmable logic device including a first 1/0 unit configured to receive file-level storage related requests, an interface unit configured to communicate with the computer system, one or more programmable hardware-implemented processing units and for processing of file-level storage related requests, and a second memory unit. The software components executed on the processor unit include a block-level storage management component and a virtualization management component; and a virtual machine managed by the virtualization management component executes a file-level management component to communicate with the programmable hardware-implemented processing units of the programmable logic device and to manage file-level storage services related to file-level storage related requests.
Abstract:
The apparatus includes: a hardware-side processing section including one or more programmable hardware-implemented chips configured to process request packets, which are received from host computers and relate to access requests to one or more file systems managed by the apparatus, and to generate response packets for the processed request packets; and a software-side processing section including one or more CPUs configured to execute decoding of requests packets sent from a host computer based on one or more computer programs stored in a memory of the software-side; wherein at least one programmable hardware-implemented chip of the hardware-side processing section is configured to process a credit request included in a received request packet, in particular without involvement of the hardware-side processing section.
Abstract:
A cluster system includes a plurality of computing nodes connected to a network. Each node is configured to access its own storage device, and to send and receive input/output (I/O) operations associated with its own storage device. Further, each node of the plurality of nodes may be configured to have a function of acting as a first node, which sends a first message to other nodes of the plurality of nodes. The first message may include configuration information indicative of a data placement of data on the plurality of nodes in the cluster system according to an event. Following receipt of the first message from the first node, each of the other nodes may be configured to determine, based at least in part on the configuration information, whether data stored on its own storage device is affected by the event.
Abstract:
In one aspect, the invention is directed to a method of expanding storage for filesystems in a fine-grained, scalable manner. The method includes determining, by a file server, a run bias for a span, wherein the run bias indicates a number of contiguous chunks of memory associated with an entry in an address translation table for a filesystem. The method includes receiving, by the file server, a request for an expansion of memory for the filesystem. The method includes scoring, by the chunk allocator, each stripe set in a group of stripe sets based at least in part on a number of unused chunks on the stripeset and a number of chunks on the stripeset being used by the filesystem. The method includes allocating, by the chunk allocator, a chunk on the stripeset with the highest score, wherein the allocated chunk lies outside of runs reserved for other filesystems.