摘要:
One embodiment of the present invention provides a distributed file system that is able to use direct connections between clients and disks to perform file system operations. Upon receiving a request at a client to access a file, the client performs a lookup in a local cache to determine what physical disk blocks are associated with the request. If the lookup cannot be satisfied from the local cache, the client forwards the request to a server. In response to the forwarded request, the client receives a block map for the file from the server. This block map includes location information specifying physical disk blocks containing the file. The client uses this block map to determine which physical disk blocks are involved in the request and then accesses the file directly from the disk without going through the server.
摘要:
A method to provide resiliency with a destination volume in a replication environment is disclosed. Data from a source volume, such as a primary volume or a secondary volume in a replication relationship, is migrated to the destination volume. A snapshot representing data on a source volume is generated. The replication relationship between the source volumes is broken, and a new relationship between a source volume and the destination volume is established. A delta of data between the snapshot and one of the volumes in the new relationship is generated. The delta is sent to the other of the volumes in the new relationship.
摘要:
A method is provided for a destination storage system to join a storage area network with a source storage system. The method includes discovering a volume on the source storage system when the source storage system exports the volume to the destination storage system and exporting the volume to the host computer systems. When a command to reserve the volume for a host computer system is received, the method includes determining locally if the volume is already reserved. When the volume is not already reserved, the method includes reserving locally the volume for the host computer system and transmitting to the source storage system another command to reserve the volume for the destination storage system.
摘要:
One embodiment of the present invention provides a system that facilitates assigning an identifier to a device within a distributed computing system, wherein the identifier is unique across the distributed computing system. The system operates by detecting the presence of the device within a local computer system within the distributed computing system. If an identifier has not been assigned to the device, the system assigns an identifier to the device by, attempting to retrieve the identifier from a local pool of device identifiers within the local computer system. If the local pool is empty, the system retrieves at least one additional identifier for the local pool from a global allocator for device identifiers located within the distributed computing system. Next, the system assigns the retrieved identifier to the device so that the identifier can be used to reference the device.
摘要:
A system for reducing network traffic for remote file system accesses receives requests at a local computer system for access to a file on the remote server. If the request is a read operation, and the operation is directed to an unallocated region of the file on the remote server, the system returns a block of null values to the requestor without receiving the block of null values from the remote server. Otherwise, the system sends a request to the remote server to read from the file. If the request is a write operation, and the operation is directed to an unallocated region of the file on the remote server, the system sends a request to the remote server to allocate storage for the write operation. Next, the system writes the data into a local cache. Later, the system copies the data from the cache to the remote storage.
摘要:
One embodiment of this mechanism provides a system that reduces network traffic and other system overhead for remote file append operations. This system generally operates by keeping track of file append operations on a local computer system when possible instead of always communicating with a remote file server. More specifically, the system operates by receiving a request at the local computer system to append additional data to a file residing in non-volatile storage on the remote file server. If sufficient space has been allocated to accommodate the additional data on the remote file server, the system writes the additional data to the end of a locally cached copy of the file in the local computer system. Next, the system updates a file length value stored in the local computer system to reflect the additional data. If sufficient space has not been allocated to accommodate the additional data on the remote file server, the system requests additional space to be allocated past the end of the file on the remote file server. If the request is granted, the system updates an allocated space value for the file stored on the local computer system to reflect the additional space. In one embodiment of the present invention, after the allocated space value for the file has been updated, the system writes the additional data to the end of a locally cached copy of the file in the local computer system. The system also updates the file length value stored on the local computer system to reflect the additional data.
摘要:
A method to provide resiliency with a destination volume in a replication environment is disclosed. Data from a source volume, such as a primary volume or a secondary volume in a replication relationship, is migrated to the destination volume. A snapshot representing data on a source volume is generated. The replication relationship between the source volumes is broken, and a new relationship between a source volume and the destination volume is established. A delta of data between the snapshot and one of the volumes in the new relationship is generated. The delta is sent to the other of the volumes in the new relationship.
摘要:
One embodiment of the present invention provides a system for processing a request directed to a secondary storage system. The system operates by receiving the request at an interface of the secondary storage system. This request specifies an operation to be performed on the secondary storage system, a location within the secondary storage system to which the request is directed, and an address of a target buffer located outside of the secondary storage system for holding data involved in the request. Next, the system processes the request by transferring data between the location within the secondary storage system and the target buffer located outside of the secondary storage system. If the target buffer is located within a page cache, processing the request involves communicating with the target buffer located within the page cache. If the target buffer is located within a user space of an application, processing the request involves communicating with the target buffer located within the user space without passing through the page cache.
摘要:
A system and method are disclosed for rendering devices on a cluster globally visible, wherein the cluster includes a plurality of nodes on which the devices are attached. The system establishes for each of the devices in the cluster at least one globally unique identifier enabling global access to the device. The system includes a device registrar that creates the identifiers and a global file system. The identifiers include a globally unique logical name by which users of the cluster identify the device and a globally unique physical name by which the global file system identifies the device. The registrar creates a one-to-one mapping between the logical name and the physical name for each of the devices. The system also includes a device information (dev.sub.-- info) data structure maintained by the device registrar that represents physical associations of the devices within the cluster. Each association corresponds to the physical name of a device file maintained by the global file system. The device registrar determines for an attached device a globally unique, device type (dev.sub.-- t) value; creates dev.sub.-- info data structure entry and a corresponding physical name; generates a logical name based on the dev.sub.-- t value and the physical name; and associates the dev.sub.-- t value with the device file representing the attached device. Given this framework, a user of the cluster can access any of the devices by issuing the global file system an access request identifying the device to be accessed by its logical name.
摘要:
A method for migrating data in a storage system includes generating a first set of logical disks (LDs), the LDs being mapped to physical storage space in the storage system, generating a temporary virtual volume (VV) mapped to the first set of LDs, generating a second set of LDs mapped to the temporary VV, and migrating data between the second set of LDs and a third set of LDs.